NAT-Slipstreaming, ein Bypass-Angriff, ermöglicht den Zugriff auf alle TCP / UDP-Dienste

Sami Kamkar (Ein berühmter Sicherheitsforscher, der dafür bekannt ist, verschiedene hochentwickelte Angriffsgeräte zu entwickeln, z. B. einen Keylogger auf einem USB-Telefonladegerät.) hat eine neue Angriffstechnik namens "NAT Slipstreaming" eingeführt.

Der Angriff Ermöglicht beim Öffnen einer Seite in einem Browser das Herstellen einer Verbindung vom Server des Angreifers an einen beliebigen UDP- oder TCP-Port auf dem System des Benutzers hinter dem Adressübersetzer. Das Attack Toolkit wird auf GitHub veröffentlicht.

Die Methode beruht darauf, den ALG-Verbindungsverfolgungsmechanismus zu täuschen (Gateways auf Anwendungsebene) in Adressübersetzern oder Firewalls, mit denen die NAT-Weiterleitung von Protokollen organisiert wird, die mehrere Netzwerkports (einen für Daten und einen für die Steuerung) verwenden, z. B. SIP. H323, IRC DCC und FTP.

Der Angriff gilt für Benutzer, die eine Verbindung zum Netzwerk herstellen Verwenden Sie interne Adressen aus dem Intranetbereich (192.168.xx, 10.xxx) und ermöglichen Sie das Senden von Daten an einen beliebigen Port (keine HTTP-Header).

Um einen Angriff auszuführen, Es reicht aus, wenn das Opfer den vom Angreifer vorbereiteten JavaScript-Code ausführtZum Beispiel durch Öffnen einer Seite auf der Website des Angreifers oder Anzeigen einer böswilligen Werbung auf einer legitimen Website.

In einer ersten Phase Der Angreifer erhält Informationen über die interne Adresse des Benutzers. Dies kann von WebRTC oder, wenn WebRTC deaktiviert ist, durch Brute-Force-Angriffe mit Messung der Antwortzeit beim Anfordern eines ausgeblendeten Images festgestellt werden (bei vorhandenen Hosts ist der Versuch, ein Image anzufordern, aufgrund eines Zeitlimits vor der Rückgabe eines TCP schneller als bei nicht vorhandenen RST-Antwort).

In der zweiten Stufe der JavaScript-Code im Browser des Opfers ausgeführt generiert eine große HTTP-POST-Anforderung (der nicht in ein Paket passt) auf den Server des Angreifers unter Verwendung einer nicht standardmäßigen Netzwerkportnummer, um die Optimierung der TCP-Fragmentierungsparameter und der MTU-Größe auf dem TCP-Stapel des Opfers einzuleiten.

Als Antwort Der Server des Angreifers gibt ein TCP-Paket mit der Option MSS zurück (Maximale Segmentgröße), die die maximale Größe des empfangenen Pakets bestimmt. Im Fall von UDP ist die Manipulation ähnlich, erfordert jedoch das Senden einer großen WebRTC-TURN-Anforderung, um eine Fragmentierung auf IP-Ebene auszulösen.

«NAT Slipstreaming nutzt den Browser des Benutzers in Verbindung mit dem in NAT, Routern und Firewalls integrierten ALG-Verbindungsverfolgungsmechanismus (Application Level Gateway), indem es die interne IP-Extraktion über einen WebRTC- oder Timing-Angriff verkettet und die Fragmentierung automatisierter Remote-IP- und MTU-, TCP-Pakete fragmentiert Größenmassage, Missbrauch der TURN-Authentifizierung, präzise Kontrolle der Paketlimits und Protokollverwirrung durch Browser-Missbrauch ", sagte Kamkar in einer Analyse.

Die Hauptidee ist das, wenn man die Fragmentierungsparameter kennt, kann Senden Sie eine große HTTP-Anfrage, deren Warteschlange auf das zweite Paket fällt. Gleichzeitig wird die Warteschlange, die in das zweite Paket eingeht, so ausgewählt, dass sie keine HTTP-Header enthält und auf Daten reduziert wird, die vollständig einem anderen Protokoll entsprechen, für das NAT-Traversal unterstützt wird.

In der dritten Stufe generiert der JavaScript-Code mithilfe der obigen Manipulation eine speziell ausgewählte HTTP-Anforderung (oder TURN für UDP) und sendet sie an den TCP-Port 5060 des Servers des Angreifers, der nach der Fragmentierung in zwei Pakete aufgeteilt wird: ein Paket mit HTTP-Headern und einem Teil der Daten sowie einem gültigen SIP-Paket mit der internen IP des Opfers.

Das System zur Verfolgung von Verbindungen auf dem Netzwerkstapel betrachtet dieses Paket als den Beginn einer SIP-Sitzung und es ermöglicht die Paketweiterleitung für jeden vom Angreifer ausgewählten Port, vorausgesetzt, dieser Port wird für die Datenübertragung verwendet.

Der Angriff kann unabhängig vom verwendeten Browser ausgeführt werden. Um das Problem zu lösen, schlugen Mozilla-Entwickler vor, die Möglichkeit zum Senden von HTTP-Anforderungen an die mit dem SIP-Protokoll verbundenen Netzwerkports 5060 und 5061 zu blockieren.

Die Entwickler der Chromium-, Blink- und WebKit-Engines planen ebenfalls die Implementierung einer ähnlichen Schutzmaßnahme.

Quelle: https://samy.pl


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.