
Erkunden Sie das Netzwerk mit dem VPNPivot-Tool.
Manchmal führen wir externe Penetrationstests durch, und wenn wir das entfernte Ziel kompromittiert haben, möchten wir das interne Netzwerk dahinter erkunden und eine solche Kompromittierung erreichen, wie Active Directory zu besitzen, auf freigegebene Dateien zuzugreifen, MITM-Angriffe durchzuführen usw. Es gibt viele Techniken wie Portweiterleitung, Socks4 ... aber jede hat ihre Vor- und Nachteile. Aus diesem Grund wurde die VPN-Pivoting-Technik entwickelt – sie löst alle Probleme, die mit den beiden oben genannten Techniken auftreten. Sie ermöglicht die Interaktion mit internen Netzwerken, die durch Firewalls, NATs usw. blockiert werden.
Dies ist eine Implementierung der VPN-Pivoting-Technik unter Linux mit reinen Low-Level-Sockets innerhalb eines Tap-Geräts. Es erzeugt einen vollständig verschlüsselten Tunnel mittels SSL/TLS zwischen dem Zielrechner und dem Angreifer.
VPN Pivot sendet und empfängt einen vollständig verschlüsselten TCP/IP-Stack über einen TCP-Stream-Socket, und die Peers leiten ihn an das gewünschte Gerät/den gewünschten Host weiter. Der Angreifer erkundet das interne Netzwerk, als ob er selbst darin wäre, mit einer lokalen IP-Adresse, die vom DHCP-Server bezogen oder statisch konfiguriert wurde.
yaourt -S vpnpivot-git
Die Installation ist recht einfach, geben Sie einfach die folgenden Befehle ein:
root@pwnies:~# git clone https://github.com/0x36/VPNPivot.git
root@pwnies:~# cd VPNPivot
root@pwnies:~/VPNPivot# ./autogen.sh
root@pwnies:~/VPNPivot# ./configure
root@pwnies:~/VPNPivot# make && make install
Der VPNPivot-Server muss auf dem Rechner des Angreifers ausgeführt werden. Er erstellt ein virtuelles Gerät (Tap) mit der Möglichkeit, die MAC-Adresse zu ändern (was für Spoofing und MAC-Switching nützlich erscheint), IP-Adresse, MTU sowie den Besitzer des Interfaces. Die TAP-Geräte interagieren mit dem Zielrechner; sie senden/empfangen rohe Ethernet-Frames. Sobald der Angreifer eine erfolgreiche Tunnelverbindung hergestellt hat, kann das Tap-Gerät mit dem DHCP-Server des gehackten internen Netzwerks interagieren, Broadcast-Pakete senden/empfangen und auch IP-Adressen wiederverwenden.
Die Arbeit mit pivots ist sehr einfach, Sie müssen nur wissen, was die einzelnen Optionen bedeuten:
root@pwnies:~/VPNPivot# ./src/pivots -h
__ _______ _ _ _____ _ _
\ \ / / __ \| \ | | __ (_) | |
\ \ / /| |__) | \| | |__) |__ _____ | |_
\ \/ / | ___/| . ` | ___/ \ \ / / _ \| __|
\ / | | | |\ | | | |\ V / (_) | |_
\/ |_| |_| \_|_| |_| \_/ \___/ \__|
VPNPivot server v1.0 by Simo36
-i --iface <device> Erzeugt ein nicht-persistentes Tap-Gerät
-I --ifconf <ip/mask> Schnittstellenkonfiguration (IP/MASKE)
-p --port <port> Server-Port, auf dem gelauscht wird (Standard: 12345)
-m --mtu <size> MTU-Größe des virtuellen Geräts (Standard: 1550)
-u --user <user> Benutzer, dem das Gerät gehört (OPTIONAL)
-H --hw <MAC> Setzt die MAC-Adresse für die Schnittstelle
-C --cert <server_cert> Dateiname des PEM-Zertifikats
-P --pkey <private_key> Dateiname des PEM-privaten Schlüssels
-v --verbose Ausführlicher Modus
-d Daemonisieren
root@pwnies:~/VPNPivot#
Alle oben genannten Optionen sind optional, aber es lohnt sich, sie zu erklären, auch wenn ihre Beschreibungen selbsterklärend sind:
Der VPN-Pivot-Client muss auf dem Zielrechner ausgeführt werden. Er erstellt zwei Socket-Dateien: die erste als Client für den Tunnel und die zweite zur direkten Interaktion mit dem Gerätenetzwerk. Es funktioniert so, als ob wir ein nicht erkennbares Tap-Gerät erstellen, das schwer zu entdecken ist.
Die Arbeit mit pivotc ist noch einfacher als mit dem Server; Sie müssen nur nicht verwirrt sein, wenn Sie versuchen, ihn mit pivots zu verbinden:
root@pwnies:~/VPNPivot# ./src/pivotc
Usage :
./src/pivotc <server IP> <server port> <locale IP> [MTU]
root@pwnies:~/VPNPivot#
Die Optionen sind:
Es gibt nichts Besseres als eine Live-Demo, deshalb habe ich ein Video erstellt, das die grundlegende Verwendung von VPNPivot erklärt. Das Video ist auf YouTube.
Das war's! Viel Spaß beim Pwnen :-) Cheers