Una vez identificada la información correspondiente al mapa de red, aplicaciones y servicios disponibles en el sistema objetivo. Podemos comenzar con la recolección de información sensible o de interés para posibles ataques.

Se hace necesario realizar varios tipos de test; entre ellos un escaneo de directorios y archivos (árbol de directorios del aplicativo web), pruebas de conexión a los diferentes servicios, etc. Todos estos procedimientos son detallados en las metodologías ISSAF y OSSTMM.

Más importante aun es analizar en detalle el aplicativo web y la información que suministran. Para ello incluiré varios mensajes generados a través de la lista de discusión del Proyecto Sec-Track.

Fernando Quintero:

En la página aparecen los nombres y apellidos de personas, algo importante a identificar es que existe un patrón de creación de cuentas de correo, que consite en el apellido y la primera letra del nombre, esto en un caso real nos da la posibilidad de generar una lista de posibles usuarios a  fuerza bruta, buscando en un directorio nacional los apellidos mas comunes y luego haciendo fuerza bruta con la primera letra de los nombres de usuario:

sanchez
cortes
pelaez
murcia
etc,

Luego se combinarían con letras como a, b, c, d, e, f, g, produciendo:

sancheza
sanchezb
sanchezc
murciad XD

Hay algo interesante y es que varios usuarios aparecen con el título de sysadmins, lo que nos hace pensar que son los encargados de la red, y si pensamos en cual es la forma de mantener un servidor web que esta en un hosting, sabemos que debemos usar protocolos de transferencia de archivos, como ftp, scp, sftp, etc. De ahí concluimos que estos usuarios sysadmins deben tener acceso a estos servicios, creo que esta es la deducción que se hace para poder intentar un ataque de fuerza bruta con los usuarios.

Si se logra entrar a la máquina con un usuario sysadmin, podemos pensar en que ese usuario tiene alguna forma de escalar privilegios para poder administrar el sistema, entonces sería un objetivo primario.

Se observa que el servicio FTP esta cerrado, por alguna razón, o no está cerrado, esta filtrado, esto nos lleva a pensar que hay algo que se puede transferir por ftp, pero no es tan fácil hacerlo, porque existe algun método de protección, pero es la pista para  que unavez estemos adentro buscar cosas relacionadas con el FTP.

Yo sugerí que además de esto podría generarse dicho listado de usuarios realizando combinaciones de primera/s letras de nombre con apellido. Por lo tanto obtendríamos un listado bastante amplio de usuarios. Por ejemplo (primera letra de nombre+apellido / primeras dos letras de nombre+apellido / nombre / apellido:

admin
adam
adams
adamsa
bob
banter
banterb
chad
coffee
coffeec
aadams
bbanter
ccoffee
adadams
bobanter
chcoffee
etc…

Continúo sugiriendo lo siguiente:

Si obtamos en este momento por un ataque de fuerza bruta a alguno de  los servicios disponibles (por ejemplo ssh) nos arriesgamos a ocupar un periodo de tiempo considerable.

¿Cómo optimizar este tiempo?

Enumeración de usuarios por medio del servicio SMTP.

Este sería de la siguiente manera:

Usando el comando VRFY (No sirve)
220 slax.example.net ESMTP Sendmail 8.13.7/8.13.7; Sat, 7 Nov 2009
20:29:11 GMT
HELO
501 5.0.0 HELO requires domain address
HELO x
250 slax.example.net Hello [192.168.1.2], pleased to meet you
VRFY root
252 2.5.2 Cannot VRFY user; try RCPT to attempt delivery (or try
finger)

—-

Usando el comando RCPT TO (Si sirve (Y))

220 slax.example.net ESMTP Sendmail 8.13.7/8.13.7; Sat, 7 Nov 2009
20:34:53 GMT
HELO
501 5.0.0 HELO requires domain address
HELO x
250 slax.example.net Hello [192.168.1.2], pleased to meet you
MAIL FROM:r@slax.example.net
250 2.1.0 r@slax.example.net… Sender ok
RCPT TO:root
250 2.1.5 root… Recipient ok
RCPT TO:admin
550 5.1.1 admin… User unknown
RCPT TO:adam
550 5.1.1 adam… User unknown
RCPT TO:adams
550 5.1.1 adams… User unknown
RCPT TO:bob
550 5.1.1 bob… User unknown
RCPT TO:banter
550 5.1.1 banter… User unknown
RCPT TO:chad
550 5.1.1 chad… User unknown
RCPT TO:coffee
550 5.1.1 coffee… User unknown
RCPT TO:coffec
550 5.1.1 coffec… User unknown
RCPT TO:aadams
250 2.1.5 aadams… Recipient ok
RCPT TO:bbanter
250 2.1.5 bbanter… Recipient ok
RCPT TO:ccoffee
250 2.1.5 ccoffee… Recipient ok
RCPT TO:adadams
550 5.1.1 adadams… User unknown
RCPT TO:bobanter
550 5.1.1 bobanter… User unknown
RCPT TO:chcoffee
550 5.1.1 chcoffee… User unknown

De esta manera obtenemos exactamente los usuarios válidos en el  sistema y no ocupamos un tiempo exagerado tratando de autenticar un  usuario que no existe en el sistema.

Usuarios válidos:
root
aadams
bbanter
ccoffee

Una herramienta que puede automatizar este proceso de enumeración de usuarios por medio del servicio SMTP es la siguiente:

http://pentestmonkey.net/tools/smtp-user-enum/

Para realizar los ataques de fuerza bruta, pueden utilizar los siguientes recursos:

Laboratorios: Hacking – Técnicas y contramedidas – Ataques por fuerza bruta (Brute Force) VI

Laboratorios: Hacking – Técnicas y contramedidas – Ataques por fuerza bruta (Brute Force) V

Desarrollo del Laboratorio Virtual – Test de Penetración – System Hacking

Hasta aquí esta segunda parte… En el próximo post veremos el método de escalada de privilegios y recolección de información crítica en el sistema sugerida por Fernando Quintero.

Comments are closed.