ALPACA – eine neue Technik für MITM-Angriffe auf HTTPS

Ein Forscherteam mehrerer Universitäten in Deutschland hat einen neuen MITM-Angriff auf HTTPS entwickelt, der Sitzungscookies und andere sensible Daten extrahieren sowie beliebigen JavaScript-Code im Kontext einer anderen Website ausführen kann. Der Angriff heißt ALPACA und kann auf TLS-Server angewendet werden, die unterschiedliche Protokolle der Anwendungsschicht (HTTPS, SFTP, SMTP, IMAP, POP3) implementieren, aber gängige TLS-Zertifikate verwenden.

Der Kern des Angriffs besteht darin, dass der Angreifer, wenn er die Kontrolle über ein Netzwerk-Gateway oder einen drahtlosen Zugangspunkt hat, den Webverkehr auf einen anderen Netzwerk-Port umleiten und den Aufbau einer Verbindung mit einem FTP- oder Mail-Server organisieren kann, der TLS-Verschlüsselung unterstützt und a verwendet TLS-Zertifikat, das mit dem HTTP-Server gemeinsam ist, und der Browser des Benutzers geht davon aus, dass eine Verbindung mit dem angeforderten HTTP-Server hergestellt wurde. Da das TLS-Protokoll universell ist und nicht an Protokolle auf Anwendungsebene gebunden ist, ist der Aufbau einer verschlüsselten Verbindung für alle Dienste identisch und der Fehler beim Senden einer Anfrage an den falschen Dienst kann erst nach dem Aufbau einer verschlüsselten Sitzung während der Verarbeitung festgestellt werden Befehle der gesendeten Anfrage.

Wenn Sie dementsprechend beispielsweise eine ursprünglich an HTTPS gerichtete Benutzerverbindung auf einen Mailserver umleiten, der ein mit dem HTTPS-Server geteiltes Zertifikat verwendet, wird die TLS-Verbindung zwar erfolgreich aufgebaut, der Mailserver kann die übertragenen Daten jedoch nicht verarbeiten HTTP-Befehle und gibt eine Antwort mit Fehlercode zurück. Diese Antwort wird vom Browser als Antwort der angeforderten Website verarbeitet und über einen korrekt eingerichteten verschlüsselten Kommunikationskanal übertragen.

Es werden drei Angriffsmöglichkeiten vorgeschlagen:

  • „Hochladen“, um ein Cookie mit Authentifizierungsparametern abzurufen. Die Methode ist anwendbar, wenn der vom TLS-Zertifikat abgedeckte FTP-Server das Hochladen und Abrufen seiner Daten ermöglicht. Bei dieser Angriffsvariante kann der Angreifer erreichen, dass Teile der ursprünglichen HTTP-Anfrage des Benutzers erhalten bleiben, beispielsweise der Inhalt des Cookie-Headers, wenn der FTP-Server die Anfrage als Sicherungsdatei interpretiert oder eingehende Anfragen vollständig protokolliert. Für einen erfolgreichen Angriff muss der Angreifer dann den gespeicherten Inhalt irgendwie extrahieren. Der Angriff ist auf Proftpd, Microsoft IIS, vsftpd, filezilla und serv-u anwendbar.
  • „Download“ zum Organisieren von Cross-Site-Scripting (XSS). Die Methode impliziert, dass der Angreifer durch einzelne Manipulationen Daten in einen Dienst einspeisen kann, der ein gemeinsames TLS-Zertifikat verwendet, das dann als Antwort auf eine Benutzeranfrage ausgestellt werden kann. Der Angriff ist auf die oben genannten FTP-Server, IMAP-Server und POP3-Server (Courier, Cyrus, Kerio-Connect und Zimbra) anwendbar.
  • „Reflection“, um JavaScript im Kontext einer anderen Site auszuführen. Die Methode basiert auf der Rückgabe eines Teils der Anfrage an den Client, der den vom Angreifer gesendeten JavaScript-Code enthält. Der Angriff ist auf die oben genannten FTP-Server, die IMAP-Server cyrus, kerio-connect und zimbra sowie den sendmail-SMTP-Server anwendbar.

ALPACA – eine neue Technik für MITM-Angriffe auf HTTPS

Wenn ein Benutzer beispielsweise eine von einem Angreifer kontrollierte Seite öffnet, kann diese Seite eine Anforderung für eine Ressource von einer Website aus initiieren, auf der der Benutzer über ein aktives Konto verfügt (z. B. bank.com). Bei einem MITM-Angriff kann diese an die Website bank.com gerichtete Anfrage an einen E-Mail-Server umgeleitet werden, der ein TLS-Zertifikat verwendet, das mit bank.com geteilt wird. Da der Mailserver die Sitzung nach dem ersten Fehler nicht beendet, werden Dienstheader und Befehle wie „POST / HTTP/1.1“ und „Host:“ als unbekannte Befehle verarbeitet (der Mailserver gibt „500 nicht erkannter Befehl“ zurück für jeder Kopfzeile).

Der Mailserver versteht die Funktionen des HTTP-Protokolls nicht und für ihn werden die Service-Header und der Datenblock der POST-Anfrage auf die gleiche Weise verarbeitet, sodass Sie im Hauptteil der POST-Anfrage eine Zeile mit einem Befehl angeben können Der Mailserver. Sie können beispielsweise Folgendes übergeben: MAIL FROM: alert(1); an den der Mailserver eine 501-Fehlermeldung zurücksendet alert(1); : fehlerhafte Adresse: Alert(1); kann nicht folgen

Diese Antwort wird vom Browser des Benutzers empfangen, der den JavaScript-Code nicht im Kontext der ursprünglich geöffneten Website des Angreifers ausführt, sondern im Kontext der bank.com-Website, an die die Anfrage gesendet wurde, da die Antwort innerhalb einer korrekten TLS-Sitzung erfolgte , dessen Zertifikat die Echtheit der Antwort von bank.com bestätigte.

ALPACA – eine neue Technik für MITM-Angriffe auf HTTPS

Ein Scan des globalen Netzwerks ergab, dass im Allgemeinen etwa 1.4 Millionen Webserver von dem Problem betroffen sind, bei denen ein Angriff durch Mischen von Anfragen über verschiedene Protokolle möglich ist. Die Möglichkeit eines echten Angriffs wurde für 119 Webserver ermittelt, für die es begleitende TLS-Server auf Basis anderer Anwendungsprotokolle gab.

Beispiele für Exploits wurden für die FTP-Server Pureftpd, Proftpd, Microsoft-FTP, Vsftpd, Filezilla und Serv-U, die IMAP- und POP3-Server Dovecot, Courier, Exchange, Cyrus, Kerio-Connect und Zimbra sowie die SMTP-Server Postfix, Exim und Sendmail vorbereitet , mailenable, mdaemon und opensmtpd. Forscher haben die Möglichkeit eines Angriffs nur in Kombination mit FTP-, SMTP-, IMAP- und POP3-Servern untersucht, es ist jedoch möglich, dass das Problem auch bei anderen Anwendungsprotokollen auftritt, die TLS verwenden.

ALPACA – eine neue Technik für MITM-Angriffe auf HTTPS

Um den Angriff zu blockieren, wird vorgeschlagen, die Erweiterung ALPN (Application Layer Protocol Negotiation) zum Aushandeln einer TLS-Sitzung unter Berücksichtigung des Anwendungsprotokolls und die Erweiterung SNI (Server Name Indication) zur Bindung an den Hostnamen im Falle der Verwendung zu verwenden TLS-Zertifikate, die mehrere Domainnamen abdecken. Auf der Anwendungsseite wird empfohlen, die Anzahl der Fehler bei der Verarbeitung von Befehlen zu begrenzen, nach denen die Verbindung abgebrochen wird. Der Prozess der Entwicklung von Maßnahmen zur Blockierung des Angriffs begann im Oktober letzten Jahres. Ähnliche Sicherheitsmaßnahmen wurden bereits in Nginx 1.21.0 (Mail-Proxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) und Internet Explorer ergriffen.

Source: opennet.ru

Kommentar hinzufügen