Inicio > hacking, herramientas > Descubriendo usuarios a través de SMTP con smtpguess

Descubriendo usuarios a través de SMTP con smtpguess

Esta semana descubrí el pentest lab de heorot.net (en los foros tenéis las descargas y algo de documentación y pistas) y decidí probarlo. Dedicaremos otro post más adelante a ver la solución que hallé al nivel 1 del reto cuando lo complete definitivamente. No es que haga falta comerse mucho el coco para superar este primer nivel -no me gusta la forma que he hallado de superar algunas partes, pero ya lo comentaremos despacio en un post futuro-, pero su desarrollo ha dado lugar a una pequeña herramienta que pongo a vuestra disposición.

Llegado un punto del reto, resulta útil e interesante tratar de obtener los usuarios existentes en el sistema objetivo a través de SMTP. Partimos de una lista de usuarios que hemos recopilado -cada uno como ha podido/querido-. El proceso de enumeración a través de SMTP es sencillo, pero tedioso, por lo que decidí que podía automatizarlo de manera sencilla en python, y así nació smtpguess. De momento smtpguess funciona en python 2.6 -debería funcionar igual en 2.5 pero no en 3.x-, requiere que el servicio SMTP esté escuchando y que el puerto en el que lo haga no esté cerrado. Lo he liberado bajo GPLv2 y está disponible para su descarga desde aquí: https://sites.google.com/site/securityetalii/

La versión actual es la 0.1 y su funcionalidad aún no es completa -falta completar el soporte SSL por ejemplo-. Por ahora permite los métodos VRFY y RCPT TO para enumerar usuarios y funciona en un sólo thread. Aquí os dejo un ejemplo de uso:


adrian@Andromeda:~$ ./smtpguess.py
Missing Parameter!
smtpguess v0.1 by Adrián Bravo
Usage: ./smtpguess.py -h  [-p ] -m  -u  [-s] [-v]
where:
-h   -- Targets hostname
-p   -- SMTP server port
-m   -- Supported enumerating modes are verify and rcpt
-u   -- Path to the file containing user names to be tested
-v   -- Verbose: Shows the server responses
-s   -- Use SSL. NOT FULLY IMPLEMENTED IN THIS VERSION

Vamos a pedirle que se conecte a localhost, dejaremos el puerto sin especificar (por defecto es el 25) y le indicaremos que utilice el método RCPT TO, ya que normalmente el método VRFY está deshabilitado por los administradores.


adrian@Andromeda:~$ ./smtpguess.py -h localhost -m rcpt -u users.txt
Trying to connect to SMTP server...
Conection established successfully
Enumerating Users...
--------------------
--> root exists!
--> lp exists!
manolito doesnt exist : (
--> syslog exists!
antoñito doesnt exist : (
--> adrian exists!

Como podéis ver, ha encontrado varios nombres de usuario :) Ahora ya tenemos parte del trabajo, encontrar credenciales para alguno y a jugar. Y ya sabéis, si tenéis cualquier duda o sugerencia, poned un comentario.

Categorías:hacking, herramientas Etiquetas: , , ,
  1. Aún no hay comentarios.
  1. Aún no hay trackbacks

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.