SMTP-Smuggling: goneo ergriff Maßnahmen

Vergangene Woche erschien eine Warnung eines Sicherheitsunternehmens in Sachen SMTP-Smuggling. Der Bericht beschrieb, wie ein wichtiges E-Mail-Protokoll missbraucht werden kann, um auch schädliche Mails zuzustellen ohne dass Überprüfungsmechanismen warnen.

SMTP steht für Simple Mail Transport Protocol und ist ein sehr gebräuchlicher Standard, der beschreibt, wie der Versand von E-Mail-Nachrichten technisch funktioniert (siehe dazu auch das goneo-Glossar). So funktionieren die Angriffsversuche.

SMTP ist ein Protokoll, also ein vorgeschriebener Ablauf samt Bedingungen, das festlegt, wie eine Mail gesendet wird. Die Kommunikation zwischen sendenden und empfangenden Mailserver verläuft nach dieser Vorschrift und besteht im Grunde aus einem Dialog von Maschine zu Maschine, wobei zur Steuerung standardisierte Textelemente ausgetauscht werden. 

goneo hat schon kurz vor Weihnachten reagiert

Das international tätige Sicherheitsunternehmen SEC Consult berichtete über eine Schwachstelle, mit der man einen missbräuchlichen Angriff auf Mailserver ausführen kann, indem man in die Abfolge der definierten SMTP-Anweisungen an geeigneter Stelle Anweisungen einfügt, die den ordnungsgemäßen und eigentlich gedachten Ablauf des Versands einer E-Mail stören können. Diese Art Angriffe – Experten sprechen vom „Angriffsvektor“ – nennt man SMTP Smuggling

Die neu beschriebene Lücke ist seit Ende 2023 bekannt und bei goneo haben Techniker sofort erste Maßnahmen ergriffen.

SMTP-Smuggling ist nichts Neues

SMTP-Smuggling ist ein bereits etablierter Sammelbegriff für Hacks, wenn es darum geht, dem Nachrichtenaustausch mit SMTP schädliche Elemente unterzujubeln, also zusätzliche Teile einzuschmuggeln. 

Es gibt verschiedene Verfahrensweisen. Ein häufiger Ansatz für einen Angriff besteht darin, die Art und Weise auszunutzen, wie E-Mail-Server die Header und die eigentliche Nachricht, dem Body, verarbeiten. Angreifer können beispielsweise speziell gestaltete E-Mails mit mehrdeutigen oder irreführenden Trennzeichen zwischen Header und Körper erstellen. Dadurch kann es passieren, dass ein E-Mail-Gateway den Header und den Körper einer E-Mail unterschiedlich interpretiert als der nachfolgende E-Mail-Server, was dazu führen kann, dass Sicherheitsfilter umgangen werden. 

Ein solches Markierungsproblem findet sich bei der Methode angewendet, die SEC beschrieben hat. Hier ging es um die Markierung für das Ende der Nachricht. Es gibt zwar eine Festlegung in SMTP, doch haben sich über den Lauf der Jahrzehnte in den Umsetzungen für SMTP die einen oder anderen Abweichungen in den Codes der SMTP-Softwareprodukte eingebürgert. 

Neu entdeckte SMTP-Smuggling-Variante

Im aktuellen Fall gibt es zwischen den SMTP-Implementierungen unterschiedliche Interpretationen, was die Markierung des Endes einer Nachricht betrifft. Diese Endmarkierung besteht laut Protokoll aus einer festgelegten Folge an Zeichen. Das sind unter anderem auch Steuerzeichen wie „Neue Zeile“ („\n“) und „Wagenrücklauf“ („\r“) sowie einem Punkt („.“). 

Dabei kann es dazu kommen, dass der Server das Ende einer Nachricht nicht erkennt. Wenn der empfangende Server die Anforderung protokollmäßig abarbeitet und die Nachrichten in die Mailboxen der User zustellen will, aber schon. Nun könnte ein Angreifer nach einem nicht erkannten Nachrichtenende weitere Zustellanweisungen (also Empfängerangaben und falsche Absenderangaben) unterjubeln. Beispielsdweise kann man eine weitere Mail samt Anweisungen für den Server in die eigentliche Mail einbauen. 

SMTP-Smuggling: Funktionsweise Unterschieben von potentiell schädlichen E-Mails samt SMTP-Anweisungen in eine andere E-Mail, die per SMTP versendet wird. SMTP- Smuggling macht sich zunutze, dass manche Mailserver die Endmarkierung einer Mail nicht erkennen.
In eine präparierte E-Mail wird eine (oder auch mehrere) weitere E-Mail eingebaut, um sich eine Lücke bei manchen SMTP-Implementationen zunutze zu machen: Wird die Endmarkierung der eigentlichen Mail nicht erkannt, kann das dazu führen, dass der Server protokollmäßig den folgende Inhalt der Mails weiter verarbeitet ,dort auch auf SMTP-Anweisungen trifft und sie ausführt. Eine solche Anweisung kann sein, eine andere Mail an einen anderen Empfänger zu schicken – inhalt beliebig. SPF und/oder DKIM geben grünes Licht, da die ansendende Serverdomain mit der eigentlichen Mail verifiziert worden ist.

