Enum4Linux/Enum4Linux-ng
Enum4linux es una herramienta escrita en Perl diseñada para automatizar la recolección de información de sistemas Windows mediante el protocolo SMB (Server Message Block). Opera principalmente sobre los puertos 139 y 445, y permite interactuar con servicios compartidos, sesiones activas, usuarios del sistema y configuraciones de seguridad, utilizando una combinación de comandos de rpcclient, net y otros binarios de Samba. Su propósito es facilitar la enumeración de información útil sin necesidad de autenticación previa, aunque también puede funcionar con credenciales válidas si se proporcionan.
La herramienta es especialmente útil en fases de reconocimiento y post-explotación dentro de entornos Active Directory, ya que permite extraer una amplia variedad de datos de los sistemas objetivos. Algunas de sus funcionalidades más destacadas incluyen la enumeración de usuarios, grupos, políticas de contraseñas, sesiones activas, recursos compartidos, y listas de control de acceso (ACLs). También implementa el llamado RID cycling, una técnica de fuerza bruta sobre identificadores relativos (RID) que permite descubrir usuarios válidos del dominio, incluso cuando el acceso anónimo está restringido a ciertas funciones.
Enum4linux resulta particularmente eficaz cuando el objetivo permite conexiones anónimas a su servicio SMB o no implementa restricciones avanzadas de seguridad. Aunque ya no se encuentra en desarrollo activo, sigue siendo una herramienta valiosa en escenarios de pentesting contra servidores Windows mal configurados o legados. Para auditorías más modernas y robustas, se suele complementar con herramientas como CrackMapExec, rpcclient o smbmap, que ofrecen mayor control sobre sesiones autenticadas y explotación de servicios SMB.
Funcionalidades principales de enum4linux
:
enum4linux
:Enumeración de usuarios:
Lista los usuarios locales y de dominio en el servidor objetivo.
Enumeración de grupos:
Identifica los grupos locales y de dominio, y muestra los miembros de estos grupos.
Listar recursos compartidos:
Muestra los recursos compartidos (shares) en el servidor, tanto públicos como privados.
Políticas de contraseña:
Extrae información sobre las políticas de contraseña del dominio, como la longitud mínima de las contraseñas y la frecuencia con la que deben cambiarse.
Información de NetBIOS:
Recoge información sobre los nombres NetBIOS y otros datos relacionados con la red.
Enumeración de sistemas operativos:
Detecta la versión del sistema operativo que está ejecutando el servidor objetivo.
Extracción de información de la lista de control de acceso (ACL):
Obtiene información sobre las listas de control de acceso para diferentes recursos.
Recolección de información de dominio:
Recopila información sobre el dominio al que pertenece el servidor, incluyendo el controlador de dominio y la estructura del Active Directory.
Comandos basico:
Algunas opciones comunes incluyen:
-U
: Enumera los usuarios.-G
: Enumera los grupos.-S
: Enumera los recursos compartidos.-a
: Realiza todas las enumeraciones posibles
enum4linux-ng es una reimplementación moderna de la herramienta original, escrita en Python. “ng” significa “next generation”. Esta versión fue creada para ser más robusta, modular y mantenible. Algunas diferencias clave:
Lenguaje y estructura: está escrita en Python en vez de Perl, lo cual facilita su mantenimiento y ampliación.
Mejor manejo de errores y excepciones.
Soporte más claro de autenticación y formato de salida.
Mayor modularidad y documentación en su código.
Output más organizado, útil para análisis posteriores o automatización.
Last updated