25, 465 587 - SMTP
explotar servicio de correo SMTP
INFORMACIÓN BÁSICA
Protocolo que permite enviar y recibir correo (Simple Mail Transfer Protocol)
El servidor SMTP es un ordenador encargado de llevar a cabo el servicio SMTP, haciendo las veces de “cartero electrónico” y permitiendo el transporte de ese correo electrónico por Internet. La retransmisión SMTP funciona de un modo muy sencillo: si el servidor SMTP confirma las identidades del remitente y del destinatario, entonces el envío se realiza. Digamos que es como la oficina de correos de la web: recoge el email del remitente y lo entrega en la oficina de correos local del destinatario, que es otro servidor SMTP. Nació en 1982 y sigue siendo el estándar de Internet más utilizado a día de hoy.
Utiliza los siguientes puertos por defecto: 25 / TCP 587 / TCP (Alternativo) 465 / TCP (SMTPSecure)
La información se envía en formato UNICODE y debe ser menor de 1000 caracteres. Si no, se utilizaran varios correos. Para enviar termina en “.”[Intro]. Cada vez que hacemos una comunicación con el servidor nos devuelve un código de 3 dígitos + Texto descriptivo. Segun los digitos del codigo tenemos:
Primer dígito numérico
1- Se acepta el comando del cliente, pero espera que el cliente continúe 2- Comando finalizado correctamente. 3- Respuesta positiva. En espera de información del cliente. 4- Respuesta negativa. Comando rechazado, intentar de nuevo (no finaliza conexión) 5- Respuesta negativa. Comando rechazado.
Segundo dígito numérico
0- Sintaxis 1- información 2- Conexiones 5- Sistema de correo
Tercer digito numerico
Amplia información.
ESTABLECER CONEXIÓN
Para establecer la conexión utilizamos programas básicos:
nc 192.168.1.5 25
telnet 192.168.1.5 25
COMANDOS BÁSICOS
•HELO: para abrir una sesión con el servidor. • EHLO: para abrir una sesión, en el caso de que el servidor soporte extensiones definidas en el RFC 1651. • MAIL FROM: para indicar quien envía el mensaje. • RCPT TO: para indicar el destinatario del mensaje. • DATA: para indicar el comienzo del mensaje, este finalizará cuando haya una línea únicamente con un punto. • QUIT: para cerrar la sesión. • RSET: Aborta la transacción en curso y borra todos los registros. • SEND: Inicia una transacción en la cual el mensaje se entrega a una terminal. • VRFY: Solicita al servidor la verificación de todo un argumento. 250 usuario encontrado 251 usuario encontrado no local 550 buzón no encontrado • EXPN: Solicita al servidor la confirmación del argumento. • HELP: Permite solicitar información sobre un comando.
ACCIONES BÁSICAS
Banner Grabbing / Conexión Básica
SMTP:
SMTPS:
Encontrar servidores MX de una empresa
Enumeración
Autenticación NTLM - Information disclosure
Si el servidor soporta autenticación NTLM (Windows) puedes obtener información sensible (versiones)
Tambien se puede automatizar con el script de nmap:
smtp-ntlm-info.nse
Nombre interno del servidor - Information disclosure
Algunos servidores SMTP autocompletan la dirección del remitente cuando el comando "MAIL FROM" se envía con una dirección incompleta, mostrando su nombre interno:
Sniffing
Se pueden esnifar passwords de los paquetes enviados al puerto 25.
ENUMERACIÓN DE NOMBRE DE USUARIO
No siempre es obligatorio autenticarse.
RCPT TO
VRFY
EXPN
Herramientas automáticas
Reporte DSN
Delivery Status Notification Report. Cuando enviamos un email a una dirección incorrecta dentro de una organización, la organización mandará un correo de vuelta notificando que la dirección no es válida.
Los Headers del email devuelto pueden contener información sensible:
Dirección IP del servicio de e-mail.
Información del software Antivirus.
COMANDOS
Enviar un mail desde la consola de Linux
Enviar un mail desde Python
MAIL SPOOFING
La mayor parte de esta sección ha sido extraída del libro Network Security Assessment 3rd Edition.
Los mensajes SMTP son fácilmente spoofeables. Es por eso que las organizaciones utilizan SPF, DKIM y DMARC para prevenir el envío de correos no autorizados.
SPF
Sender Policcy Framework a facilita un mecanismo que permite a los Agentes de Transferencia de Correo (MTA) comprobar si un host enviando un correo era autorizado o no.
Las organizaciones pueden definir una lista de servidores de correo autorizados y los MTAs pueden realizar búsquedas en dicha lista para saber si un email era spoof.
Para definir los rangos de IP, dominios y otras estructuras que están autorizados a enviar correo, existen diferentes mecanismos que pueden aparecer en el registro SPF:
Mecanismos
ALL
Coincide siempre; utilizado para un resultado por defecto tal como "ALL" para todas las IPs que no coincidan con mecanismos anteriores.
A
IP4
Si el remitente se encuentra en un rango IPv4 dado. Coincide
IP6
Si el remitente se encuentra en un rango IPv4 dado. Coincide.
MX
PTR
EXISTS
Si el nombre de dominio dado resuelve a alguna dirección. Coincide (da igual qué dirección). Se usa poco. Junto con SPF macro, puede ofrecer coincidencias más complejas.
INCLUDE
Referencia una política de otro dominio. Si esa política coincide, el mecanismo coincide. Sin embargo, si la política no coincide, el procesamiento continua. Para delegar completamente en la política de otro dominio, se debe utilizar el siguiente mecanismo (redirección).
REDIRECT
Una redirección es un puntero hacia otro dominio que alberga una política SPF. Permite a multiples dominios compartir la misma política SPF. Es muy útil cuando se trabaja con muchos dominios que comparten la misma infraestructura de correo.
Además, podemos utilizare Cualificadores para indicar qué hay que hacer cuando un mecanismo coincide.
Por defecto se utiliza el cualificador "+
".
Al final de las políticas de SPF podemos ver siempre ~all
o -all
. Esto significa que si ninguno de los anteriores mecanismos coincide, se marca el mensaje como sospechoso (~
) o rechazado (-
).
Cualificadores
+
para ACEPTAR el resultado. Puede omitirse.?
para NEUTRAL. Se interpreta como que no tiene política.~
para SOSPECHOSO. Es un intermedio entre?
y-
. Normalmente son aceptados pero marcados.-
para DENEGAR. El correo es rechazado.
En el ejemplo siguiente podemos ver las políticas SPF de google.com:
Antes, se podía spoofear cualquier nombre de dominio que no tuviera correctamente establecidas las políticas SPF.
Actualmente, en cambio, si un email viene de un dominio sin politicas SPF válidas, lo mas probable es que sea marcado como sospechoso o directamente denegado.
Automatización
Existen herramientas para comprobar el SPF de un servidor como por ejemplo:
DKIM
DomainKeys Identified Mail es un mecanismo mediante el cual los emails que se envían son firmados y validados por un MTA mediante una clave pública del dominio que se envía vía DNS.
La clave DKIM se almacena en un registro TXT del dominio. Sin embargo, necesitas tanto el selector (del Header del correo) como el nombre de dominio para obtenerla.
DKIM-Signature
Por ejemplo: d=gmail.com;s=20120113
DMARC
Domain-based Message Authentication, Reporting & Conformance es un método de autenticación de e-mail que aumenta las posibilidades de SPF y DKIM.
Las políticas marcan a los servidores de correo cómo actuar con los correos de un determinado dominio y reporte.
Para obtener la información DMARC hay que buscar por subdomain _dmarc
:
PayPal y Yahoo hacen que sus servidores mail denieguen los mensajes que contienen firmas DKIM no válidas o no provienen de sus servidores. Además envían notificaciones a direcciones e-mail dentro de cada empresa.
Google en cambio hace que sus servidores pongan los mensajes en cuarentena en vez de denegarlos directamente.
DMARC tags
v
Versión del protocolo
v=DMARC1
pct
Porcentaje de mensajes sujetos a filtro
pct=20
ruf
URI para reportes forenses
ruf=mailto:authfail@ejemplo.com
rua
URI para reportes estadisticos (agregados)
rua=mailto:aggrep@ejemplo.com
p
Política del dominio
p=quarantine
sp
Política de los subdominios
sp=reject
adkim
Alineación para DKIM
adkim=s
aspf
Alineación para SPF
aspf=r
Subdominios
Se necesita un registro SPF diferente para cada subdominio al que quieres mandar un correo.
Esto es lógico pues un subdominio puede perfectamente estar en una zona geográfica completamente diferente y tener una definición SPF completamente diferente.
HERRAMIENTAS
Comprobar malas configuraciones de SPF y DMARC
Obtener configuraciones SPF y DMARC automaticamente
Comprobar si es spoofeable
Se puede utilizar la siguiente herramienta online para mandarte un correo a tu propio correo y ver si te llega. Si llega es que la dirección es spoofeable.
INDICADORES DE PHISHING
Antigüedad del dominio
Links apuntando a direcciones IP.
Técnicas de manipulación de links.
Archivos adjuntos sospechosos.
Contenido del mail roto o ilegible.
Valores utilizados diferentes a los del Header.
Existencia de un certificado SSL válido y creible.
Pagina controlada por páginas de filtrado de contenido web.
EXFILTRACIÓN
Si puedes enviar datos vía SMTP lee el siguiente artículo.
Última actualización