Ident-user-enum: Enumeración de Usuarios

https://www.onlinetis.com

Ident-user-enum: Enumeración de Usuarios

ident-user-enum es una herramienta de reconocimiento (recon) escrita en Perl que se utiliza para consultar el servicio identd (puerto 113) en sistemas remotos. Su objetivo principal es determinar qué nombre de usuario es el propietario de un proceso que escucha en un puerto TCP específico.

Aquí tienes un desglose de cómo funciona y cómo usarla en Kali Linux:


¿Cómo funciona?

Cuando un servidor tiene activado el servicio ident (un protocolo antiguo pero que aún se encuentra en algunos servidores internos o sistemas legacy), este responde a consultas sobre quién está ejecutando un servicio.

Por ejemplo, si ves que un servidor tiene el puerto 80 abierto, puedes preguntar al puerto 113: "¿Qué usuario inició la conexión en el puerto 80?". El servidor te responderá con el username (ej. www-data, root o apache).


Sintaxis básica

La estructura del comando es sencilla:

ident-user-enum [opciones] <dirección-ip> <puertos>

Ejemplos de uso común

  1. Escaneo simple de puertos comunes:

    Bash
    ident-user-enum 192.168.1.50 21 22 23 80 445
    

    Esto intentará identificar a los dueños de los procesos en los puertos FTP, SSH, Telnet, HTTP y SMB.

  2. Uso de un archivo de direcciones IP:

    Si tienes una lista de objetivos, puedes usar la opción -t:

    Bash
    ident-user-enum -t objetivos.txt 22 80
    
  3. Definir el tiempo de espera (timeout):

    Si la red es lenta, puedes usar -u para esperar más segundos por una respuesta:

    Bash
    ident-user-enum -u 5 10.0.0.5 80
    

¿Por qué es útil en un Pentest?

  • Enumeración de usuarios: Te da nombres de usuario reales que luego puedes usar para ataques de fuerza bruta (Brute Force) o Password Spraying en otros servicios como SSH.

  • Identificación de procesos privilegiados: Si descubres que un servicio web o una base de datos está corriendo como root, sabrás que una vulnerabilidad en ese servicio te daría control total del sistema.

Limitaciones actuales

Es importante notar que el servicio identd está mayormente en desuso por razones de seguridad, ya que revela demasiada información sobre la infraestructura interna. En la mayoría de los escaneos modernos, el puerto 113 aparecerá como closed o filtered.


Antes de lanzar ident-user-enum, lo más eficiente es verificar si el puerto 113 (auth/ident) está siquiera escuchando. Si el puerto está cerrado, la herramienta no podrá obtener ninguna información.

Puedes usar Nmap para esto con el siguiente comando:

Bash
nmap -p 113 --open 192.168.1.50

Si prefieres un escaneo más completo que verifique el puerto 113 y, además, intente realizar la enumeración de usuarios automáticamente, puedes usar los scripts de Nmap (NSE):

Bash
nmap -sV --script auth-owners 192.168.1.50

Explicación del comando Nmap:

  • -p 113: Se enfoca únicamente en el puerto de Ident.

  • --open: Solo muestra resultados si el puerto está realmente abierto.

  • -sV: Detecta la versión del servicio.

  • --script auth-owners: Este script hace algo muy similar a ident-user-enum: intenta consultar al demonio identd para saber quién es el dueño de cada puerto TCP que encuentre abierto.


¿Qué significan los resultados?

Estado del puerto 113Significado
OpenEl sistema es vulnerable a enumeración. Puedes usar ident-user-enum con éxito.
ClosedEl servicio no está activo. No podrás obtener nombres de usuario por esta vía.
FilteredUn firewall está bloqueando el tráfico al puerto 113.

Nota de seguridad: En auditorías reales, es raro encontrar este servicio activo en servidores modernos (como Ubuntu 22.04 o Windows 11), pero es muy común en dispositivos de red antiguos, firewalls legacy o máquinas de entrenamiento tipo HackTheBox.

Automatizar esto es ideal cuando tienes un segmento de red completo (una subred) y no quieres ir uno por uno.

Aquí tienes un Script en Bash sencillo que hace lo siguiente:

  1. Escanea un rango de IPs buscando el puerto 113 abierto.

  2. Si encuentra el puerto abierto, lanza automáticamente ident-user-enum contra los puertos comunes (80, 443, 22, 21, 445).

Script: ident-scan.sh

Bash
#!/bin/bash

# Comprobar si se pasó un argumento (IP o rango)
if [ -z "$1" ]; then
    echo "Uso: $0 <rango-de-ips>"
    echo "Ejemplo: $0 192.168.1.0/24"
    exit 1
fi

TARGET=$1

echo "--- Iniciando fase de descubrimiento en $TARGET ---"

# 1. Usamos Nmap para encontrar hosts con el puerto 113 abierto
# -oG - permite filtrar la salida fácilmente con grep
ips_vulnerables=$(nmap -p 113 --open $TARGET -oG - | grep "Up" | cut -d' ' -f2)

if [ -z "$ips_vulnerables" ]; then
    echo "No se encontraron hosts con el puerto 113 (ident) abierto."
    exit 0
fi

echo "Hosts detectados con identd activo:"
echo "$ips_vulnerables"
echo "------------------------------------------------"

# 2. Ejecutar ident-user-enum en los hosts encontrados
for ip in $ips_vulnerables; do
    echo "[*] Analizando usuarios en: $ip"
    ident-user-enum $ip 21 22 23 25 80 110 139 443 445
    echo "------------------------------------------------"
done

Cómo prepararlo y ejecutarlo:

  1. Crea el archivo:

    nano ident-scan.sh (pega el código de arriba y guarda con Ctrl+O, Enter y Ctrl+X).

  2. Dale permisos de ejecución:

    Bash
    chmod +x ident-scan.sh
    
  3. Ejecútalo:

    Bash
    ./ident-scan.sh 192.168.1.0/24
    

¿Por qué este enfoque es mejor?

  • Velocidad: Nmap es mucho más rápido para "limpiar" la red y descartar lo que no sirve. ident-user-enum solo se ejecutará donde realmente hay una oportunidad.

  • Orden: Te permite guardar los resultados en un archivo de texto si rediriges la salida: ./ident-scan.sh 10.0.0.0/24 > resultados_usuarios.txt.

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux