the_open_door
café
ESEN
← Volver al índice

SMTP user enumeration (VRFY/EXPN/RCPT)

ATT&CKT1087.003

El protocolo SMTP (puerto 25) incluye comandos pensados para verificar destinatarios que, mal configurados, permiten averiguar qué cuentas existen en el sistema sin autenticarse. Son tres:

La respuesta distingue lo que existe de lo que no. Con VRFY, un usuario válido suele devolver 252 (o 250) y uno inexistente un 550. Probándolo a mano:

nc <ip> 25
EHLO test
VRFY michael      # 252 -> existe
VRFY noexiste     # 550 -> no existe

Para automatizarlo se itera un diccionario de usuarios (por ejemplo xato-net-10-million-usernames.txt) filtrando por el código de éxito. Como cada petición puede ser lenta, conviene paralelizar:

while read -r u; do
  r=$(echo -e "VRFY $u" | nc -w1 <ip> 25 | grep -c 252)
  [ "$r" = "1" ] && echo "[+] $u existe"
done < users.txt

Por qué importa. Confirmar usuarios reales (michael, root...) acota una fuerza bruta de SSH, da nombres para probar reutilización de credenciales, o corrobora cuentas vistas por otra vía (un LFI de /etc/passwd, por ejemplo). Es enumeración pura, pero muy rentable.

Cómo detectarlo. El patrón es inconfundible en los logs del servidor de correo: una ráfaga de comandos VRFY/EXPN o de RCPT TO con muchos destinatarios distintos desde una sola IP en poco tiempo, con una proporción alta de respuestas 550 (usuario inexistente). En Postfix, eso llena /var/log/mail.log de NOQUEUE: reject o de líneas VRFY; una regla de fail2ban o del SIEM que cuente VRFY/RCPT fallidos por origen lo detecta. A nivel de red, tráfico al puerto 25 lleno de VRFY desde un host que no es un MTA legítimo es la señal. La clave es el volumen de sondas por origen, no una consulta suelta.

Defensa. Desactivar VRFY y EXPN (disable_vrfy_command = yes en Postfix), y configurar el servidor para que responda igual ante destinatarios válidos e inválidos, de modo que RCPT no filtre información. Relacionado con la pulverización de contraseñas que suele seguir.

Herramientassmtp-user-enumtelnet

Máquinas donde se aplica