5 minuto(s) de lectura

Cyberseguridad

Conceptos básicos

enum4linux
  • Es una herramienta de enumeración de servicios Windows/Samba desde sistemas Linux.

  • Se usa mucho en auditorías de seguridad para obtener información de máquinas Windows sin autenticación o con credenciales débiles.

  • Permite obtener información como usuarios, grupos, shares, políticas de contraseñas, etc.

Opciones de enum4linux

-U → Enumera usuarios del sistema objetivo:

Lista de cuentas de usuario

Permisos de acceso

Nombres de usuario válidos

Información de cuentas

-S → Enumera shares (recursos compartidos):

Carpetas compartidas en red

Permisos de acceso

Recursos SMB/Samba disponibles

Ejemplo de uso

enum4linux -a <IP-del-objetivo>
  • El parámetro -a activa todas las opciones de enumeración disponibles, proporcionando una gran cantidad de información sobre el objetivo.

  • Script básico de enumeración con enum4linux para enumeración de puertos con enum4linux y lo guardamos como recon.sh:
#!/bin/bash
# Verify that nmap and enum4linux are installed.
command -v nmap >/dev/null 2>&1 || { echo "nmap is not installed"; exit 1; }
command -v enum4linux >/dev/null 2>&1 || { echo "enum4linux is not installed"; exit 1; }

