Я работаю над тем, как обмануть Cisco VPN-клиент, изменив маршруты в локальной системе, чтобы достичь состояния, называемого раздельным туннелированием.
Я знаю, что не имею права делать это без разрешения администратора vpn-сети и не собираюсь этим пользоваться. Однако, это вызов для меня, чтобы лучше понять маршрутизацию под Windows, возможно, даже доказательство концепции, которое я мог бы использовать, чтобы показать некоторым администраторам, что полагаться на этот флажок в их программном обеспечении совершенно бесполезно для безопасности.
Давайте, вот что я нашел. Все это изменено на частные сетевые адреса. Сценарий: удаленный работник работает из своей soho-сети 192.168.81.0 и подключается через cisco-vpn к своей companie-сети 192.168.71.0. VPN-хост для конфигурации cisco в этом примере изменен на 192.168.10.5.
Удаленный работник подключен к своей сети Soho через WLAN, его обычные настройки IP без использования VPN выглядят следующим образом:
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
Таблица маршрутизации в системе выглядит, как и ожидалось, не впечатляюще:
===========================================================================
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
После подключения к VPN виртуальное сетевое устройство добавляется в систему:
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
Таблица маршрутизации изменена следующим образом:
===========================================================================
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
===========================================================================
Как вы видите, клиент cisco vpn добавляет маршрут по умолчанию с низким Metrik и отправляет весь трафик в туннель. Прежний маршрут по умолчанию не удаляется, но AFAIR просто не используется из-за низкого Metrik vpn-маршрута. Кроме того, новый маршрут по умолчанию становится постоянным, что действительно раздражает, так как это бессмысленно, после перезагрузки vpn-клиент не запустится, и маршрута больше не должно быть. Но кто знает, как работает cisco ;-)
Начать этот челлендж меня побудил следующий маршрут:
192.168.10.5 255.255.255.255 192.168.81.254 192.168.81.105 100
Насколько я понимаю, этот маршрут заставляет все это работать, поскольку это маршрут, который весь vpn-туннель должен использовать для вывода трафика из реального интерфейса. Поэтому я подумал, что не должно быть слишком сложно изменить маршрутизацию, чтобы вернуть трафик по умолчанию из реального интерфейса на реальный шлюз и только трафик для удаленной сети в vpn-туннель.
Я начал с удаления маршрутов по умолчанию, затем добавил новый маршрут по умолчанию, как это было до vpn-подключения. Затем добавил определенный маршрут в remote-network:
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
После этого таблица маршрутизации выглядит у меня нормально:
===========================================================================
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
Однако после этой модификации я могу нормально подключиться к удаленной сети, как и по маршрутам, добавленным VPN-клиентом Cisco, но не к Интернету.
Поскольку я не вижу ничего неправильного в маршрутах, я еще раз проверил, не испортила ли Cisco мою систему DNS, но на интерфейсе WLAN она осталась нетронутой.
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
Здесь умирает моя лошадь, и мне нужна ваша помощь. Есть ли кто-нибудь, кто может подсказать мне, что я упускаю и/или понимаю неправильно? Есть ли BlackHats?
решение1
У меня была та же проблема в течение нескольких месяцев. Мне пришлось отключиться и иметь доступ в Интернет. Подключиться, чтобы иметь доступ к корпоративным ресурсам.... Боль.
Моим временным решением было установить Sonatype Nexus (прокси для зависимостей) под Debian Linux и подключиться кvpnc. Обычно его можно установить с помощью apt-get/yum и т. д.
Когда этого решения оказалось недостаточно, я установил vpnc на свой компьютер с Windows и vpnc-fe http://sourceforge.net/projects/vpncfe/ (VPNc Front-End) поверх.
Моя конфигурация требовала настройки для идеальной безопасности под названием «Force-NTT». Смотретьэта тема. Позже вам нужно будет поместить следующий скрипт в postconnect.bat:
[Копия на случай, если тема исчезнет]
Спасибо, rodekerken! Вот окончательный результат, не нужно ничего вручную доделывать, чтобы разбить разделенные маршруты:
@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.
Я также добавил эти маршруты после «FOR»:
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%
[Обратите внимание, что первые два маршрута имеют неверные/поддельные адреса. Вам в любом случае нужно изменить их]
Для того, чтобы мой скрипт работал многократно, необходимо создать «disconnect.bat», содержащий удаление маршрутов:
route delete 1111.120.120.0
route delete 1111.185.19.0
route delete 10.0.0.0
Только мои 0,02€