文章來(lái)源:先知社區(qū)
簡(jiǎn)介
ssh能夠提供客戶(hù)端到服務(wù)端的加密傳輸,當(dāng)http、ftp等協(xié)議被防火墻所攔截時(shí),可以考慮使用SSH的端口轉(zhuǎn)發(fā)功能,將其它TCP端口的網(wǎng)絡(luò)數(shù)據(jù)通過(guò)SSH連接來(lái)轉(zhuǎn)發(fā)。
轉(zhuǎn)發(fā)方式一共有三種,分別是:動(dòng)態(tài)轉(zhuǎn)發(fā),本地轉(zhuǎn)發(fā),遠(yuǎn)端轉(zhuǎn)發(fā)。
命令參數(shù)詳解
socks代理:ssh -qTfnN -D port remotehost參數(shù)詳解:-C 允許壓縮數(shù)據(jù)-q 安靜模式-T不占用 shell-f 后臺(tái)運(yùn)行,并推薦加上 -n 參數(shù)-N不執(zhí)行遠(yuǎn)程命令-g允許遠(yuǎn)端主機(jī)連接本地轉(zhuǎn)發(fā)的端口-n把 stdin 重定向到 /dev/null (防止從 stdin 讀取數(shù)據(jù))-L port:host :hostport 正向代理//將本地機(jī)(客戶(hù)機(jī))的某個(gè)端口轉(zhuǎn)發(fā)到遠(yuǎn)端指定機(jī)器的指定端口-R port:host :hostport 反向代理//將遠(yuǎn)程主機(jī)(服務(wù)器)的某個(gè)端口轉(zhuǎn)發(fā)到本地端指定機(jī)器的指定端口-D port socks5代理//指定一個(gè)本地機(jī)器 "動(dòng)態(tài)" 應(yīng)用程序端口轉(zhuǎn)發(fā)。
動(dòng)態(tài)轉(zhuǎn)發(fā)(正向sockets代理)
實(shí)驗(yàn)環(huán)境
一臺(tái)kali 192.168.0.137一臺(tái)centos7 雙網(wǎng)卡192.168.0.229192.168.254.150目標(biāo):實(shí)現(xiàn)從kali訪(fǎng)問(wèn)到192.168.254.150的web服務(wù)
實(shí)驗(yàn)步驟
1.在攻擊者kali上執(zhí)行用攻擊者ssh連接跳板機(jī),然后將自己
ssh-qTfnN-D1080root@192.168.0.137
-D 1080 -D [bind_address:]port D參數(shù)說(shuō)明:我們開(kāi)啟一個(gè)本地的端口轉(zhuǎn)發(fā)。
通過(guò)在本地分配一個(gè)socket去監(jiān)聽(tīng)端口只要有連接請(qǐng)求到這個(gè)port上來(lái)時(shí),這個(gè)連接就會(huì)被安全通過(guò)給轉(zhuǎn)發(fā)出去,應(yīng)用程序的協(xié)議將有遠(yuǎn)程機(jī)器來(lái)決定連接到哪里。
目前支持SOCKS4和SOCKS5協(xié)議,ssh會(huì)扮演一個(gè)SOCKS5服務(wù)器。另外只有root用戶(hù)才能轉(zhuǎn)發(fā)原始端口。
2.在攻擊者kali上配置proxychains
proxychains127.0.0.11080
3.測(cè)試
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可以看到直接訪(fǎng)問(wèn)的時(shí)候是訪(fǎng)問(wèn)不到的,然后走了代理服務(wù)器之后就可以訪(fǎng)問(wèn)到了
流量分析
攻擊者
密文傳輸
跳板
0.137流量
密文傳輸
發(fā)現(xiàn)流量已經(jīng)代理過(guò)來(lái),151直接訪(fǎng)問(wèn)的150
web服務(wù)器
跟跳板機(jī)第二個(gè)網(wǎng)卡一樣的流量,從151請(qǐng)求的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ā))
本地是針對(duì)于跳板機(jī),把外來(lái)的流量,轉(zhuǎn)發(fā)到自己內(nèi)部的網(wǎng)絡(luò)(本地),就是本地轉(zhuǎn)發(fā)。
實(shí)驗(yàn)環(huán)境
一臺(tái)攻擊者kali一臺(tái)跳板機(jī)kali一臺(tái)內(nèi)網(wǎng)centos
目標(biāo):從攻擊者訪(fǎng)問(wèn)到內(nèi)網(wǎng)192.168.254.150的服務(wù)
實(shí)驗(yàn)步驟
1. 先在攻擊者上執(zhí)行將內(nèi)網(wǎng)的80端口轉(zhuǎn)發(fā)到攻擊者的12345端口,當(dāng)訪(fǎng)問(wèn)攻擊者的12345端口時(shí),相當(dāng)于訪(fǎng)問(wèn)了內(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. 測(cè)試
參考鏈接
https://www.maixj.net/ict/ssh-local-port-forwarding-22257
遠(yuǎn)端轉(zhuǎn)發(fā)(反向端口轉(zhuǎn)發(fā))
本地是針對(duì)于跳板機(jī),把自己內(nèi)部(本地)的流量,轉(zhuǎn)發(fā)到外面(遠(yuǎn)端)的網(wǎng)絡(luò)里將內(nèi)網(wǎng)的端口轉(zhuǎn)發(fā)到vps的某個(gè)端口上,以達(dá)到外網(wǎng)可以訪(fǎng)問(wèn)的目的在這里kali充當(dāng)我們的vps
實(shí)驗(yàn)環(huán)境
一臺(tái)攻擊者kali一臺(tái)跳板機(jī)kali一臺(tái)內(nèi)網(wǎng)centos
目標(biāo):從攻擊者訪(fǎng)問(wèn)到內(nèi)網(wǎng)192.168.254.150的服務(wù)
實(shí)驗(yàn)步驟
1.先在跳板機(jī)上執(zhí)行將內(nèi)網(wǎng)的80端口轉(zhuǎn)發(fā)到攻擊者的12345端口,當(dāng)訪(fǎng)問(wèn)攻擊者的12345端口時(shí),相當(dāng)于訪(fǎng)問(wèn)了內(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!
成功訪(fǎng)問(wèn)到
參考鏈接
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)請(qǐng)私聊刪文”