Appearance
📧 SMTP (Simple Mail Transfer Protocol)
El protocolo SMTP (puerto 25, y ocasionalmente 465 o 587) se encarga del intercambio de correos electrónicos entre servidores. Desde la perspectiva de un atacante, es una fuente excelente para la enumeración de usuarios, ya que muchos servidores están configurados de forma que permiten "preguntar" si un usuario existe.
🚀 Conceptos Clave
A diferencia de otros servicios, SMTP tiene comandos específicos que pueden ser abusados para revelar nombres de usuarios válidos en el sistema:
- VRFY: Confirma si un nombre de usuario específico es válido.
- EXPN: Revela la dirección real de los alias de correo y listas de distribución.
- RCPT TO: Identifica si un destinatario es aceptado por el servidor.
🔍 Enumeración
El objetivo principal en SMTP suele ser obtener una lista de nombres de usuarios reales para luego intentar ataques de fuerza bruta en otros servicios como SSH o SMB.
1. Enumeración Manual (Banner Grabbing)
Puedes conectar directamente para ver el banner y probar comandos manualmente:
bash
nc -nv <IP> 25
# Una vez conectado:
VRFY root
VRFY admin2. Automatización con Metasploit
Metasploit facilita enormemente la tarea de recolectar usuarios sin tener que hacerlo uno por uno.
- Identificación de Versión:
auxiliary/scanner/smtp/smtp_version. Es fundamental para saber si el servidor es propenso a vulnerabilidades conocidas (como en versiones antiguas de Exim). - Enumeración de Usuarios:
auxiliary/scanner/smtp/smtp_enum. Este módulo utiliza diccionarios para probar los comandosVRFY,EXPNyRCPT TOautomáticamente.
🚀 Explotación
Aunque SMTP no suele dar una shell directa, existen dos vectores principales:
A. Ejecución de Comandos (Software Vulnerable)
Versiones antiguas de agentes de transporte de correo (como Exim o Sendmail) tienen vulnerabilidades críticas de ejecución remota de comandos (RCE).
- Ejemplo: El exploit para Exim GHOST o vulnerabilidades de inyección de comandos en las cabeceras de correo.
B. Spoofing y Phishing
Si el servidor SMTP permite el "Relay" abierto (Open Relay), puedes enviar correos en nombre de cualquier usuario de la empresa a destinos externos o internos para realizar ataques de ingeniería social.
bash
# Comprobar Open Relay con Nmap
nmap -p 25 --script smtp-open-relay <IP>