1. 程式人生 > >[Linux] SSH內網轉發

[Linux] SSH內網轉發

進程pid 啟動 關於 舉例 start session 月份 虛擬機 不為


有這樣一個場景:
kali 內網虛擬機
CentOS7.3 阿裏雲外網機
本機win7 模擬受害者

11月份有爆出過Office的一個關於公式編輯器的漏洞(CVE-2017-11882),參考復現過程可以參考我的另一篇文章,通常為了驗證漏洞,我們會在本地測試該漏洞是否確實可以利用。
我們在虛擬機測試的環境局限於內網,如果我想發給外網的一個朋友,他打開這個word文檔,我就可以在kali機獲取到一個session。

大致流程:
1.我們事先生成惡意word文檔,並在kali下打開msf,監聽4444端口,等待傳入的連接
2.在kali機運行ssh反向連接4444端口到外網的一臺阿裏雲機器1111端口
3.把惡意word文檔發給朋友,朋友打開以後觸發漏洞,會主動連接阿裏雲機器的1111端口,然後阿裏雲機器轉發到內網kali的4444端口
4.kali接收到傳入的連接,自動建立起了一個session,然後我們就可以session -i ID對朋友主機進行shell命令執行、屏幕截圖、鍵盤記錄等操作了

選項:

-R 1111(外網主機端口):localhost:80(本機80端口) USER@外網主機

-L 本地的ssh連接
-R 反向的ssh連接
-N 只連接遠程主機,不打開shell
-f SSH連接成功後轉入後臺運行
-T 不為這個連接分配TTY

反向連接在建立之後只能使用kill命令來殺掉進程PID。


舉例:
root@kali:~# systemctr start nginx #先啟動一個80端口的nginx測試,沒有的話apt-get install nginx安裝
root@kali:~# sudo ssh -NfR 1111:localhost:80 [email protected] -p 22 #ssh反向連接
[email protected]‘s password: #輸入密碼


#在阿裏雲機器就會看到一個由sshd監聽在1111端口的連接
[root@iz1zdekzlq9sm5c8t43t2uh ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1123/sshd
tcp 0 0 0.0.0.0:1111 0.0.0.0:* LISTEN 1918/sshd: root

現在在我們真實機器上訪問 47.95.xxx.xxx:1111端口,就會訪問到kali虛擬機內的nginx服務
http://47.95.xxx.xxx:1111

[Linux] SSH內網轉發