前言

記錄下某個測試項目中,通過一個文件備份泄露到主機上線的過程。

文件備份泄露

對于測試的第一項當然是弱口令,bp跑了一通詞典,無果。目錄又爆破了一通,發現一個web.rar可通,趕緊下載看看,如下圖所示。

代碼審計

解壓瞅了瞅,源代碼為ASP.NET框架的,這個真不懂,只能先用Fortify快速掃描一番,此處略過。

配置文件+未授權訪問

掃描之后,看了下報告排除了誤報,發現某個xml配置文件包含了很多信息,比如數據庫賬號密碼,微信AppId等等。

習慣性將路徑拼接一下訪問一下url,好家伙,未授權。

默認賬戶密碼

同時注意到了配置文件中還有一行定義了默認登錄賬戶和密碼哈希。

于是在cmd5對此哈希進行解密,并成功獲取賬號明文密碼。

返回到登錄界面,輸入了剛才賬戶和解密的密碼之后,果不其然,等登錄驗證成功之后跳轉了系統內部。

儲存型XSS

在Fortify的掃描報告中有多個反射xss漏洞信息,不過隨便點開功能欄,存在許多輸入框,便覺得肯定存在儲存xss,隨便找一處,輸入經典測試語句<script>alert(1)</script>點擊保存并刷新,果然彈出了窗。

文件上傳

剛找到一個xss,便不在測試了,此站點未進行任何xss過濾,肯定到處是xss漏洞。又在項目信息處找到了一個上傳點,簡單用哥斯拉生成一個webshell:test.asp,點擊上傳發現webshell上傳成功,但是未返回文件上傳路徑,且文件名被改寫為參數形式了。

可以通過選擇下載剛才上傳的文件獲取到新的文件名,但是問題是不知道上傳到了那個目錄下。

好在有源代碼,通過關鍵詞語搜索全局,找到多個名為uploadfile的文件夾的路徑,通過這些路徑拼接到url并一個個嘗試訪問即可,如下圖,訪問未報錯即證明路徑正確。

使用正確的url通過哥斯拉連接成功,GetShell達成。

未授權訪問+數據查詢+xp_cmdshell=RCE

在getshell之后,并未停止測試腳步,發現了一處sql查詢頁面,除了可以查詢數據庫內容外,還可以執行sql語句。

考慮到配置文件的未授權訪問,于是又在bp中刪除了cookie,發現此查詢頁面也可以未授權訪問,而由代碼審計中的配置文件知道數據庫為sql server,如果可以開啟xp_cmdshell,那么便可以直接遠程命令執行。

xp_cmdshell

這里簡單介紹一下xp_cmdshell 擴展存儲過程將命令字符串作為操作系統命令 shell 執行,并以文本行的形式返回所有輸出。

關閉

EXEC sp\_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp\_configure 'xp\_cmdshell',0;
RECONFIGURE;

啟用

EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp\_cmdshell',1;
RECONFIGURE;

這里直接將開啟xp_cmdshell的sql語句執行,未報錯。

再通過xp_cmdshell執行whoami命令,結果為system。

隨后通過"dir /s /b c:\Web.config“命令查詢應用系統的絕對路徑,通過下圖可知返回了兩個路徑,在排除一個之后獲得了系統的絕對路徑。

在獲取絕對路徑之后,通過echo命令將一句話木馬寫入,執行未報錯即寫入成功。

再將webshell拼接為url,通過哥斯拉連接,再次成功GetShell。

上線

雖然之前的都比較順利,但是在執行上線的時候遭遇了挫折,首先是通過Cobalt Strike的pwoershell一句話和bitsadmin上線均失敗,顯示拒絕訪問。

再生成可執行文件木馬上傳,直接上傳失敗,那幾乎可以確定了存在殺軟,其實在執行這些之前應該先查詢殺軟是否存在,此處不該莽撞。

查詢

通過webshell執行tasklist命令列出進程列表,查看進程信息。

這里將進程信息放進瀟湘老哥的殺軟查詢工具中快速對比,獲知主機開啟了360和安全狗。emm...看來只要過360免殺就行了。

免殺

對我而言,免殺只能找到github上的大佬工具來用了,在Cobalt Strike中生成shellcode并通過一個目前可用的免殺工具生成木馬,在vps用python -m http.server開啟一個簡單http服務,獲取一個遠程下載地址,通過遠程下載,將木馬成功下載到目標主機。

執行,等待幾秒鐘,主機上線。

結語

簡單總結一下,通過文件備份泄露,簡單審計一下獲取配置文件的賬號密碼登錄到系統內部,再找到文件上傳點和sql執行點,通過webshell繞過殺軟并主機上線,思路為:信息搜集=>打點=>命令執行=>防御繞過=>上線。在fofa搜索一下,使用此應用系統的資產大約有二十幾個,算是個小通殺。