
我的情況如下:
- 在防火牆後面工作的 mac,名為「受害者」。 (高山脈 10.13.3)
- 網路上的 Ubuntu VHS,名為「伺服器」。其中 ssh 在連接埠 2222 上運行。
- 其他 Mac 也在防火牆後面,稱為「攻擊者」。 (高山脈 10.13.3)
我想使用襪子訪問只能從“受害者”訪問的內部網站。
當我從攻擊者的「受害者」和 ssh 進入「伺服器」並運行時,我可以從攻擊者存取受害者的 shell 存取權限。ssh -R 5555:localhost:22 [email protected] -P 2222
ssh victim@localhost -p 5555
我需要實現的是使用襪子訪問只能從“受害者”訪問的網站。
我知道我應該設定一條從受害者到伺服器的反向隧道,並在伺服器上設定一些從傳入連接埠到反向連接埠的轉發,並在攻擊者上設定從本機到遠端(連接到伺服器)的轉發,但是如何做我做這個?
當我直接從攻擊者到伺服器設定襪子時,我只需在 Firefox 中運行並設定代理襪子 v5 localhost:8080,但我不明白如何在伺服器上放置轉送...ssh -D 8080 [email protected] -p 2222
誰能給我解釋一下嗎?謝謝
答案1
顯然沒有人能回答這個問題,沒關係,因為我自己找到了答案。
以下是答案:
- 在受害者:
ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv>
- 在攻擊者#1:
ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>
- 在攻擊者#2:
ssh -p 4444 -D localhost:3333 user_on_victim@localhost
- 在攻擊者#3:在 Firefox 或 irc 中,甚至對於常規網路設定:Socks (v5) 代理設定:127.0.0.1 連接埠 3333
您將主機 localhost 設定為連接埠 3333 的每個應用程式都會透過 serv 隧道傳輸到受害者,當您存取類似的內容時http://myip.com你會看到受害者的 IP/主機。從這裡開始,您甚至可以在攻擊者(如果您為特定應用程式或整個系統設定襪子設定)將透過隧道傳輸服務到受害者你將扮演受害者像這樣。
我在思考過程中犯的錯誤是我並沒有真正理解反向連接埠方案的樣子,我將嘗試用簡單的術語解釋它。
受害者行動
ssh -N -f -R 5555:localhost:22 -p <port_of_serv> <ip_of_serv>
-N
= 我不會在 shell 中執行命令-f
= 將進程置於背景(這樣您就可以關閉終端機視窗)-R
= 反向隧道5555:localhost:22
= 5555 是 serv 內部監聽的端口,將資料轉送到端口 22受害者。如果您已將受害者設定為在連接埠 2222 上執行 ssh,則應將 22 變更為 2222。-p
= ssh 所在的端口服務在跑。
第一次攻擊動作
ssh (-N -f) -L 4444:localhost:5555 -p <port_of_serv> <ip_of_serv>`
您執行的第一個命令攻擊者( -L 4444:localhost:5555
) 將建立一條隧道,以便您與第三個命令的連接將透過隧道直接到達受害者。 (這僅適用於動態連接埠轉發/Socks 應用程式)
如果您只想獲得 shell 存取權限受害者而不是這個命令,您只需 ssh 到 serv 並運行命令:'ssh user_on_victim@localhost -p 5555'。
但我們不想要 shell 訪問,我們想要動態地隧道所有數據,所以我們必須進行連接埠轉送。
或原理圖解釋
-L
= 本機連接埠轉送(上服務)- 4444:localhost:5555
將所有來自連接埠 4444 的資料放入連接埠 5555。
第二次攻擊動作
您執行的第二個命令攻擊者
ssh -p 4444 -D localhost:3333 user_on_victim@localhost
是將透過 2 個隧道初始化連線的實際命令。你要做的就是說:連接到連接埠 4444 並將來自(本地主機連接埠 3333)的所有資料放入 4444。服務到連接埠 5555 -> 將被推送到連接埠 22受害者。
或原理圖解釋
-D
= 動態轉發localhost:3333
= 監聽連接埠 3333 並透過 ssh 連線將資料推送到連接埠 4444 進行服務。-p 4444
= 所在連接埠服務正在偵聽將資料轉送至連接埠 5555,然後轉送至連接埠 22受害者。
第三次攻擊行動
將您的應用程式甚至整個系統設定為在位址:本機主機連接埠:3333 上使用 SOCKS (v5) 代理伺服器。 這些應用程式在哪些連接埠上正常運作並不重要,因為這將由代理伺服器處理。理論上每個應用程式都可以透過socks代理動態連接埠轉送運作。您只需進行設定即可。 :)
第 3 個動作攻擊者是您要透過隧道傳輸到的實際數據受害者。這是什麼資料或應用程式並不重要,這就是為什麼它是動態轉送的,這些應用程式在哪些連接埠上運行並不重要,因為這將由 SOCKS 處理。
我希望有人能在我的解釋中找到用處。
祝你今天過得愉快....