hacktricks/pentesting-web/email-injections.md

10 KiB

Email Injections


Verwenden Sie Trickest, 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:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

In E-Mail einfügen

Cc und Bcc nach dem Absender-Argument einfügen

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.

Inject argument

From:sender@domain.com%0ATo:attacker@domain.com

Die Nachricht wird an den ursprünglichen Empfänger und das Angreifer-Konto gesendet.

Inject Subject argument

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

Injizieren Sie einen Zeilenumbruch, und schreiben Sie dann Ihre Nachricht, um den Text der Nachricht zu ändern.

From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.

PHP mail() Funktion Ausnutzung

# 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 auf wie man diesen Parameter missbrauchen kann, vorausgesetzt, ein Angreifer kontrolliert ihn.

Dieser Parameter wird zur Befehlszeile hinzugefügt, die PHP verwenden wird, um das Binary sendmail aufzurufen. Er wird jedoch mit der Funktion escapeshellcmd($additional_parameters) bereinigt.

Ein Angreifer kann in diesem Fall zusätzliche Parameter für sendmail injizieren.

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.

Hier sind einige Beispiele für verschiedene Man-Seiten des sendmail-Befehls/-schnittstelle:

Je nach Herkunft des sendmail-Binaries wurden verschiedene Optionen entdeckt, um sie auszunutzen und Dateien zu leaken oder sogar beliebige Befehle auszuführen. Überprüfen Sie, wie in https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html

In den E-Mail-Namen injizieren

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.

Kommentare in Klammern () am Anfang oder Ende werden ebenfalls ignoriert.

Whitelist-Umgehung

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

Anführungszeichen

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

IPs

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

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

Drittanbieter-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.

Kontoübernahme

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.

Antwort-An

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.

Hard Bounce Rate

Bestimmte Dienste, wie AWS, implementieren einen Schwellenwert, der als Hard Bounce Rate bekannt ist, typischerweise auf 10% festgelegt. Dies ist eine kritische Kennzahl, insbesondere für E-Mail-Zustelldienste. Wenn dieser Wert überschritten wird, kann der Dienst, wie der E-Mail-Dienst von AWS, ausgesetzt oder blockiert werden.

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.

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.

Für detailliertere Informationen kann auf die offizielle Dokumentation von AWS zur Handhabung von Bounces und Beschwerden verwiesen werden: AWS SES Bounce Handling.

Referenzen

{% hint style="success" %} Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks
{% endhint %}


Verwenden Sie Trickest, 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" %}