hacktricks/network-services-pentesting/pentesting-smtp/smtp-smuggling.md

4.9 KiB

SMTP Smuggling

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

Support HackTricks
{% endhint %}

Grundinformationen

Diese Art von Schwachstelle wurde ursprünglich in diesem Beitrag entdeckt, in dem erklärt wird, dass es möglich ist, Diskrepanzen in der Interpretation des SMTP-Protokolls auszunutzen, wenn eine E-Mail abgeschlossen wird, was es einem Angreifer ermöglicht, weitere E-Mails im Text der legitimen E-Mail zu schmuggeln und andere Benutzer der betroffenen Domain (wie admin@outlook.com) zu impersonieren, wodurch Verteidigungen wie SPF umgangen werden.

Warum

Das liegt daran, dass im SMTP-Protokoll die Daten der Nachricht, die in der E-Mail gesendet werden sollen, von einem Benutzer (Angreifer) kontrolliert werden, der speziell gestaltete Daten senden könnte, die Unterschiede in den Parsern ausnutzen, die zusätzliche E-Mails im Empfänger schmuggeln. Siehe dieses illustrierte Beispiel aus dem ursprünglichen Beitrag:

https://sec-consult.com/fileadmin/user_upload/sec-consult/Dynamisch/Blogartikel/2023_12/SMTP_Smuggling-Overview__09_.png

Wie

Um diese Schwachstelle auszunutzen, muss ein Angreifer einige Daten senden, die der Outbound SMTP-Server für nur 1 E-Mail hält, während der Inbound SMTP-Server denkt, dass es mehrere E-Mails gibt.

Die Forscher entdeckten, dass verschiedene Inbound-Server unterschiedliche Zeichen als das Ende der Daten der E-Mail-Nachricht betrachten, die Outbound-Server nicht tun.
Zum Beispiel ist ein reguläres Ende der Daten \r\n.\r. Aber wenn der Inbound SMTP-Server auch \n. unterstützt, könnte ein Angreifer einfach diese Daten in seiner E-Mail hinzufügen und beginnen, die SMTP-Befehle neuer E-Mails anzugeben, um sie wie im vorherigen Bild zu schmuggeln.

Natürlich könnte dies nur funktionieren, wenn der Outbound SMTP-Server diese Daten nicht auch als das Ende der Nachrichtendaten behandelt, denn in diesem Fall würde er 2 E-Mails anstelle von nur 1 sehen, sodass dies letztendlich die Desynchronisation ist, die in dieser Schwachstelle ausgenutzt wird.

Potenzielle Desynchronisationsdaten:

  • \n.
  • \n.\r

Beachte auch, dass SPF umgangen wird, denn wenn du eine E-Mail von admin@outlook.com von einer E-Mail von user@outlook.com schmuggelst, ist der Absender immer noch outlook.com.

Referenzen

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

Support HackTricks
{% endhint %}