Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
enum4linux-ng — 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. | Kitploit
Herramientas/GitHubGitHub/cddmp/enum4linux-ng
ReconocimientoRecopilación de InformaciónSeguridad de RedesCTFPruebas de Penetración
GitHubcddmp/enum4linux-ng

enum4linux-ng

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.

Ver Repositorio
1.6k1527hace 6 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

enum4linux-ng

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.

Características

  • soporte para exportación en YAML y JSON
  • salida de consola coloreada (se puede desactivar mediante NO_COLOR)
  • ldapsearch y polenum están implementados de forma nativa
  • soporte para múltiples métodos de autenticación
  • soporte para conexiones SMBv1 heredadas
  • detección automática de soporte de firma IPC
  • enumeración 'inteligente' que deshabilitará automáticamente pruebas que de otro modo fallarían
  • soporte de tiempo de espera
  • comprobaciones de dialectos SMB
  • soporte IPv6 (experimental)

Diferencias

Algunas cosas se implementan de manera diferente en comparación con el enum4linux original. Estas son las diferencias importantes:

  • los miembros del grupo no se enumeran por defecto, esto se puede habilitar con -Gm
  • el ciclo RID no forma parte de la enumeración predeterminada (-A) pero se puede habilitar con -R
  • el ciclo RID se puede lograr más rápidamente agrupando múltiples búsquedas SID en la misma llamada rpcclient
  • la nomenclatura de parámetros es ligeramente diferente (por ejemplo, -A en lugar de -a)

