文章來源:先知社區(qū)
簡介
ssh能夠提供客戶端到服務端的加密傳輸,當http、ftp等協(xié)議被防火墻所攔截時,可以考慮使用SSH的端口轉(zhuǎn)發(fā)功能,將其它TCP端口的網(wǎng)絡(luò)數(shù)據(jù)通過SSH連接來轉(zhuǎn)發(fā)。
轉(zhuǎn)發(fā)方式一共有三種,分別是:動態(tài)轉(zhuǎn)發(fā),本地轉(zhuǎn)發(fā),遠端轉(zhuǎn)發(fā)。
命令參數(shù)詳解
socks代理:ssh -qTfnN -D port remotehost參數(shù)詳解:-C 允許壓縮數(shù)據(jù)-q 安靜模式-T不占用 shell-f 后臺運行,并推薦加上 -n 參數(shù)-N不執(zhí)行遠程命令-g允許遠端主機連接本地轉(zhuǎn)發(fā)的端口-n把 stdin 重定向到 /dev/null (防止從 stdin 讀取數(shù)據(jù))-L port:host :hostport 正向代理//將本地機(客戶機)的某個端口轉(zhuǎn)發(fā)到遠端指定機器的指定端口-R port:host :hostport 反向代理//將遠程主機(服務器)的某個端口轉(zhuǎn)發(fā)到本地端指定機器的指定端口-D port socks5代理//指定一個本地機器 "動態(tài)" 應用程序端口轉(zhuǎn)發(fā)。
動態(tài)轉(zhuǎn)發(fā)(正向sockets代理)
實驗環(huán)境
一臺kali 192.168.0.137一臺centos7 雙網(wǎng)卡192.168.0.229192.168.254.150目標:實現(xiàn)從kali訪問到192.168.254.150的web服務
實驗步驟
1.在攻擊者kali上執(zhí)行用攻擊者ssh連接跳板機,然后將自己
ssh-qTfnN-D1080root@192.168.0.137
-D 1080 -D [bind_address:]port D參數(shù)說明:我們開啟一個本地的端口轉(zhuǎn)發(fā)。
通過在本地分配一個socket去監(jiān)聽端口只要有連接請求到這個port上來時,這個連接就會被安全通過給轉(zhuǎn)發(fā)出去,應用程序的協(xié)議將有遠程機器來決定連接到哪里。
目前支持SOCKS4和SOCKS5協(xié)議,ssh會扮演一個SOCKS5服務器。另外只有root用戶才能轉(zhuǎn)發(fā)原始端口。
2.在攻擊者kali上配置proxychains
proxychains127.0.0.11080
3.測試
curl 192.168.254.150^Croot@kali:~/Desktop# proxychains curl 192.168.254.150ProxyChains-3.1 (http://proxychains.sf.net)|D-chain|-<>-127.0.0.1:1080-<><>-192.168.254.150:80-<><>-OK
It works!
root可以看到直接訪問的時候是訪問不到的,然后走了代理服務器之后就可以訪問到了
流量分析
攻擊者
密文傳輸
跳板
0.137流量
密文傳輸
發(fā)現(xiàn)流量已經(jīng)代理過來,151直接訪問的150
web服務器
跟跳板機第二個網(wǎng)卡一樣的流量,從151請求的150
參考鏈接
https://www.chenyudong.com/archives/linux-ssh-port-dynamic-forward.htmlhttps://mp.weixin.qq.com/s/6Q_i34ND-Epcu-71LHZRlA
本地轉(zhuǎn)發(fā)(正向端口轉(zhuǎn)發(fā))
本地是針對于跳板機,把外來的流量,轉(zhuǎn)發(fā)到自己內(nèi)部的網(wǎng)絡(luò)(本地),就是本地轉(zhuǎn)發(fā)。
實驗環(huán)境
一臺攻擊者kali一臺跳板機kali一臺內(nèi)網(wǎng)centos
目標:從攻擊者訪問到內(nèi)網(wǎng)192.168.254.150的服務
實驗步驟
1. 先在攻擊者上執(zhí)行將內(nèi)網(wǎng)的80端口轉(zhuǎn)發(fā)到攻擊者的12345端口,當訪問攻擊者的12345端口時,相當于訪問了內(nèi)網(wǎng)的80
ssh-N-L54321:192.168.254.150:22root@192.168.0.137
2. 在kali攻擊者上執(zhí)行
root@kali:~/Desktop# ssh -p 54321 127.0.0.1The authenticity of host'[127.0.0.1]:54321 ([127.0.0.1]:54321)'can't be established.ECDSA key fingerprint is SHA256:sHkYMvoREsemA6O7O1A3HUxXVa4GAmJEvvrhrqiGNZw.Are you sure you want to continue connecting (yes/no/[fingerprint])? yesWarning: Permanently added '[127.0.0.1]:54321' (ECDSA) to the list of known hosts.root@127.0.0.1's password:Lastlogin:Tue Jan523:09:552021from192.168.254.151
3. 測試
參考鏈接
https://www.maixj.net/ict/ssh-local-port-forwarding-22257
遠端轉(zhuǎn)發(fā)(反向端口轉(zhuǎn)發(fā))
本地是針對于跳板機,把自己內(nèi)部(本地)的流量,轉(zhuǎn)發(fā)到外面(遠端)的網(wǎng)絡(luò)里將內(nèi)網(wǎng)的端口轉(zhuǎn)發(fā)到vps的某個端口上,以達到外網(wǎng)可以訪問的目的在這里kali充當我們的vps
實驗環(huán)境
一臺攻擊者kali一臺跳板機kali一臺內(nèi)網(wǎng)centos
目標:從攻擊者訪問到內(nèi)網(wǎng)192.168.254.150的服務
實驗步驟
1.先在跳板機上執(zhí)行將內(nèi)網(wǎng)的80端口轉(zhuǎn)發(fā)到攻擊者的12345端口,當訪問攻擊者的12345端口時,相當于訪問了內(nèi)網(wǎng)的80
root@kali:~# ssh -N -R? 12345:192.168.254.150:80 192.168.0.3root@192.168.0.3's password:
2.在kali攻擊者上執(zhí)行
root@kali:~/Desktop# curl 127.0.0.1:12345
It works!
成功訪問到
參考鏈接
https://www.maixj.net/ict/ssh-remote-port-forwarding-22265https://www.cnblogs.com/williamjie/p/9684684.htmlhttps://mp.weixin.qq.com/s/6Q_i34ND-Epcu-71LHZRlA
“如侵權(quán)請私聊刪文”