Ich arbeite an einer Möglichkeit, den Cisco VPN-Client auszutricksen, indem ich die Routen auf dem lokalen System ändere, um einen Status zu erreichen, der Split-Tunneling genannt wird.
Ich weiß, dass ich nicht das Recht habe, dies ohne die Erlaubnis des Administrators des VPN-Netzwerks zu tun, und beabsichtige nicht, dies zu verwenden. Dies ist jedoch eine Herausforderung für mich, um das Routing unter Windows besser zu verstehen, vielleicht sogar ein Proof of Concept, mit dem ich einigen Administratoren zeigen könnte, dass es für die Sicherheit überhaupt keinen Nutzen bringt, sich auf dieses Kontrollkästchen in ihrer Software zu verlassen.
Los geht‘s, hier ist, was ich gefunden habe. Es ist alles in private Netzwerkadressen geändert. Das Szenario ist ein Remote-Mitarbeiter, der von seinem Soho-Netzwerk 192.168.81.0 aus arbeitet und sich über Cisco-VPN mit seinem Firmennetzwerk 192.168.71.0 verbindet. Der VPN-Host für die Cisco-Konfiguration wird in diesem Beispiel auf 192.168.10.5 geändert.
Der Remote-Mitarbeiter ist über WLAN mit seinem Soho-Netzwerk verbunden, seine normalen IP-Einstellungen, wenn er nicht im VPN ist, sehen wie folgt aus:
Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung:
Verbindungsspezifisches DNS-Suffix: soho
Beschreibung. . . . . . . . . . . : Intel(R) Centrino(R) Ultimate-N 6300 AGN
Physikalische Adresse . . . . . . : 00-00-00-00-00-01
DHCP aktiviert. . . . . . . . . . : Ja
Autokonfiguration aktiviert . . . : Ja
IPv4-Adresse . . . . . . . . . . : 192.168.81.105(Bevorzugt)
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.81.254
DHCP-Server . . . . . . . . . . . : 192.168.81.254
DNS-Server . . . . . . . . . . . : 208.67.222.222
8.8.8.8
195.66.0.3
NetBIOS über TCP/IP . . . . . . . : Aktiviert
Die Routingtabelle auf dem System sieht erwartungsgemäß unspektakulär aus:
===========================================================================
Schnittstellenliste
15...24 77 03 20 82 20 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN
===========================================================================
IPv4-Routentabelle
===========================================================================
Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
0.0.0.0 0.0.0.0 192.168.81.254 192.168.81.105 25
127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 306
127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 306
127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
192.168.81.0 255.255.255.0 Auf Verbindung 192.168.81.105 281
192.168.81.105 255.255.255.255 Auf Verbindung 192.168.81.105 281
192.168.81.255 255.255.255.255 Auf Verbindung 192.168.81.105 281
224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 306
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.81.105 281
255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.81.105 281
===========================================================================
Ständige Routen:
Keine
Nach der Verbindung mit dem VPN wird das virtuelle Netzwerkgerät zum System hinzugefügt:
Ethernet-Adapter LAN-Verbindung 2:
Verbindungsspezifisches DNS-Suffix:
Beschreibung. . . . . . . . . . . : Cisco Systems VPN Adapter for 64-bit Windows
Physikalische Adresse . . . . . . : 00-00-00-00-00-02
DHCP aktiviert. . . . . . . . . . : Nein
Autokonfiguration aktiviert . . . : Ja
IPv4-Adresse . . . . . . . . . . : 192.168.71.186(Bevorzugt)
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.71.1
DNS-Server . . . . . . . . . . . : 10.2.20.12
10.2.20.13
Primärer WINS-Server. . . . . . . : 10.2.20.12
Sekundärer WINS-Server. . . . . . : 10.2.20.13
NetBIOS über TCP/IP . . . . . . . : Aktiviert
Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung:
Verbindungsspezifisches DNS-Suffix: soho
Beschreibung. . . . . . . . . . . : Intel(R) Centrino(R) Ultimate-N 6300 AGN
Physikalische Adresse . . . . . . : 00-00-00-00-00-01
DHCP aktiviert. . . . . . . . . . : Ja
Autokonfiguration aktiviert . . . : Ja
IPv4-Adresse . . . . . . . . . . : 192.168.81.105(Bevorzugt)
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.81.254
DHCP-Server . . . . . . . . . . . : 192.168.81.254
DNS-Server . . . . . . . . . . . : 208.67.222.222
8.8.8.8
195.66.0.3
NetBIOS über TCP/IP . . . . . . . : Aktiviert
Die Routing-Tabelle wird wie folgt geändert:
===========================================================================
Schnittstellenliste
22...00 00 00 00 00 02 ......Cisco Systems VPN Adapter for 64-bit Windows
15...24 77 03 20 82 20 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN
===========================================================================
IPv4-Routentabelle
===========================================================================
Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
0.0.0.0 0.0.0.0 192.168.81.254 192.168.81.105 25
0.0.0.0 0.0.0.0 192.168.71.1 192.168.71.186 21
127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 306
127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 306
127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
192.168.71.0 255.255.255.0 Auf Verbindung 192.168.71.186 276
192.168.71.186 255.255.255.255 Auf Verbindung 192.168.71.186 276
192.168.71.255 255.255.255.255 Auf Verbindung 192.168.71.186 276
192.168.81.0 255.255.255.0 Auf Verbindung 192.168.81.105 281
192.168.81.0 255.255.255.0 192.168.71.1 192.168.71.186 281
192.168.81.105 255.255.255.255 Auf Verbindung 192.168.81.105 281
192.168.81.105 255.255.255.255 192.168.71.1 192.168.71.186 281
192.168.81.254 255.255.255.255 Auf Verbindung 192.168.81.105 100
192.168.81.255 255.255.255.255 Auf Verbindung 192.168.81.105 281
192.168.10.5 255.255.255.255 192.168.81.254 192.168.81.105 100
224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 306
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.81.105 281
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.71.186 276
255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.81.105 281
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.71.186 276
===========================================================================
Ständige Routen:
Netzwerkadresse Netzmaske Gatewayadresse Metrik
0.0.0.0 0.0.0.0 192.168.71.1 1
===========================================================================
Wie man sehen kann, fügt der Cisco VPN-Client eine Standardroute mit niedriger Metrik hinzu und schickt den gesamten Verkehr in den Tunnel. Die vorherige Standardroute wird nicht entfernt, aber meiner Ansicht nach einfach nicht verwendet, da die VPN-Route niedrigere Metrik hat. Außerdem wird die neue Standardroute permanent gemacht, was wirklich ärgerlich ist, da es sinnlos ist, da der VPN-Client nach einem Neustart nicht mehr läuft und die Route nicht mehr vorhanden sein sollte. Aber wer weiß, wie Cisco das macht ;-)
Was mich dazu gebracht hat, diese Herausforderung anzunehmen, ist folgender Weg:
192.168.10.5 255.255.255.255 192.168.81.254 192.168.81.105 100
Nach meinem Verständnis funktioniert das Ganze über diese Route, da dies die Route ist, die der gesamte VPN-Tunnel verwenden muss, um den Datenverkehr über die echte Schnittstelle zu leiten. Daher dachte ich, es sollte nicht allzu schwierig sein, das Routing zu ändern, um den Standarddatenverkehr über die echte Schnittstelle zurück zum echten Gateway und nur den Datenverkehr für das Remote-Netzwerk zum VPN-Tunnel zu leiten.
Ich habe zunächst die Standardrouten gelöscht und dann eine neue Standardroute hinzugefügt, so wie sie vor der VPN-Verbindung war. Anschließend habe ich eine spezielle Route zum Remote-Netzwerk hinzugefügt:
route DELETE 0.0.0.0
route ADD 0.0.0.0 MASK 0.0.0.0 192.168.81.254 IF 15
route ADD 10.2.31.0 MASK 255.255.255.0 192.168.71.1 IF 22
Danach sieht die Routing-Tabelle für mich gut aus:
===========================================================================
Schnittstellenliste
22...00 00 00 00 00 02 ......Cisco Systems VPN Adapter for 64-bit Windows
15...00 00 00 00 00 01 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN
===========================================================================
IPv4-Routentabelle
===========================================================================
Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
0.0.0.0 0.0.0.0 192.168.81.254 192.168.81.105 26
10.2.31.0 255.255.255.0 192.168.71.1 192.168.71.186 21
127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 306
127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 306
127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
192.168.71.0 255.255.255.0 Auf Verbindung 192.168.71.186 276
192.168.71.186 255.255.255.255 Auf Verbindung 192.168.71.186 276
192.168.71.255 255.255.255.255 Auf Verbindung 192.168.71.186 276
192.168.81.0 255.255.255.0 Auf Verbindung 192.168.81.105 281
192.168.81.0 255.255.255.0 192.168.71.1 192.168.71.186 281
192.168.81.105 255.255.255.255 Auf Verbindung 192.168.81.105 281
192.168.81.105 255.255.255.255 192.168.71.1 192.168.71.186 281
192.168.81.254 255.255.255.255 Auf Verbindung 192.168.81.105 100
192.168.81.255 255.255.255.255 Auf Verbindung 192.168.81.105 281
192.168.10.5 255.255.255.255 192.168.81.254 192.168.81.105 100
224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 306
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.81.105 281
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.71.186 276
255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.81.105 281
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.71.186 276
===========================================================================
Ständige Routen:
Keine
Nach dieser Änderung kann ich mich jedoch wie mit den vom Cisco VPN-Client hinzugefügten Routen problemlos mit dem Remote-Netzwerk verbinden, jedoch nicht mit dem Internet.
Da ich bei den Routen nichts falsch erkennen kann, habe ich nochmal nachgeschaut, ob Cisco mein DNS-System durcheinandergebracht hat, aber das ist auf der WLAN-Schnittstelle unberührt.
Ethernet-Adapter LAN-Verbindung 2:
Verbindungsspezifisches DNS-Suffix:
Beschreibung. . . . . . . . . . . : Cisco Systems VPN Adapter for 64-bit Windows
Physikalische Adresse . . . . . . : 00-00-00-00-00-02
DHCP aktiviert. . . . . . . . . . : Nein
Autokonfiguration aktiviert . . . : Ja
IPv4-Adresse . . . . . . . . . . : 192.168.71.186(Bevorzugt)
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.71.1
DNS-Server . . . . . . . . . . . : 10.2.20.12
10.2.20.13
Primärer WINS-Server. . . . . . . : 10.2.20.12
Sekundärer WINS-Server. . . . . . : 10.2.20.13
NetBIOS über TCP/IP . . . . . . . : Aktiviert
Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung:
Verbindungsspezifisches DNS-Suffix: soho
Beschreibung. . . . . . . . . . . : Intel(R) Centrino(R) Ultimate-N 6300 AGN
Physikalische Adresse . . . . . . : 00-00-00-00-00-01
DHCP aktiviert. . . . . . . . . . : Ja
Autokonfiguration aktiviert . . . : Ja
IPv4-Adresse . . . . . . . . . . : 192.168.81.105(Bevorzugt)
Subnetzmaske . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.81.254
DHCP-Server . . . . . . . . . . . : 192.168.81.254
DNS-Server . . . . . . . . . . . : 208.67.222.222
8.8.8.8
195.66.0.3
NetBIOS über TCP/IP . . . . . . . : Aktiviert
Hier stirbt mein Pferd und ich brauche eure Hilfe. Kann mir jemand einen Hinweis geben, was ich übersehe und/oder falsch verstehe? Gibt es da draußen irgendwelche BlackHats?
Antwort1
Ich habe seit einigen Monaten das gleiche Problem. Ich musste die Verbindung trennen und hatte Internetzugang. Verbinden, damit ich auf Unternehmensressourcen zugreifen kann... Eine Qual.
Meine vorübergehende Lösung bestand darin, einen Sonatype Nexus (Proxy für Abhängigkeiten) unter Debian Linux zu installieren und eine Verbindung herzustellen mitVPN. Normalerweise können Sie es mit apt-get/yum usw. installieren.
Als diese Lösung nicht ausreichte, habe ich VPN auf meinem Windows-Rechner mit VPN-fe http://sourceforge.net/projects/vpncfe/ (VPNc-Front-End) darüber installiert.
Meine Konfiguration erforderte eine Einstellung für perfekte Sicherheit namens "Force-NTT". Siehedieser Thread. Später müssen Sie das folgende Skript in postconnect.bat einfügen:
[Kopieren, falls der Thread abstürzt]
Vielen Dank, rodekerken! Hier ist das Endergebnis, kein manuelles Basteln erforderlich, um die geteilten Routen aufzuteilen:
@echo off
REM By: capt-tagon
REM
REM Post-Script.bat to take VPNC's Route Table into Windows 7 land. Erases bad route table entries,
REM extracts gateway, assigned IP, Netmask, and Cisco split route entries and resubmits them to
REM Windows 7 so the routing all works. Condensed from other entries on the VPNC-FE forae and combined
REM with information gleaned from VPNC client for Linux to find all the passed parameters useful
REM to making this work. Additional by rodekerken noted below, thank you for helping finish it out.
REM
setlocal enabledelayedexpansion
echo.
echo Post-Script Begin
echo.
REM Gather Connection Data
REM
REM Parameters passed have space at end, see "HELP SET" at Console Prompt for explanation of
REM substring extraction
REM Strip space from TUNDEV, INTERNAL_IP4_ADDRESS, VPNGATEWAY, CISCO_SPLIT_INC
REM This will be broken if VPNC-FE is fixed to not export parameters with the trailing space.
REM
set MyTUNDev=%TUNDEV:~0,-1%
REM By: rodekerken
REM From the top of the router table printout, look for a line like
REM 14...00 ff 5d b0 44 aa ......TAP-Win32 Adapter V9 to find the if number.
REM A way to find out the interface number automatically and extractis this:
for /f "tokens=1 delims=." %%a in ('route print ^|find "TAP-Win32"') do set MyIF=%%a
set MyIP=%INTERNAL_IP4_ADDRESS:~0,-1%
set MyMask=%INTERNAL_IP4_NETMASK:~0,-1%
set MyVPN=%VPNGATEWAY:~0,-1%
REM Number of Routing Table Entries for Split Tunnel
set MyCiscoSplit=%CISCO_SPLIT_INC:~0,-1%
REM Date Time functions
set ANSIDate=%date:~10%%date:~4,2%%date:~7,2%
set StartTime=%time:~0,2%%time:~3,2%%time:~6,2%
REM Display Connection Data
echo Tunnel Device : [%MyTUNDev%]
echo Tunnel IntFace: [%MyIF%]
echo Tunnel IPAddr : [%MyIP%]
echo Tunnel NetMask: [%MyMask%]
echo Tunnel VPN-GW : [%MyVPN%]
echo .
echo Date Connected: [%ANSIDate%]
echo Time Connected: [%StartTime%]
echo .
REM Cisco Routes are 0 index, 6 Routes = 0-5
echo Cisco Split Routes: [%MyCiscoSplit%]
REM Display Bad Route Table
echo.
echo Bad Route Table
route print | find "%MyIP%"
echo.
REM Delete Bad Split Route entries and add back with proper Gateway.
REM Extract Cisco routing table information to feed to "ROUTE ADD"
REM Number of entries passed in Array Index CISCO_SPLIT_INC
REM For x below, value is 0 to CISCO_SPLIT_INC - 1
REM Address is passed in CISCO_SPLIT_INC_x_ADDR
REM NetMask is passed in CISCO_SPLIT_INC_x_MASK
REM
REM By: rodekerken
REM A way to loop and enumerate and evaluate the routes is like this:
set /A MyCiscoSplit-=1
for /L %%i in (0,1,%MyCiscoSplit%) do (
set SplitAddr=CISCO_SPLIT_INC_%%i_ADDR
set SplitMask=CISCO_SPLIT_INC_%%i_MASK
for /f %%a in ('echo !SplitAddr!') do set SplitAddrEval=!%%a!
for /f %%a in ('echo !SplitMask!') do set SplitMaskEval=!%%a!
echo Route%%i !SplitAddrEval! !SplitMaskEval!
route delete !SplitAddrEval! >nul
route add !SplitAddrEval! mask !SplitMaskEval! %MyVPN% metric 1 if %MyIF% >nul
)
REM Display Corrected Route Table
echo.
echo Corrected Route Table
route print | find "%MyVPN%"
echo.
echo Post-Script End
echo.
Ich habe diese Routen auch nach „FOR“ hinzugefügt:
route add 1111.120.120.0 mask 255.255.255.0 0.0.0.0 metric 1 if %MyIF%
route add 1111.185.19.0 mask 255.255.255.0 0.0.0.0 metric 1 if %MyIF%
route add 10.0.0.0 mask 255.0.0.0 0.0.0.0 metric 1 if %MyIF%
[Bitte beachten Sie, dass die ersten beiden Routen falsche/falsche Adressen haben. Sie müssen diese trotzdem ändern]
Damit mein Skript wiederholt funktioniert, müssen Sie eine „disconnect.bat“ erstellen, die die Entfernung der Routen enthält:
route delete 1111.120.120.0
route delete 1111.185.19.0
route delete 10.0.0.0
Nur meine 0,02€