경로로 Cisco VPN을 속이세요

경로로 Cisco VPN을 속이세요

저는 분할 터널링이라는 상태를 달성하기 위해 로컬 시스템의 경로를 수정하여 cisco vpn-client를 속이는 방법을 연구 중입니다.

나는 VPN 네트워크 관리자의 허가 없이는 이 작업을 수행할 권리가 없으며 이를 사용할 의도가 없다는 것을 알고 있습니다. 그러나 이것은 Windows에서의 라우팅을 더 잘 이해하기 위한 도전이며, 어쩌면 일부 관리자에게 소프트웨어에서 해당 확인란에 의존하는 것이 보안에 전혀 쓸모가 없다는 것을 보여주기 위해 사용할 수 있는 개념 증명일 수도 있습니다.

가자, 내가 찾은 건 여기 있다. 모두 개인 네트워킹 주소로 수정되었습니다. 시나리오는 soho-network 192.168.81.0에서 작업하고 cisco-vpn을 통해 그의 회사 네트워크 192.168.71.0에 연결하는 원격 작업자입니다. 이 예에서는 Cisco 구성의 VPN 호스트가 192.168.10.5로 수정되었습니다.

원격 작업자는 WLAN을 통해 소호 네트워크에 연결되어 있으며 VPN이 아닌 동안의 일반적인 IP 설정은 다음과 같습니다.

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이 낮은 기본 경로를 추가하고 모든 트래픽을 터널로 보냅니다. 이전 기본 경로는 제거되지 않지만 VPN 경로의 Metrik이 낮기 때문에 AFAIR는 사용되지 않습니다. 또한 새로운 기본 경로가 영구적으로 만들어지는데, 이는 의미가 없기 때문에 재부팅 후 VPN 클라이언트가 실행되지 않고 해당 경로가 더 이상 존재하지 않아야 하기 때문에 정말 짜증납니다. 하지만 시스코가 어떻게 작동하는지 누가 알겠어요 ;-)

제가 이 도전을 시작하게 된 계기는 다음과 같습니다.

     192.168.10.5  255.255.255.255   192.168.81.254    192.168.81.105    100

내가 이해한 바에 따르면, 이 경로는 전체 VPN 터널이 이 경로를 사용하여 실제 인터페이스에서 트래픽을 내보내야 하는 경로이기 때문에 모든 것이 작동하도록 합니다. 그래서 기본 트래픽을 실제 인터페이스에서 실제 게이트웨이로 내보내고 원격 네트워크의 트래픽을 VPN 터널로 가져오도록 라우팅을 수정하는 것이 그리 어렵지 않아야 한다고 생각했습니다.

기본 경로를 삭제한 다음 VPN 연결 이전과 마찬가지로 새 기본 경로를 추가하는 것으로 시작합니다. 그런 다음 원격 네트워크에 특정 경로를 추가합니다.

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

그러나 이 수정 후에는 cisco VPN 클라이언트가 추가한 경로와 마찬가지로 원격 네트워크에 완벽하게 연결할 수 있지만 인터넷에는 연결할 수 없습니다.

경로에 아무런 문제가 없기 때문에 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

나는 몇 달 동안 같은 문제를 겪었습니다. 연결을 끊고 인터넷에 접속할 수 있었습니다. 회사 리소스에 액세스할 수 있도록 연결하세요.... 고통스럽습니다.

내 임시 해결책은 Debian Linux에 Sonatype Nexus(종속성을 위한 프록시)를 설치하고 다음과 연결하는 것이었습니다.VPNC. 일반적으로 apt-get/yum 등을 사용하여 설치할 수 있습니다.

이 솔루션이 충분하지 않을 때 vpnc-fe http: // sourceforge.net/projects/vpncfe/(VPNc 프런트 엔드)를 사용하여 Windows 시스템에 vpnc를 설치했습니다.

내 구성에는 "Force-NTT"라는 완벽한 보안 설정이 필요했습니다. 보다이 스레드. 나중에 postconnect.bat에 다음 스크립트를 넣어야 합니다:

[스레드가 다운될 경우를 대비하여 복사]

고마워요, 로데케르켄! 최종 결과는 다음과 같습니다. 분할된 경로를 분리하는 데 수동으로 수정할 필요가 없습니다.

@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€

관련 정보