the_open_door
café
ESEN
← Volver al índice

Ident user enumeration

ATT&CKT1087

El protocolo Ident (RFC 1413, puerto 113/TCP) fue pensado para que un servidor preguntara a la máquina cliente qué usuario local estaba detrás de una conexión TCP concreta. Hoy es un anacronismo, pero cuando un host lo tiene activo se vuelve en su contra: permite averiguar con qué usuario corre cada servicio, sin autenticarse.

La idea: por cada puerto abierto del objetivo, abrimos una conexión y luego preguntamos al servicio ident (113) por el dueño de esa conexión. La respuesta es el usuario del sistema que mantiene el socket. La herramienta clásica es ident-user-enum de pentestmonkey (Perl, necesita el módulo Net::Ident):

apt install libnet-ident-perl        # dependencia del script
./ident-user-enum.pl <ip> 22 113 5432 8080 10000
# alternativa con nmap (dueño de cada servicio)
nmap -p113 --script auth-owners <ip>
# consulta manual: "<puerto-remoto>,<puerto-local>"
echo "22,54321" | nc <ip> 113
192.168.x.x:22       root
192.168.x.x:113      nobody
192.168.x.x:10000    eleanor

El valor para el atacante es doble: descubre nombres de usuario reales (válidos para un spray o un brute force dirigido) y revela bajo qué cuenta corre cada servicio, lo que orienta la explotación. En Peppo, ident delató que el servicio del puerto 10000 lo ejecuta eleanor, un usuario sobre el que luego se lanzó el ataque por SSH.

Conviene tener presente que ident es informativo: confirma que esos usuarios existen y a qué proceso se asocian, pero no da acceso por sí mismo; es el punto de partida de un ataque de fuerza bruta o de probar el usuario como contraseña.

Cómo detectarlo. El sondeo consiste en abrir una conexión a cada puerto y consultar el 113/TCP por su dueño, así que la firma en red es una ráfaga de conexiones al puerto 113 desde una sola IP, una por cada servicio del objetivo, en pocos segundos. Como casi nadie usa ident legítimamente hoy, cualquier tráfico entrante al 113 ya es sospechoso: un IDS o una regla de firewall que registre conexiones a ese puerto lo detecta sin apenas falsos positivos. La correlación con un escaneo de puertos previo desde el mismo origen confirma la fase de reconocimiento.

Defensa. No exponer el 113/TCP (es un servicio sin valor real hoy); si alguna aplicación heredada lo requiere, restringirlo a redes de confianza. Filtrar ese puerto elimina una fuga de información de usuarios gratuita.

Máquinas donde se aplica

  • PeppoProving Grounds Practice