Créditos

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:

  • Mark Lowe por crear el original 'enum4linux.pl' (https://github.com/CiscoCXSecurity/enum4linux)
  • Richard 'deanx' Dean por crear el original 'polenum' (https://labs.portcullis.co.uk/tools/polenum/)

Además, me gustaría agradecer y dar crédito a:

  • Craig 'Wh1t3Fox' West por su bifurcación de 'polenum' (https://github.com/Wh1t3Fox/polenum)

¡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.

Nota legal

Si usas la herramienta: no la uses con fines ilegales.

Ejecución

Un ejemplo de ejecución podría verse así:

root@kitploit:~
enum4linux-ng.py -As <objetivo> -oY out

Demo

Windows Server 2012 R2

Esto demuestra una ejecución contra una instalación estándar de Windows Server 2012 R2. Se utiliza el siguiente comando:

root@kitploit:~
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.

Demo

Metasploitable 2

La segunda demo muestra una ejecución contra Metasploitable 2. Se utiliza el siguiente comando:

root@kitploit:~
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.

Demo

Uso

root@kitploit:~
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

options:
  -h, --help         show this help message and exit
  -A                 Do all simple enumeration including nmblookup (-U -G -S -P -O -N -I -L). This option is enabled if you don't provide any other option.
  -As                Do all simple short enumeration without NetBIOS names lookup (-U -G -S -P -O -I -L)
  -U                 Get users via RPC
  -G                 Get groups via RPC
  -Gm                Get groups with group members via RPC
  -S                 Get shares via RPC
  -C                 Get services via RPC
  -P                 Get password policy information via RPC
  -O                 Get OS information via RPC
  -L                 Get additional domain info via LDAP/LDAPS (for DCs only)
  -I                 Get printer information via RPC
  -R [BULK_SIZE]     Enumerate users via RID cycling. Optionally, specifies lookup request size.
  -N                 Do an NetBIOS names lookup (similar to nbtstat) and try to retrieve workgroup from output
  -w DOMAIN          Specify workgroup/domain manually (usually found automatically)
  -u USER            Specify username to use (default "")
  -p PW              Specify password to use (default "")
  -K TICKET_FILE     Try to authenticate with Kerberos, only useful in Active Directory environment (Note: DNS must be setup correctly for this option to work)
  -H NTHASH          Try to authenticate with hash
  --local-auth       Authenticate locally to target
  -d                 Get detailed information for users and groups, applies to -U, -G and -R
  -k USERS           User(s) that exists on remote system (default: administrator,guest,krbtgt,domain admins,root,bin,none). Used to get sid with "lookupsids"
  -r RANGES          RID ranges to enumerate (default: 500-550,1000-1050)
  -s SHARES_FILE     Brute force guessing for shares
  -t TIMEOUT         Sets connection timeout in seconds (default: 10s)
  -v                 Verbose, show full samba tools commands being run (net, rpcclient, etc.)
  --keep             Don't delete the Samba configuration file created during tool run after enumeration (useful with -v)
  -oJ OUT_JSON_FILE  Writes output to JSON file (extension is added automatically)
  -oY OUT_YAML_FILE  Writes output to YAML file (extension is added automatically)
  -oA OUT_FILE       Writes output to YAML and JSON file (extensions are added automatically)

Instalación

Hay múltiples formas de instalar la herramienta. Ya sea que la herramienta venga como un paquete con su distribución Linux o necesite realizar una instalación manual.

Kali Linux

root@kitploit:~
apt install enum4linux-ng 

Archstrike

root@kitploit:~
pacman -S enum4linux-ng

NixOS

(probado en NixOS 20.9)

root@kitploit:~
nix-env -iA nixos.enum4linux-ng

Instalación manual

Si su distribución Linux no ofrece un paquete, se pueden utilizar los siguientes métodos de instalación manual en su lugar.

Dependencias

La herramienta utiliza las herramientas cliente de samba, a saber:

  • nmblookup
  • net
  • rpcclient
  • smbclient

Estas deberían estar disponibles para todas las distribuciones Linux. El paquete normalmente se llama smbclient, samba-client o algo similar.

Además, necesitará los siguientes paquetes de Python:

  • ldap3
  • PyYaml
  • impacket

Para un procesamiento más rápido de YAML (opcional) también instale (debería venir como dependencia de PyYaml para la mayoría de las distribuciones Linux):

  • LibYAML

A continuación se enumeran algunos ejemplos de instalaciones para distribuciones Linux específicas. Alternativamente, son posibles métodos independientes de la distribución (python pip, entorno virtual python y Docker).

Específico de distribución Linux

Para todos los ejemplos de distribución a continuación, LibYAML ya es una dependencia del paquete PyYaml correspondiente y, por lo tanto, se instalará automáticamente.

ArchLinux

root@kitploit:~
pacman -S smbclient python-ldap3 python-yaml impacket

Fedora/CentOS/RHEL

(probado en Fedora Workstation 31)

root@kitploit:~
dnf install samba-common-tools samba-client python3-ldap3 python3-pyyaml python3-impacket

Debian/Ubuntu/Linux Mint

(Para Ubuntu 18.04 o inferior, use la variante Docker o entorno virtual Python)

root@kitploit:~
apt install smbclient python3-ldap3 python3-yaml python3-impacket

Independiente de distribución Linux

Python pip

Dependiendo de la distribución Linux, se necesita pip3 o pip:

root@kitploit:~
pip install pyyaml ldap3 impacket

Alternativa:

root@kitploit:~
pip install -r requirements.txt

Recuerde que aún necesita instalar las herramientas de samba como se mencionó anteriormente.

Entorno virtual Python

root@kitploit:~
git clone https://github.com/cddmp/enum4linux-ng
cd enum4linux-ng
python3 -m venv venv
source venv/bin/activate
pip install wheel
pip install -r requirements.txt

Luego ejecute mediante:

root@kitploit:~
python3 enum4linux-ng.py -As <objetivo>

Recuerde que aún necesita instalar las herramientas de samba como se mencionó anteriormente. Además, asegúrese de ejecutar source venv/bin/activate cada vez que abra una nueva terminal. De lo contrario, se utilizará el intérprete de Python incorrecto con las bibliotecas incorrectas (el de su sistema en lugar del del entorno virtual).

Docker

root@kitploit:~
git clone https://github.com/cddmp/enum4linux-ng
cd enum4linux-ng
docker build . --tag enum4linux-ng

Una vez finalizado, un ejemplo de ejecución podría verse así:

root@kitploit:~
docker run -t enum4linux-ng -As <objetivo>

Contribución y soporte

Ocasionalmente, la herramienta escupirá mensajes de error como este:

Could not <some text here>, please open a GitHub issue

En ese caso, vuelva a ejecutar la herramienta con las opciones -v y --keep. Esto le permitirá ver el comando exacto que causó el mensaje de error. Copie ese comando, ejecútelo en su terminal y redirija la salida a un archivo. Luego abra un issue en GitHub aquí, pegando el comando y adjuntando el archivo de salida del error. Eso ayuda a depurar el problema. Por supuesto, puede depurarlo usted mismo y hacer un pull request.

Si la herramienta le resulta útil, me alegrará que deje una estrella.

Descargar herramienta