# Validate IP format
if [[ ! "$1" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
    echo "Invalid IP format"
    exit 1
fi

# Check if IP of target is entered
if [ -z "$1" ]
then
    echo "Correct usage is ./recon.sh <IP>"
    exit 1 # output with error (error generico)
else
    echo "Target IP $1"
    echo "Running Nmap..."
# Run Nmap scan on target and save results to file
    nmap -sV $1 > scan_results.txt
    echo "Scan compete. Results saved to scan_results.txt"
fi

# If the Samba port 445 is found and open , run enum4Linux
if grep 445 scan_results.txt | grep -iq open
then
    echo "Samba found. Enumeration started..."
    enum4linux -U -S $1 >> scan_results.txt
    echo "Enumeration complete."
    echo "Results added to scan_results.txt"
    echo "To view the results, cat the file"
else
    echo "Open SMB share ports not found"
fi
  • Después de guardarlo y le damos permisos de ejecución con chmod +x recon.sh, este script realizará un escaneo de puertos con Nmap y si encuentra el puerto 445 abierto, ejecutará enum4linux para enumerar información relacionada con Samba.

    Los resultados se guardarán en un archivo llamado scan_results.txt.

  • Este script realiza un escaneo de puertos con Nmap y si encuentra el puerto 445 abierto, ejecuta enum4linux para enumerar información relacionada con Samba.


  • Ejecutamos el script con la IP del objetivo , en este caso estamos utilizando una máquina vulnerable creada con Docker con la IP 10.6.6.23
# ./recon.sh <IP-del-objetivo>
./recon.sh 10.6.6.23
  • Realizamos un cat del archivo scan_results.txt para ver los resultados obtenidos por el script:
cat scan_results.txt
  • Nos aparece la información obtenida por el script , entre la información obtenida podemos ver que el puerto 445 está abierto y que el servicio Samba está corriendo en la máquina objetivo.
 Starting Nmap 7.94 ( https://nmap.org ) at 2026-03-04 17:10 UTC
Nmap scan report for gravemind.vm (10.6.6.23)
Host is up (0.00017s latency).
Not shown: 994 closed tcp ports (conn-refused)
PORT    STATE SERVICE     VERSION
21/tcp  open  ftp         vsftpd 3.0.3
22/tcp  open  ssh         OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
53/tcp  open  domain      ISC BIND 9.11.5-P4-5.1+deb10u5 (Debian Linux)
80/tcp  open  http        nginx 1.14.2
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
Service Info: Host: GRAVEMIND; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.41 seconds
Starting enum4linux v0.9.1 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Wed Mar  4 17:11:09 2026

 =========================================( Target Information )=========================================
Target ...........                                                                                    
RID Range ........ 500-550,1000-1050
Username ......... ''
Password ......... ''
Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none

 =============================( Enumerating Workgroup/Domain on 10.6.6.23 )=============================
[E] Can't find workgroup/domain                                                               
 =====================================( Session Check on 10.6.6.23 )=====================================
[+] Server 10.6.6.23 allows sessions using username '', password ''
 ==================================( Getting domain SID for 10.6.6.23 )==================================
 Domain Name: WORKGROUP
 Domain Sid: (NULL SID)
[+] Can't determine if host is part of domain or part of a workgroup
 =========================================( Users on 10.6.6.23 )=========================================

index: 0x1 RID: 0x3e8 acb: 0x00000015 Account: masterchief      Name:   Desc:                                                                                                                                                               
index: 0x2 RID: 0x3e9 acb: 0x00000015 Account: arbiter  Name:   Desc: 

user:[masterchief] rid:[0x3e8]
user:[arbiter] rid:[0x3e9]
===================================( Share Enumeration on 10.6.6.23 )===================================                                                                                                   
        Sharename       Type      Comment
        ---------       ----      -------
        homes           Disk      All home directories
        workfiles       Disk      Confidential Workfiles
        print$          Disk      Printer Drivers
        IPC$            IPC       IPC Service (Samba 4.9.5-Debian)
Reconnecting with SMB1 for workgroup listing.

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
[E] Can't understand response:

tree connect failed: NT_STATUS_BAD_NETWORK_NAME

//10.6.6.23/homes       Mapping: N/A Listing: N/A Writing: N/A
//10.6.6.23/workfiles   Mapping: OK Listing: OK Writing: N/A
//10.6.6.23/print$      Mapping: OK Listing: OK Writing: N/A

[E] Can't understand response:
NT_STATUS_OBJECT_NAME_NOT_FOUND listing \*                                               
//10.6.6.23/IPC$        Mapping: N/A Listing: N/A Writing: N/A
enum4linux complete on Wed Mar  4 17:11:20 2026

Dirección IP del objetivo:

   10.6.6.11
   10.6.6.12
   10.6.6.13
   10.6.6.14
   10.6.6.23
  172.17.0.2
  • Ejecutamos el comando container para ver los contenedores que tenemos corriendo en Docker y copiamos todas las direcciones IP de los contenedores para guardarlas en un archivo llamado hosts.txt y luego ejecutar el comando nmap para hacer un escaneo de ping a todas las direcciones IP que tenemos en el archivo hosts.txt para ver cuáles están activas.
nmap -sn -iL hosts.txt
  • -sn

    Ping scan (solo detecta si el host está activo, NO escanea puertos)

  • -iL <archivo.txt> como por ejemplo hosts.txt

    Lee la lista de IPs desde el archivo hosts.txt

(kali㉿Kali)-[~]
└─$ sudo nmap -sn -iL to_scan.txt 
Starting Nmap 7.94 ( https://nmap.org ) at 2026-03-04 17:58 UTC
Nmap scan report for 10.6.6.1
Host is up.
Nmap scan report for webgoat.vm (10.6.6.11)
Host is up (0.0000080s latency).
MAC Address: 02:42:0A:06:06:0B (Unknown)
Nmap scan report for juice-shop.vm (10.6.6.12)
Host is up (0.000061s latency).
MAC Address: 02:42:0A:06:06:0C (Unknown)
Nmap scan report for dvwa.vm (10.6.6.13)
Host is up (0.000011s latency).
MAC Address: 02:42:0A:06:06:0D (Unknown)
Nmap scan report for mutillidae.vm (10.6.6.14)
Host is up (0.0000080s latency).
MAC Address: 02:42:0A:06:06:0E (Unknown)
Nmap scan report for gravemind.vm (10.6.6.23)
Host is up (0.000010s latency).
MAC Address: 02:42:0A:06:06:17 (Unknown)
Nmap scan report for 10.6.6.100
Host is up (0.000010s latency).
MAC Address: 02:42:0A:06:06:64 (Unknown)
Nmap scan report for metasploitable.vm (172.17.0.2)
Host is up (0.000035s latency).
MAC Address: 02:42:AC:11:00:02 (Unknown)
Nmap done: 8 IP addresses (8 hosts up) scanned in 0.33 seconds
  • Datos de los hosts encontrados:
IP Hostname ¿Qué es?
10.6.6.1 — Gateway/Router de la red
10.6.6.11 webgoat.vm App vulnerable para practicar (OWASP WebGoat)
10.6.6.12 juice-shop.vm App vulnerable de OWASP (tienda online)
10.6.6.13 dvwa.vm Damn Vulnerable Web App
10.6.6.14 mutillidae.vm App web vulnerable (NOWASP Mutillidae)
10.6.6.23 gravemind.vm Target principal del curso
10.6.6.100 — Host adicional del entorno

Deja un comentario