<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    巧用 SSH 打通外網限制

    VSole2022-04-24 06:55:31

    筆者在工作中遇到此場景,如下兩條網絡限制下,總部如何訪問分公司內部web服務器?

    • dmz服務器可以訪問總部外網服務器22端口,不可以訪問web服務器;
    • web服務器不可訪問公網,但是到dmz網絡無限制。

    初看需求,我們第一個想到的肯定是內網端口映射到公網,或者vpn,但是不修改網絡策略情況下很難實現。有沒有別的方法呢,我們繼續從純網絡角度分析現有條件。

    網絡通信是雙向的,有請求,有回應,就是我們俗稱的“通”。dmz可以訪問外部22端口,代表請求,回包兩個通信通道都是通暢的,我們是否可以借助回包通道,從外部發起到內部的反向訪問呢?答案當然是有的,我們來試一試,需要ssh工具。

    我們在dmz執行如下命令。

    [root@dmz]#  ssh -f -N -g -R  6606:10.1.1.1:80 root@115.100.100.100
    

    -f:代表后臺運行程序

    -N:表示使用遠程端口轉發創建ssh隧道

    -g:監聽本機所有IP地址

    -R,表示使用遠程端口轉發創建ssh隧道

    命令結合起來什么意思呢,我們使用root用戶遠程連接到115.100.100.100,并且遠程主機監聽6606端口,當訪問此端口時,會跳轉到dmz的80端口。此過程會使用到ssh隧道。dmz運行之后,總部服務器的已經有了端口監聽。

    [root@center]# netstat -tunlp | grep 6606
        tcp        0      0 127.0.0.1:6606          0.0.0.0:*               LISTEN      8616/sshd: root
        我們在總部服務器嘗試端口提示拒絕,代表網絡已經打通了,但是dmz服務器并沒有監聽80端口,所以報端口拒絕。
    [root@center]# telnet 127.0.0.1 6606
        Trying 127.0.0.1...
        telnet: connect to address 127.0.0.1: Connection refused
    

    如法炮制,再把web服務器到dmz的網絡反向打通,dmz服務器訪問本地80端口時將跳轉到web服務器的80端口。

    [root@web]# ssh -f -N -g -R  80:10.1.1.1:80 root@10.1.1.2
    


    再次到總部服務器測試訪問就能通信了。

    [root@center]# telnet 127.0.0.1 6606
        Trying 127.0.0.1...
        Connected to 127.0.0.1.
        Escape character is '^]'.
    

    我們最后從網絡角度來回顧數據包的的轉發過程。

    從總部服務器看到如下信息。

    #dmz服務器以115.100.100.101:29493作源,訪問本地22端口,建立了tcp連接。
    [root@center]# ss | grep 115.
        tcp    ESTAB      0      0      172.16.1.1:22                115.100.100.101:29493
    [root@center]# netstat -tpna | grep 115.
        tcp        0      0 172.16.1.127:22      101.230.91.53:29493     ESTABLISHED 8555/sshd: root
    #本地端口也對應到了進程號8616[root@center]#netstat -tunlp | grep 6606
        tcp        0      0 127.0.0.1:6606          0.0.0.0:*               LISTEN      8616/sshd: root
    [root@center]# ps -ef | grep 8616
        root      8616  8555  0 Dec03 ?        00:01:04 sshd: root.
    

    當總部服務器訪問127.0.0.1:6606時,網絡連接信息如下。

    雙向通道已經建立
    [root@center]# ss | grep 6606
        tcp    ESTAB      0      0      127.0.0.1:6606                 127.0.0.1:51158
        tcp    ESTAB      0      0      127.0.0.1:51158                127.0.0.1:6606
    

    我們最后用圖片來展示最終網絡轉發過程。

    dmz發起ssh連接到總部服務器,并且遠程端口轉發。遠程服務器訪問轉發端口時,數據將封裝到回包通道,由于ssh本身加密,外部網絡無法知曉網絡交互邏輯,從而實現反向訪問。

    sshdmz主機
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    筆者在工作中遇到此場景,如下兩條網絡限制下,總部如何訪問分公司內部web服務器?dmz服務器可以訪問總部外網服務器22端口,不可以訪問web服務器;web服務器不可訪問公網,但是到dmz網絡無限制。
    如今,在很多組織機構內部,針對 DMZ 或隔離網絡區域內的計算機設備,為了限制其它接入端口風險,通常只允許這些設備開啟 3389 端口,使用遠程桌面來進行管理維護。那么我們能不能利用這個 3389 端口的 RDP 服務建立起一條通向內網的代理隧道呢?當然可以,下面就引出我們今天的主角 —— SocksOverRDP。
    如今,在很多組織機構內部,針對 DMZ 或隔離網絡區域內的計算機設備,為了限制其它接入端口風險,通常只允許這些設備開啟 3389 端口,使用遠程桌面來進行管理維護。
    內網滲透-代理篇
    2021-12-01 05:44:01
    利用代理工具將內網的流量代理到本地進行訪問,這樣就可以對內網進行下一步滲透,同時也可以利用代理工具將其他網段的流量轉發到本地進行縱向滲透。代理的本質是Socks協議(防火墻安全會話轉換協議),工作在OSI參考模型的第5層(會話層)。使用TCP協議傳輸數據,因而不提供如傳遞ICMP信息之類的網絡層相關服務。目前支持SOCKS4和SOCKS5兩個版本:
    內網滲透合集(三)
    2023-01-28 09:44:16
    jsp端口轉發滲透過程中,由于windows和linux的差別以及運行語言環境的限制導致端口轉發經常出現問題。于是自己寫了個簡單的JSP的端口轉發腳本。仿造 LCX的功能,具有正向、反向、監聽三種模式。對于目前數量眾多的JAVA WEB網站來說,可以比較方便的實現端口轉發。在這里發布出來,小伙伴們使用過程中,如果發現什么bug歡迎提交哈~參數說明/KPortTran.jsp?lip = local ip / 本地ip //一般為內網主機IP. lp = local port / 本地端口 //一般為內網主機端口
    匯總項目實施過程中可能出現的故障及解決方法。
    內網滲透合集(二)
    2023-01-28 09:35:05
    接下來在內網肉雞再次執行:htran -p -slave 公網肉雞IP 119 127.0.0.1 8009?linux也有實現,感覺使用方法更加明朗,且與windows下的兼容 在此推薦下。把windows的小做修改下,重新編譯了下,源程序比較簡單就不上傳工程文件了,直接給個C文件,自己編譯下即可。linux下實現大同小異,只不過用的fork實現子線程。此時在滲透測試端192.168.10.50可看到通道連接成功,效果如圖4。
    一個內網安全攻防的知識倉庫
    生產環境資產對外服務資產是紅隊密切的關注點。對于安全設備所覆蓋范圍進行有效排查,盡可能做到無死角全覆蓋。管理員應全面檢查系統、數據庫、對外服務相關權限設置,以確保最小權限原則,過期的授權應予以刪除。對于大中型企業的資產較多,端口管控較為困難,紅隊通過對端口發起有效入侵是最直接、最有效的途徑之一。為了更加安全,以防紅隊人員探測到web服務,也可
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类