Falsche Absenderangaben sind an sich ein gewohntes Schema für Spam. Gegen gegen plumpe Fälschungen gibt es eine Reihe von Sicherungsmaßnahmen. Dazu gehören SPF (Sender Policy Framework) oder DKIM (DomainKeys Identified Mails). Mit diesen Prüfalgorithmen kann ein empfangender Mailserver prüfen kann, ob der absendende Server berechtigt ist, Mails mit dieser E-Mailabsenderadresse zu versenden. 

Sicherheitsprüfungen geben grünes Licht, da die Mail untergeschoben wurde

Bei der neu beschriebenen Art des SMTP-Smuggling funktionieren die Checks nicht. Sie geben grünes Licht, da mit den Angaben der Absenderdomain aus dem ersten Teil der zusammengestellten Nachricht alles okay ist. Man kann somit gefälschte Mails, die glaubwürdig erscheinen, versenden. Dies ist nicht gut, weil ein Angreifer dann echt aussehende Mitteilungen einfügen kann. Damit kann er einen Empfänger tu täuschen und ihn zu schädlichen Handlungen verleiten kann. Phishing funktioniert so.

Es ist unklar, ob Spammer oder Phisher nach dieser Methode bereits Erfolge erzielt haben. SEC Consult hat die Lücke zunächst mit Anbietern von Mailsoftware kommuniziert, um Gegenmaßnahmen zu ermöglichen. Bereits nach Bekanntwerden haben Techniker für goneo die Ausnutzung der Lücke verhindert.  Später hat SEC Consult das SMTP-Smuggling Problem eingehend öffentlich beschrieben

4 Antworten auf „SMTP-Smuggling: goneo ergriff Maßnahmen“

  1. Hallo bekomme keine Mails mehr versandt. SMTP wird abgebrochen, Meldung bitte wiederholt senden, alles ohne Erfolg. Erbitte eine Rückmeldung.
    MfG F Röttgers

  2. Das hier besprochene Problem ist eines unter vielen, die einen motivational davon abhalten, einen eigenen Mail-Server zu betreiben und vorzugsweise auf technische Angebote professionell ausgerichteter Anbieter auszuweichen. Was in der technischen Alltagsinformatik realisiert wird, sieht auf den ersten Blick immer einfach aus (die Absicht der Einfachheit steht dabei grundsätzlich im Vordergrund). In der Praxis tauchen die Schwierigkeiten im Detail auf. Sicherheitsaspekte stehen dabei an erster Stelle.
    Je komplexer die aufgebauten Systeme werden, desto mehr an Wissen und Zeit für Wartung und Pflege muss zur Verfügung gestellt werden. Daran filtern sich die Geister aus. Ich begrüße es, dass Sie solche Themen transparent ansprechen und diskutieren. Da erhält man als aufmerksamer Leser Informationen darüber, was aktuell an Entwicklungen und Verbesserungen so angestanden hat.

    Da Sie immer so schnell und fleißig gelegentlich aufgetretene Flüchtigkeitsfehler korrigieren, möchte ich beiläufig darauf aufmerksam machen, dass SMTP für „Simple Mail Transfer Protocol“ steht und nicht nur „Simple Mail Protocol“ bedeutet. (vgl. zweiter Absatz von oben; Zugriff 19.1.2024 ca. 13:00 Uhr)
    In Goneos Glossar, auf das im Text von Ihnen verwiesen wird, steht „Simple Mail Transport Protocol“. (vgl. https://www.goneo.de/glossar/smtp.html) Diese ausgeschriebene Variante ist so auch nicht üblich.

    Die Zugriffsmöglichkeit auf einzelne Unterseiten ist in einem Punkt ein wenig verwirrend: Bestimmte Seiten (wie z.B. das Glossar) lassen sich lediglich im Footer der Landeseite anklicken, wenn man noch nicht eingeloggt ist (so zumindest mein Eindruck). Kann man den vollständigen Footer wie auf der Landeseite angezeigt nicht omnipräsent zur Verfügung stellen?

    Vielen Dank.

    Mit freundlichen Grüßen vom Qualitäts-Querulanten

    OscarTheFish(p@k)

    Die kleinen Kritikpunkte möchte ich nicht als „Nörgelei“ verstanden wissen, ich möchte lediglich auf diese kleinen Ungereimtheiten hinweisen im Rahmen einer Qualitätskontrolle von außen sowie im Sinne einer konstruktiven Kritik.

  3. Danke sehr. „Simple Mail Transfer Protocol“ ist natürlich die korrekte Bezeichnung. Der betreffende Glossar-Beitrag ist nun wieder verlinkt. Irgendwie flog die Verlinkung beim Übertrag vom CMS in den Blog raus. Ansonsten sollte das Glossar über den Footer zugänglich sein (eine andere Menüverlinkung gibt es tatsächlich momentan nicht; wir nehmen die Anregung aber auf, um die Inhalte besser zugänglich zu machen).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert