Eine Gruppe von Forschern aus kanadischen und amerikanischen Universitäten hat eine Angriffstechnik namens Port Shadow entwickelt. Diese ermöglicht es, durch Manipulation der Adresstranslationstabellen auf der Seite des VPN-Servers, die Antwort auf eine Anfrage an einen anderen Benutzer, der mit demselben VPN-Server verbunden ist, zu senden. Diese Methode kann verwendet werden, um den verschlüsselten Datenverkehr abzufangen oder umzuleiten, Port-Scans durchzuführen und VPN-Nutzer zu deanonymisieren. Als Beispiel wird gezeigt, wie die Methode verwendet werden kann, um DNS-Anfragen des Benutzers, der über einen VPN-Server arbeitet, an den Host des Angreifers umzuleiten, zu dem der Angreifer als Kunde eine Verbindung herstellen kann.
Um den Angriff durchzuführen, muss der Angreifer die Möglichkeit haben, sich mit einem VPN-Server mit einem Opfer, was zum Beispiel bei der Nutzung standardisierter VPN-Anbieter und öffentlicher VPN-Dienste, die allen Interessierten Zugang gewähren, möglich ist. Die Schwachstelle betrifft VPN-Server, die Adressübersetzung (NAT) verwenden, um den Zugriff von Clients auf externe Ressourcen zu organisieren, während für den Empfang von Traffic von Clients und das Senden von Anfragen an externe Websites Server die gleiche IP-Adresse verwendet werden muss.
Der Angriff basiert darauf, dass der Angreifer, der mit demselben VPN-Server verbunden ist und einen gemeinsamen NAT verwendet, durch das Senden speziell gestalteter Anfragen eine Verzerrung der Inhaltstabellen der Adressübersetzung erreichen kann. Dies führt dazu, dass Pakete, die an einen Benutzer gerichtet sind, an einen anderen Benutzer weitergeleitet werden. In den Adressübersetzungstabellen wird die Information darüber, welcher interne IP-Adresse die gesendete Anfrage zugeordnet ist, anhand der verwendeten Quellportnummer bestimmt. Der Angreifer kann durch das Senden bestimmter SYN- und ACK-Pakete und durch gleichzeitige Manipulationen des Clientverhältnisses zum VPN-Server sowie des kontrollierten externen Servers eine Kollision in der NAT-Tabelle herbeiführen und einen Eintrag mit derselben Quellportnummer hinzufügen, der jedoch mit seiner lokalen Adresse assoziiert ist. Dadurch werden die Antworten auf fremde Anfragen an die Adresse des Angreifers zurückgesendet.

Im Rahmen der Untersuchung wurden die Adressübersetzungssysteme von Linux und FreeBSD in Kombination mit den VPNs OpenVPN, OpenConnect und WireGuard getestet. Die FreeBSD-Plattform erwies sich als immun gegen von anderen Benutzern durchgeführte Redirect-Angriffe über das gleiche VPN. Eine Manipulation der NAT-Tabellen konnte nur während des ATIP-Angriffs (Adjacent-to-In-Path) durchgeführt werden, bei dem der Angreifer in den Datenverkehr zwischen dem Benutzer und dem VPN-Server eindringen kann (zum Beispiel wenn sich der Benutzer mit einem vom Angreifer kontrollierten Wi-Fi-Netzwerk verbindet) oder zwischen dem VPN-Server und der Zielwebsite. Dabei wurde auch das NAT von FreeBSD durch einen Angriff beeinträchtigt, der es ermöglicht, den Verbindungsstatus des Benutzers zu einer bestimmten Website zu bestimmen (Connection Inference).
Was Linux betrifft, so war das Netfilter-Subsystem anfällig für Angriffe, die das Einfügen von Einträgen in die Adressübersetzungstabelle ermöglichte. Diese ermöglichten, eingehende Pakete an einen anderen Benutzer umzuleiten, Pakete außerhalb des verschlüsselten VPN-Kanals zu senden (Decapsulation) oder offene Netzwerkports auf der Clientseite zu erkennen.

Als Maßnahmen zur Abwehr von Angriffen wird VPN-Anbietern empfohlen, angemessene Methoden zur Randomisierung der Quellportnummern im NAT zu verwenden, die Anzahl der zulässigen gleichzeitigen Verbindungen zu einem VPN-Server von einem Benutzer zu begrenzen und die Möglichkeit der Portwahl durch den Kunden auf der Seite des VPN-Servers zu blockieren.
Laut einem Vertreter des Unternehmens Proton AG betrifft der Angriff keine VPN-Dienste, die separate IP-Adressen für eingehende und ausgehende Anfragen verwenden. Zudem bestehen Zweifel an der Anwendbarkeit des Angriffs auf echte VPN-Dienste, da ein erfolgreicher Angriff bisher nur in Labortests demonstriert wurde und bestimmte Bedingungen aufseiten des VPN-Servers und des angegriffenen Clients erforderlich sind. Darüber hinaus kann der Angriff nur für Manipulationen an unverschlüsselten Anfragen nützlich sein, wie z.B. DNS-Anfragen, während die Nutzung von TLS und HTTPS auf Anwendungsebene die Umleitung des Traffics nutzlos macht.
Manipulation der NAT-Übertragungstabellen ist nicht nur für VPNs relevant, sondern auch für drahtlose Netzwerke, in denen NAT verwendet wird, um Benutzer mit externen Ressourcen über den Access Point zu verbinden. Im letzten Monat wurden Ergebnisse einer Studie veröffentlicht, die die Möglichkeit eines ähnlichen Angriffs auf das Abfangen von TCP-Verbindungen anderer Benutzer in drahtlosen Netzwerken untersucht. Die Angriffsmethode stellte sich als anwendbar auf 24 von 33 getesteten Access Points heraus.

Der vorgeschlagene Wi-Fi-Angriff erwies sich als erheblich einfacher als die zuvor erwähnte Methode für VPNs, da viele Access Points aufgrund von Optimierungen die Korrektheit der Sequenznummern in TCP-Paketen nicht überprüfen. Daher reichte es für den Angriff aus, ein gefälschtes RST-Paket zu senden, um den Eintrag in der NAT-Übertragungstabelle zu löschen, und anschließend sicherzustellen, dass die Antwort an den Host des Angreifers geleitet wird, um die erforderlichen Sequenznummern (SEQ) und Bestätigungen (ACK) zum Abfangen der TCP-Verbindung zu ermitteln.


Quelle: opennet.ru
