內網滲透中隧道滲透技術(原)
端口轉發、端口映射、socks代理工具(msf的portfwd、socks4a和windows下的lcx.exe)的使用做一個記錄筆記
場景應用
端口轉發:用於目標機器對某端口進出進行了限制
端口映射:用於目標機器內網環境無法外網進行3389連接
Socks代理:用於目標機器上進行跳板滲透、內網穿透
常見工具:
工具名稱 |
主要用途 |
平台 |
備注 |
lcx |
端口映射 |
Windows |
只支持tcp協議的端口轉發,非系統內置 |
netsh |
端口映射 |
Windows |
只支持tcp協議的端口轉發 |
rinetd |
反向代理 |
Linux |
需要安裝包 |
Earthworm |
端口映射、Socks5代理 |
Linux、Windows、MacOS、Arm-Linux |
非系統內置 |
reGeorg |
Socks5 代理 |
常見腳本語言 |
需腳本環境執行,且網絡狀況較好 |
Metasploit portfwd |
端口映射 |
MSF -> Metpreter會話 |
需要網絡狀況較好 |
socat |
端口映射 |
Linux |
可能需要安裝 |
Metasploit->socks4a |
反向代理 |
MSF -> Metpreter會話 |
需要會話主機有外網代理IP |
tunna |
HTTP隧道 |
常見腳本語言 |
需腳本環境執行,且網絡狀況較好 |
練習前meterpreter等環境准備:
Kali攻擊機 192.168.100.0 靶機 xp 192.168.100.128 靶機windows2003 192.168.100.3
攻擊機開啟apache 在apache根目錄生成反彈連接的木馬
開啟監聽
靶機xp執行木馬 上線
0x01練習1:使用msf下的portfwd對靶機進行3389端口映射外網端口
映射靶機3389端口到3333 -L 參數可以指定映射的外網地址 不加默認地址為攻擊機地址
-L 是kali 的ip -r是靶機shell的ip 3389端口轉發到靶機的3333
執行
(portfwd flush 清除建立的映射規則 list查看規則 )
現在靶機的3389端口已經映射在了我攻擊機的3333端口
0x02練習二:使用lcx進行端口外網映射和3389本地端口轉發
假設xp為內網 需要端口映射到外網機器
靶機執行
Lcx.exe -slave 192.168.100.3 12345 192.168.100.128 3389 (把攻擊機的12346數據 傳遞給靶機的3389)
攻擊機執行
Lcx.exe -listen 12345 12346 (把攻擊機12345端口接收到的數據轉發到哦12346端口)
假設靶機xp被安全策略限制了3389端口進出 我們需要進行端口轉發 轉發到本地另外的端口 進行數據流入流出
靶機執行
Lcx.exe -slave 127.0.0.1 51 127.0.0.1 3389
Lcx.exe -listen 51 52
第一條把3389接收的數據轉發到51端口 再把51端口轉成52端口流出
0x03練習三使用Metasploit->socks4a的模塊進行跳板訪問(使用瀏覽器代理、或proxychains-ng等工具代理)
用戶我們可以訪問靶機a 但是我們不能直接訪問靶機b 只有通過靶機a訪問靶機b
模擬環境 xp和win03處一個域下 通過kali控制03來進行跳板訪問xp
先添加路由 相當於靶機03(被我們控制的靶機) 作為一個路由器 用來轉發分組的作用
使用msf的socks4a代理
安裝
proxychains-ng
git clone https://github.com/rofl0r/proxychains-ng
編譯安裝
./configure --prefix=/usr --sysconfdir=/etc
make
make install
make install-config (安裝proxychains.conf配置文件)
配置proxychains-ng
proxychains-ng默認配置文件名為proxychains.conf。
通過源代碼編譯安裝的默認為/etc/proxychains.conf。
將代理加入[ProxyList]中即可
proxychains-ng 使用
現在我們就是通過03(被我們控制的靶機) 進行代理 掃描內網中的xp
完畢。