Enum4linux: Enumeración de sistemas Windows y Samba
En auditorías de seguridad y pruebas de penetración, conocer usuarios, grupos y configuraciones de un sistema Windows o Samba antes de atacarlo es fundamental. Enum4linux es una herramienta que automatiza esta fase de reconocimiento, apoyándose en el protocolo SMB para extraer información valiosa con un solo comando.
¿Qué es Enum4linux? 🔎
Enum4linux es un script que permite:
✔ Enumerar usuarios y grupos del dominio o equipo local.
✔ Listar recursos compartidos disponibles.
✔ Obtener la política de contraseñas configurada.
✔ Identificar el sistema operativo y el nombre del equipo (hostname).
✔ Realizar RID cycling para descubrir cuentas incluso cuando la enumeración directa está restringida.
Internamente, funciona como una capa que organiza y combina las salidas de herramientas como smbclient, rpcclient, net y nmblookup, presentando los resultados de forma mucho más legible que ejecutarlas por separado.
Instalación de Enum4linux ⚙️
En distribuciones orientadas a pentesting, como Kali Linux o Parrot OS, Enum4linux viene preinstalado. Si necesitas instalarlo manualmente:
sudo apt install enum4linux
Para verificar la instalación:
enum4linux -h
Uso básico de Enum4linux 🔍
🔹 Enumeración completa
La forma más rápida de obtener una visión general del objetivo:
enum4linux -a 192.168.1.100
🔹 Enumeración de usuarios
enum4linux -U 192.168.1.100
🔹 Enumeración de grupos
enum4linux -G 192.168.1.100
🔹 Enumeración de recursos compartidos
enum4linux -S 192.168.1.100
🔹 Política de contraseñas
enum4linux -P 192.168.1.100
🔹 Información del sistema operativo
enum4linux -o 192.168.1.100
Tabla de parámetros principales 📋
| Parámetro | Descripción |
|---|---|
-U | Lista de usuarios. |
-G | Lista de grupos y sus miembros. |
-S | Recursos compartidos disponibles. |
-P | Política de contraseñas. |
-o | Información del sistema operativo. |
-i | Información de impresoras compartidas. |
-r | RID cycling para enumerar cuentas por fuerza bruta de SID. |
-a | Enumeración básica completa (equivalente a combinar varios parámetros). |
-u | Usuario para autenticación. |
-p | Contraseña para autenticación. |
Enumeración avanzada: RID Cycling 🚀
Cuando la enumeración directa de usuarios está deshabilitada, Enum4linux puede intentar descubrir cuentas válidas probando distintos RID (identificadores relativos) sobre el SID del dominio:
enum4linux -r -R 500-550 192.168.1.100
🔹 Autenticación con credenciales
Si ya cuentas con un usuario válido, puedes ampliar el alcance de la enumeración:
enum4linux -u usuario -p contraseña -a 192.168.1.100
Enum4linux-ng: una alternativa moderna 🆕
enum4linux-ng es una reescritura en Python del proyecto original, pensada para integrarse fácilmente en otras herramientas y flujos de trabajo automatizados:
enum4linux-ng -A 192.168.1.100 -oJ resultado
Exportación de resultados 📄
Puedes guardar la salida de Enum4linux en un archivo para revisarla más tarde:
enum4linux -a 192.168.1.100 > enum4linux_resultados.txt
Para extraer rápidamente la información de usuarios encontrados:
grep -i "user:" enum4linux_resultados.txt
Esto filtrará únicamente las líneas relacionadas con cuentas detectadas.
Desafío para ti 🎯
Utiliza Enum4linux para realizar una enumeración completa sobre una máquina de prueba y extrae al menos los usuarios y recursos compartidos disponibles:
enum4linux -a 192.168.1.100