
Una versión de nueva generación de enum4linux (una herramienta de enumeración de Windows/Samba) con características adicionales como exportación a JSON/YAML. Diseñada para profesionales de seguridad y jugadores de CTF.
Una versión de nueva generación de enum4linux
enum4linux-ng.py es una reescritura de enum4linux.pl de Mark Lowe (anteriormente Portcullis Labs, ahora Cisco CX Security Labs), una herramienta para enumerar información de sistemas Windows y Samba, destinada a profesionales de seguridad y jugadores de CTF. La herramienta es principalmente un envoltorio alrededor de las herramientas de Samba nmblookup, net, rpcclient y smbclient.
La hice con fines educativos para mí mismo y para solucionar problemas con enum4linux.pl. Tiene la misma funcionalidad que la herramienta original (aunque hace algunas cosas de manera diferente). A diferencia de la herramienta original, analiza toda la salida de las herramientas de Samba y permite exportar todos los hallazgos como un archivo YAML o JSON. La idea detrás de esto es permitir que otras herramientas importen los hallazgos y los procesen posteriormente. Está previsto agregar nuevas funciones en el futuro.
Algunas cosas se implementan de manera diferente en comparación con el enum4linux original. Estas son las diferencias importantes:
-Gm-A) pero se puede habilitar con -R-A en lugar de -a)Me gustaría agradecer y dar crédito a las personas de lo que antes era Portcullis Labs (ahora Cisco CX Security Labs), en particular:
Además, me gustaría agradecer y dar crédito a:
¡Fue muy divertido leer su código! :)
Por último, pero no menos importante, me gustaría agradecer a las diversas personas que contribuyeron con código, reportaron problemas y brindaron sugerencias útiles sobre cómo mejorar la herramienta.
Si usas la herramienta: no la uses con fines ilegales.
Un ejemplo de ejecución podría verse así:
enum4linux-ng.py -As <objetivo> -oY out
Esto demuestra una ejecución contra una instalación estándar de Windows Server 2012 R2. Se utiliza el siguiente comando:
enum4linux-ng.py 192.168.125.131 -u Tester -p 'Start123!' -oY out
Se creó un usuario 'Tester' con contraseña 'Start123!'. Se permitió el acceso al firewall. Una vez que finaliza la enumeración, desplazo hacia arriba para que los resultados sean más claros. Dado que no se especifica otra opción de enumeración, la herramienta asumirá -A, que se comporta de manera similar a la opción -a de enum4linux. Se pasan el usuario y la contraseña. La opción -oY exportará todos los datos enumerados como un archivo YAML para su posterior procesamiento en out.yaml. La herramienta detecta automáticamente al principio que LDAP no se está ejecutando en el host remoto. Por lo tanto, omitirá cualquier verificación LDAP adicional que normalmente formaría parte de la enumeración predeterminada.

La segunda demo muestra una ejecución contra Metasploitable 2. Se utiliza el siguiente comando:
enum4linux-ng.py 192.168.125.145 -A -C
Esta vez se utilizan las opciones -A y -C. Mientras que la primera se comporta de manera similar a la opción -a de enum4linux, la segunda habilitará la enumeración de servicios. Esta vez no se proporcionaron credenciales. La herramienta detecta automáticamente que necesita usar SMBv1. No se escribe ningún archivo YAML o JSON. Nuevamente, desplazo hacia arriba para que los resultados sean más claros.

usage: enum4linux-ng.py [-h] [-A] [-As] [-U] [-G] [-Gm] [-S] [-C] [-P] [-O] [-L] [-I] [-R [BULK_SIZE]] [-N] [-w DOMAIN] [-u USER]
[-p PW | -K TICKET_FILE | -H NTHASH] [--local-auth] [-d] [-k USERS] [-r RANGES] [-s SHARES_FILE] [-t TIMEOUT] [-v] [--keep]
[-oJ OUT_JSON_FILE | -oY OUT_YAML_FILE | -oA OUT_FILE]
host
This tool is a rewrite of Mark Lowe's enum4linux.pl, a tool for enumerating information from Windows and Samba systems. It is mainly a wrapper around the Samba
tools nmblookup, net, rpcclient and smbclient. Other than the original tool it allows to export enumeration results as YAML or JSON file, so that it can be
further processed with other tools. The tool tries to do a 'smart' enumeration. It first checks whether SMB or LDAP is accessible on the target. Depending on the
result of this check, it will dynamically skip checks (e.g. LDAP checks if LDAP is not running). If SMB is accessible, it will always check whether a session can
be set up or not. If no session can be set up, the tool will stop enumeration. The enumeration process can be interupted with CTRL+C. If the options -oJ or -oY
are provided, the tool will write out the current enumeration state to the JSON or YAML file, once it receives SIGINT triggered by CTRL+C. The tool was made for
security professionals and CTF players. Illegal use is prohibited.
positional arguments:
host