本文作者:i春秋簽約作家——Mochazz
0×00 前言
某一天,Szrzvdny表哥在群里分享了基於ThinkPHP的cms后台getshell的姿勢,然后實際中真碰到一個用jymusic cms搭建的網站,就測試了一波,后來沒空提權,就問了我。那我就練練手,平常也沒提權過。下面用本地環境模擬測試過程,因為實戰忘記截圖了,不想再搞一次,畢竟只是檢測。
0×01 UDF提權
默認賬號:admin密碼admin登錄后台(是的,就是弱口令)。登陸后,就插PHP一句話木馬吧,至於原理什么的,我在之前的文章中已經淺淺的分析了下:基於ThinkPHP的2個cms后台getshell利用
插完一句話,看一下有沒成功
可以成功執行,那我們就上菜刀
打開菜刀虛擬終端,執行命令看看,下面是本地執行命令的結果。實際上,那個網站上裝了防護軟件,由於我們權限不夠,不管執行什么命令,都不會返回命令執行結果
是時候上傳UDF大馬了
瀏覽器訪問我們的udf大馬
導出dll文件即可執行提權,執行命令也會有回顯
現在來查看一下遠程桌面的端口是哪個,有時候管理員會修改默認的3389端口,可以使用一下命令進行確定遠程桌面服務的端口
使用tasklist /svc | findstr TermService查看遠程桌面程序的PID
使用netstat -nao | findstr 1396查看遠程桌面程序運行的端口號
由於我比較懶,不想直接添加遠程登錄賬號,而且我又有administrator用戶權限,干脆直接留后門好了,使用以下命令直接替換粘滯鍵程序:copy C:\\WINDOWS\\system32\\cmd.exe C:\\WINDOWS\\system32\\sethc.exe /Y 如果你對這個不熟悉,可以看我以前寫的文章:一次滲透實戰記錄
遠程連接該主機,按5下shift鍵直接調用后門cmd程序,可以看到權限為system
接下來不需要添加賬戶,直接使用遠程桌面會話劫持技術
0x 02 general_log獲取webshell
上面其實已經完成了整個滲透過程,但是在交流的過程中,發現還可以通過修改利用mysql的genera配置文件來實現獲取webshell,這里做個記錄。
最后查看是否寫入成功,是否可用
具體分析可以參考這篇文章:Mysql root賬號general_log_file方法獲取webshell
0×03 遇到的問題
在自己搭建的環境中,發現那個dll文件無法導出
原因及解決方法如下
0x 04總結
每次學習,我都會做一次總結,由於實戰經驗不足,導致每次好多東西要邊Google邊操作,還是是要多練練。最后,附上Szrzvdny表哥的blog地址:http://www.inksec.cn/,我的博客就不附上了。