發表媒體:IT168
作者:simeon
Simeon 安天365&黑防
網絡滲透測試就是利用所有的手段進行測試,發現和挖掘系統中存在的漏洞,然後撰寫滲透測試報告,将其提供給客戶;客戶根據滲透人員提供的滲透測試報告對系統存在漏洞和問題的地方進行修複和修補,本次滲透測試算是針對aspx類型的網站系統的一個補充。下面是整個滲透過程和一些滲透思路,寫出來跟大家一起探讨和分享,不到之處請指正。
(一)初步的安全滲透測試
1.漏洞掃描
直接打開JSky Web漏洞掃描器,建立一個掃描任務,輸入要掃描的位址[url]http://www.[/url]*****.com,然後開始掃描,掃描結果如圖1所示,沒有任何高危漏洞,通過分析掃描結果,我們知道該網站采用的是Asp.net編寫的,無注入漏洞,在掃描結果中存在“admin”和“upload”目錄。難道該系統就沒有可滲透之處?一般網站非常安全的可能性非常低,隻有絕對不安全的系統,沒有絕對安全的系統。
圖1 使用Jsky掃描網站的掃描結果
2.網站目錄通路測試
圖2 測試掃描出路徑的頁面是否存在
說明:
對存在目錄進行實際通路主要是看系統是否存在一些報錯等提示資訊,然後根據這些資訊再次進行分析和利用,為滲透提供一些判斷和支援。
3.使用社工進行登陸測試
在圖2的使用者名中輸入admin,密碼中輸入一些常見的密碼進行測試,人品好,沒有辦法,還愣是進去了,如圖3所示,頁面比較簡潔。
圖3 成功進入背景
本次的成功滲透就來自于本次的成功進入背景,實際上如果社工猜測到密碼,拿到該伺服器的權限還是比較難的,是以在實際滲透測試過程中,各種想法和思路都可以進行測試,隻要能夠進入系統,能夠擷取一定的權限的方法都是好方法。
4尋找突破點
整個系統一共就6個子產品,對各個功能子產品進行了檢視,發現很多子產品功能都是一樣的,如圖4所示,均是簡單的資料添加、删除和修改。
圖4浏覽其它功能子產品
5.修改管理者
在本網站系統中,無使用者管理,僅僅一個修改管理者密碼,如圖5所示,考慮到該密碼非常簡單,出于安全考慮,直接将其修改為一個複雜的密碼,然後将修改的密碼告訴管理者。
圖5 修改管理者密碼
(二)旁注滲透測試
滲透測試時如果正面不行,那麼就采用一些迂回戰術,從側面來進行。也就是采用一些間接的方法,例如旁注。
1.擷取該網站所在服務中的所有其它域名
圖6 查詢域名綁定情況
2.掃描漏洞
任選一個域名,在Jsky中進行掃描,如圖7所示,出現了8個SQL注入點,心中一頓狂喜,看來有戲,對于滲透測試人員沒有什麼比發現有漏洞更為高興的事情了。
圖7 擷取SQL注入點
3.SQL注入手工測試
在掃描結果的SQL注入點清單中選中一個位址,然後在浏覽器中打開,并手工加入一些測試SQL注入點的東東,結果出現圖8、圖9所示的防注入提示和記錄資訊。
圖8 系統使用了Flashack防注入系統
圖9 防注入記錄系統
4.擷取資料庫類型
繼續測試,将ID值換成一個數字+字母類型的值,結果就爆出資料庫出錯提示,如圖10所示,資料庫類型是MS SQL Server,由此可以判斷該伺服器的作業系統也是Windows的,極有可能是Windows2003.
圖10 通過出錯擷取網站資料的類型
在很多防注入系統都對and、exe等關鍵字進行過濾,對于傳入的值的範圍并沒有進行嚴格的限制,是以可以通過變換值出錯來擷取一些資訊。
5.使用pangolin進行SQL注入測試
在Jsky掃描視窗選中存在SQL注入點的位址,然後選擇滲透測試,如圖11所示,先對SQL注入點進行檢測,然後擷取資料庫等資訊,在本次檢測中很明顯由于有SQL防注入系統的存在,是以無法猜測出任何有用的資訊。
圖11使用pangolin進行SQL注入測試
看來旁注等方法均不可行,無法進一步擷取權限,看來隻能通過前面擷取的權限來想辦法了。
(三)通過CuteEditor上傳而獲得突破
由于微軟的IIS6存在着一個檔案解析路徑的漏洞,當檔案夾名為類似“xxx.asp”的時候(即檔案夾名看起來像一個ASP檔案的檔案名),此時此檔案夾下的文本類型的檔案都可以在IIS中被當作ASP程式來執行。這樣可上傳擴充名為jpg或gif之類的看起來像是圖檔檔案的木馬檔案,通過通路這個檔案即可運作木馬。
通過分析和觀察,發現本網站系統是采用的CuteEditor編輯器。該編輯器本身的安全還做的可以,分為管理者/user/guest三種權限,其配置檔案位于“CuteEditor\Configuration\Security”目錄,通過分析Admin.config檔案,其涉及安全核心關鍵代碼如下:
<configuration>
<security name="RestrictUploadedImageDimension">false</security>
<security name="OverWriteExistingUploadedFile">false</security>
<security name="AutoResizeUploadedImages">true</security>
<security name="MaxImageWidth">1024</security>
<security name="MaxImageHeight">768</security>
<security name="MaxImageSize">1000</security>
<security name="MaxMediaSize">100</security>
<security name="MaxFlashSize">100</security>
<security name="MaxDocumentSize">10000</security>
<security name="MaxTemplateSize">1000</security>
<security name="ImageGalleryPath">~/uploads</security>
<security name="MediaGalleryPath">~/uploads</security>
<security name="FlashGalleryPath">~/uploads</security>
<security name="TemplateGalleryPath">~/templates</security>
<security name="FilesGalleryPath">~/uploads</security>
<security name="MaxImageFolderSize">102400</security>
<security name="MaxMediaFolderSize">102400</security>
<security name="MaxFlashFolderSize">102400</security>
<security name="MaxDocumentFolderSize">102400</security>
<security name="MaxTemplateFolderSize">102400</security>
<security name="ThumbnailWidth">80</security>
<security name="ThumbnailHeight">80</security>
<security name="ThumbnailColumns">5</security>
<security name="ThumbnailRows">3</security>
<security name="AllowUpload">true</security>
<security name="AllowModify">true</security>
<security name="AllowRename">true</security>
<security name="AllowDelete">true</security>
<security name="AllowCopy">true</security>
<security name="AllowMove">true</security>
<security name="AllowCreateFolder">true</security>
<security name="AllowDeleteFolder">true</security>
</configuration>
在上面的代碼中可以看到如果具有管理者權限,那麼是可以在網站建立目錄,也就是說在某種情況下,完全可以利用IIS檔案目錄解析漏洞來獲的Webshell。
1.打開媒體上傳視窗
直接在使用該編輯器的網頁中單擊插入媒體的按鈕,出現如圖12所示的界面。
圖12 打開插入媒體視窗
2.建立一個simeon.asp的檔案夾
在“Insert Media”視窗中可以發現有一個建立檔案夾的圖檔,如果該圖示是灰色的那麼就無能為力了,如圖13所示,我們建立一個叫“simeon.asp”的檔案夾,建立成功後如圖14所示。
圖13 建立simeon.asp檔案夾
圖14 成功建立simeon.asp檔案夾
3.上傳測試和木馬檔案
在圖14中單擊“simeon.asp”,進入該檔案夾下,然後先上傳一個html檔案,如圖15所示,後面我依次上傳了包含asp.net的一句話木馬和asp的一句話木馬,當然也上傳了一些asp的大馬。
圖15上傳測試和木馬檔案
注意:
(1)在CuteEditor中ImageFilters的負責對圖檔進行過濾,僅僅允許jpg、jpeg、gif和png檔案上傳,在admin.config中進行配置
(2)在CuteEditor中MediaFilters的負責對媒體進行過濾,僅僅允許avi 、mpg、mpeg和mp3四種媒體檔案。也是在admin.config中進行配置。
(3)在CuteEditor中DocumentFilters負責對所有的檔案類型進行過濾。
4.連接配接測試asp.net的一句話木馬
在本地打開asp.net的一句話木馬的用戶端,輸入連接配接位址和密碼後,出現如圖16所示的錯誤。
圖16 asp.net的一句話木馬運作出錯
5.使用asp的一句話木馬
上傳一個包含一句話的flash檔案,如圖17所示,進行連接配接測試,一切OK,在後面測試中我還發現其執行效果不太好,可能IIS6.0對以asp檔案命名的檔案夾解析半對半錯。
圖17 成功得到一個一句話的Webshell
(四)提升權限
1.檢視網站檔案路徑
在Function中選擇“File List”子產品,然後分别對C、D、E盤進行檢視,如圖18所示,發現網站目錄就在E盤下。
圖18 擷取網站根目錄路徑
2.複制檔案
在一句話asp中,通過測試,發現可以複制檔案,将上傳到“simeon.asp”檔案夾中的大馬複制到網站根目錄中,如圖19所示,顯示複制成功,這也是本次能夠滲透伺服器的關鍵,一句話木馬執行指令時不是那麼完美,操作起來不太友善,是以在可能的前提下,盡量由小(馬)到大(馬)。
圖19 複制大馬到正常網站目錄下
3.執行大馬
直接輸入大馬的位址,然後輸入管理密碼,成果進入,如圖20所示,至此可以使用大馬來做一些資訊分析等工作。
圖20 執行免殺的大馬
4.使用Serv-U提升權限
通過該Webshell對伺服器進行挖掘發現伺服器上面安裝了Serv-U,不過路徑是在D盤的程式目錄,不過沒有關系直接單擊Webshell左邊的菜單中的“Serv-U提權”,在如圖21所示的視窗中單擊“送出”按鈕預設直接添加一個使用者名為“user13$”,密碼為“pass13”的具有管理者使用者。添加成功後顯示如下的一些提示資訊:
提權完畢,已執行了指令:
cmd /c net user user13$ ***** /add & net localgroup administrators user13$ /add
圖21 添加管理者賬号的系統中
5.檢視提權情況
另外再上傳一個WebAdmin2.X的Aspx的Webshell,然後在Command中輸入“net localgroup administrators”檢視系統中的管理者組中的使用者情況,如圖22所示,已經添加使用者成功。
圖22 添加使用者到管理者組中成功
6.成功進入遠端桌面
(五)安全建議和總結
1.安全建議
針對本次滲透測試中發現的安全問題提出以下一些安全建議:
(1)及時修補系統中的安全漏洞,尤其是IIS6.0中的目錄解析漏洞,對于一些微軟公布的高危漏洞還是應該及時更新,降低安全風險。
(2)對于那些允許新增賬號的網站來說,在網站程式編寫的時候,程式員通常為了管理友善,便以注冊的使用者名為名稱來建立一個檔案夾,用以儲存該使用者的資料。例如一些圖檔、文字等等資訊。入侵者就是利用了這一特點,特意通過網站注冊一個以“.”或者“.cer”等的後續名作注冊名,然後通過如把含有木馬的ASP 檔案的.asp字尾改成.jpg等方法,把檔案上傳到伺服器,由于IIS6漏洞,jpg檔案可以通過IIS6來運作,木馬也随着運作,達到了攻擊網站的目的,這種情況,可以由程式員對注冊使用者名稱進行限制,排除一些帶有“*.asp ”、“*.asa”等字元為名的注冊名。加強網站自身的安全和防範措施。另外,要阻止使用者對檔案夾進行重命名操作。
(3)細化伺服器檔案目錄權限,杜絕權限漏洞
可以通過修改伺服器的配置來實作對這個漏洞的預防。如何對伺服器進行配置呢?很多網站都允許使用者上傳一定數量的圖檔、Flash 等,很多時候網站開發人員為了日後管理友善,對上傳的檔案都統一放到指定的一個檔案夾裡面,管理者隻要對該檔案夾的執行權限設定成“無”,這樣一定程度可以對漏洞進行預防。
(4)對CuteEditor上傳元件,可以在安全配置檔案中去掉有關檔案夾建立權限。
(5)網站管理者密碼不能設定太弱智,一些簡單的猜測如果能夠成功,即使程式本身和網站系統沒有什麼漏洞,也将會導緻整個系統的潰敗。任何資訊的洩露對入侵者來說都會增加入侵成功的可能。
2.安全總結
通過本次安全滲透,掌握了利用CuteEditor滲透系統的思路,以及如何在系統中對IIS6.0目錄解析漏洞的防範,在整個滲透過程中使用了多種方法,在一種方法行不通的前提下,換種思路或許會達到意想不到的效果。
本文轉自 simeon2005 51CTO部落格,原文連結:http://blog.51cto.com/simeon/135139