0x01 信息收集
目標站點:..72.243,首頁如下圖所示:
簡單信息收集得到以下信息:
- Windows + Apache2.4.39 + 寶塔 + Mysql
- Thinkphp5以上框架
- 端口掃描ban IP
0x02 Getshell
Thinkphp框架搭建的網站可以利用遠程執行或者找找注入,本人習慣先從后台入手,URL隨手加個admin得到后台:
這里沒有驗證碼復用,我們手動爆破下賬號密碼,這里運氣不錯,管理賬號弱口令,直接進入后台:
有了后台,getshell就相對比較容易了,找到一處上傳點,抓包修改下后綴,成功上傳webshell:
0x03 繞過寶塔提權
用shell執行命令發現網站開啟安全模式:
phpinfo查看一下禁用的函數:
passthru,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,putenv,exec
這里禁用了exec函數,我們就無法使用windows COM組件來繞過disable_functions執行命令。聯想到網站使用Mysql數據庫,遂查找root密碼:
嘗試使用UDF提權,上傳暗月UDF提權腳本:
無奈這里無法導出UDF,此路不通。此時聯想到網站是寶塔搭建,在翻找目錄時發現文件權限較大,興許可以利用。果不其然,在D:\BtSoft\panel\data\admin_path.pl
發現寶塔后台路徑:
寶塔后台默認端口一般為8888,訪問得到寶塔后台:
有了后台,剩下的就是尋找密碼了,寶塔后台賬號密碼默認存放在default.db
數據庫的users表中,我們將數據庫下載回來,利用kali的SqLite databese browser工具打開:
在users表中發現管理員賬號與MD5加密密碼:
在somd5中解密管理員密碼,成功解出:
利用賬號密碼成功登陸寶塔后台:
接下來事情就好辦多了,我們利用寶塔計划任務功能,執行系統命令添加系統管理員用戶:
這里我們無法掃描端口,可以使用計划任務,將端口信息導出到指定路徑,即可知道服務器遠程端口:
使用系統管理員賬號登入桌面,提權成功:
清理痕跡,留下后門維持權限。打完收工~