網絡滲透測試就是利用所有的手段進行測試,發現和挖掘系統中存在的漏洞,然后撰寫滲透測試報告,將其提供給客戶;客戶根據滲透人員提供的滲透測試報告對系統存在漏洞和問題的地方進行修復和修補,本次滲透測試算是針對aspx類型的網站系統的一個補充。下面是整個滲透過程和一些滲透思路,寫出來跟大家一起探討和分享,不到之處請指正。
(一)初步的安全滲透測試
1.漏洞掃描
直接打開JSky Web漏洞掃描器,新建一個掃描任務,輸入要掃描的地址http://www.*****. com,然后開始掃描,掃描結果如圖1所示,沒有任何高危漏洞,通過分析掃描結果,我們知道該網站采用的是Asp .net編寫的,無注入漏洞,在掃描結果中存在“admin”和“upload”目錄。難道該系統就沒有可滲透之處?一般網站非常安全的可能性非常低,只有絕對不安全的系統,沒有絕對安全的系統。
圖1 使用Jsky掃描網站的掃描結果
2.網站目錄訪問測試
復制 http://www.xxxxxxx.com/admin地址到 IE瀏覽器中,進行測試看看能否實際打開該地址,如圖2所示,可以打開而且為 管理員后台地址。
圖2 測試掃描出路徑的頁面是否存在
說明:
對存在目錄進行實際訪問主要是看系統是否存在一些報錯等提示信息,然后根據這些信息再次進行分析和利用,為滲透提供一些判斷和支持。
3.使用社工進行登陸測試
在圖2的用戶名中輸入admin,密碼中輸入一些常見的密碼進行測試,人品好,沒有辦法,還愣是進去了,如圖3所示,頁面比較簡潔。
圖3 成功進入后台
說明:
本次的成功滲透就來自於本次的成功進入后台,實際上如果社工猜測到密碼,拿到該服務器的權限還是比較難的,所以在實際滲透測試過程中,各種想法和思路都可以進行測試,只要能夠進入系統,能夠獲取一定的權限的方法都是好方法。
4.尋找突破點
整個系統一共就6個模塊,對各個功能模塊進行了查看,發現很多模塊功能都是一樣的,如圖4所示,均是簡單的數據添加、刪除和修改。
圖4 瀏覽其它功能模塊
5.修改管理員
在本網站系統中,無用戶管理,僅僅一個修改管理員密碼,如圖5所示,考慮到該密碼非常簡單,出於安全考慮,直接將其修改為一個復雜的密碼,然后將修改的密碼告訴管理員。
1.漏洞掃描
直接打開JSky Web漏洞掃描器,新建一個掃描任務,輸入要掃描的地址http://www.*****. com,然后開始掃描,掃描結果如圖1所示,沒有任何高危漏洞,通過分析掃描結果,我們知道該網站采用的是Asp .net編寫的,無注入漏洞,在掃描結果中存在“admin”和“upload”目錄。難道該系統就沒有可滲透之處?一般網站非常安全的可能性非常低,只有絕對不安全的系統,沒有絕對安全的系統。
圖1 使用Jsky掃描網站的掃描結果
2.網站目錄訪問測試
復制 http://www.xxxxxxx.com/admin地址到 IE瀏覽器中,進行測試看看能否實際打開該地址,如圖2所示,可以打開而且為 管理員后台地址。
圖2 測試掃描出路徑的頁面是否存在
說明:
對存在目錄進行實際訪問主要是看系統是否存在一些報錯等提示信息,然后根據這些信息再次進行分析和利用,為滲透提供一些判斷和支持。
3.使用社工進行登陸測試
在圖2的用戶名中輸入admin,密碼中輸入一些常見的密碼進行測試,人品好,沒有辦法,還愣是進去了,如圖3所示,頁面比較簡潔。
圖3 成功進入后台
說明:
本次的成功滲透就來自於本次的成功進入后台,實際上如果社工猜測到密碼,拿到該服務器的權限還是比較難的,所以在實際滲透測試過程中,各種想法和思路都可以進行測試,只要能夠進入系統,能夠獲取一定的權限的方法都是好方法。
4.尋找突破點
整個系統一共就6個模塊,對各個功能模塊進行了查看,發現很多模塊功能都是一樣的,如圖4所示,均是簡單的數據添加、刪除和修改。
圖4 瀏覽其它功能模塊
5.修改管理員
在本網站系統中,無用戶管理,僅僅一個修改管理員密碼,如圖5所示,考慮到該密碼非常簡單,出於安全考慮,直接將其修改為一個復雜的密碼,然后將修改的密碼告訴管理員。
(二)旁注滲透測試
滲透測試時如果正面不行,那么就采用一些迂回戰術,從側面來進行。也就是采用一些間接的方法,例如旁注。
1.獲取該網站所在服務中的所有其它域名
直接在IE地址欄輸入:“http://www.ip866.com/reverse.aspx?domain=www.rain**.com”,打開“反查域名”頁面,單擊“點這里反查全部相關域名”,如圖6所示,在該服務器中一共有9個域名。
圖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注入測試
看來旁注等方法均不可行,無法進一步獲取權限,看來只能通過前面獲取的權限來想辦法了。
滲透測試時如果正面不行,那么就采用一些迂回戰術,從側面來進行。也就是采用一些間接的方法,例如旁注。
1.獲取該網站所在服務中的所有其它域名
直接在IE地址欄輸入:“http://www.ip866.com/reverse.aspx?domain=www.rain**.com”,打開“反查域名”頁面,單擊“點這里反查全部相關域名”,如圖6所示,在該服務器中一共有9個域名。
圖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文件,其涉及安全核心關鍵代碼如下:
在上面的代碼中可以看到如果具有管理員權限,那么是可以在網站建立目錄,也就是說在某種情況下,完全可以利用IIS文件目錄解析漏洞來獲的Webshell。
1.打開媒體上傳窗口
直接在使用該器的網頁中單擊插入媒體的按鈕,出現如圖12所示的界面。
圖12 打開插入媒體窗口
2.新建一個simeon.asp的文件夾
在“Insert Media”窗口中可以發現有一個新建文件夾的圖片,如果該圖標是灰色的那么就無能為力了,如圖13所示,我們新建一個叫“simeon.asp”的文件夾,建立成功后如圖14所示。
圖13 新建simeon.asp文件夾
圖14
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文件命名的文件夾解析半對半錯。
由於微軟的IIS6存在着一個文件解析路徑的漏洞,當文件夾名為類似“xxx.asp”的時候(即文件夾名看起來像一個ASP文件的文件名),此時此文件夾下的文本類型的文件都可以在IIS中被當作ASP程序來執行。這樣可上傳擴展名為jpg或gif之類的看起來像是圖片文件的木馬文件,通過訪問這個文件即可運行木馬。
通過分析和觀察,發現本網站系統是采用的CuteEditor器。該器本身的安全還做的可以,分為管理員/user/guest三種權限,其配置文件位於“CuteEditor"Configuration"Security”目錄,通過分析Admin.config文件,其涉及安全核心關鍵代碼如下:
在上面的代碼中可以看到如果具有管理員權限,那么是可以在網站建立目錄,也就是說在某種情況下,完全可以利用IIS文件目錄解析漏洞來獲的Webshell。
1.打開媒體上傳窗口
直接在使用該器的網頁中單擊插入媒體的按鈕,出現如圖12所示的界面。
圖12 打開插入媒體窗口
2.新建一個simeon.asp的文件夾
在“Insert Media”窗口中可以發現有一個新建文件夾的圖片,如果該圖標是灰色的那么就無能為力了,如圖13所示,我們新建一個叫“simeon.asp”的文件夾,建立成功后如圖14所示。
圖13 新建simeon.asp文件夾
圖14
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文件命名的文件夾解析半對半錯。
(四)提升權限
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.成功進入遠程桌面
通過Webshell找到對方服務器開放3389的修改后的端口8080,在本地打開遠程終端連接器,在計算機中輸入“www.xxxx.com:8080”進行連接,如圖23所示,成功進入對方桌面;然后就是對網站和服務器存在的安全問題進行整理,最后形成一個完成的滲透測試報告,到這里也就可以交差了!
(五)安全建議和總結
1.安全建議
針對本次滲透測試中發現的安全問題提出以下一些安全建議:
(1)及時修補系統中的安全漏洞,尤其是IIS6.0中的目錄解析漏洞,對於一些微軟公布的高危漏洞還是應該及時更新,降低安全風險。
(2)對於那些允許注冊賬號的網站來說,在網站程序編寫的時候,程序員通常為了管理方便,便以注冊的用戶名為名稱來建立一個文件夾,用以保存該用戶的數據。例如一些圖片、文字等等信息。入侵者就是利用了這一特點,特意通過網站注冊一個以“.”或者“.cer”等的后續名作注冊名,然后通過如把含有木馬的ASP 文件的.asp后綴改成.jpg等方法,把文件上傳到服務器,由於IIS6漏洞,jpg文件可以通過IIS6來運行,木馬也隨着運行,達到了攻擊網站的目的,這種情況,可以由程序員對注冊用戶名稱進行限制,排除一些帶有“*.asp ”、“*.asa”等字符為名的注冊名。加強網站自身的安全和防范措施。另外,要阻止用戶對文件夾進行重命名操作。
(3)細化服務器文件目錄權限,杜絕權限漏洞
可以通過修改服務器的配置來實現對這個漏洞的預防。如何對服務器進行配置呢?很多網站都允許用戶上傳一定數量的圖片、Flash 等,很多時候網站開發人員為了日后管理方便,對上傳的文件都統一放到指定的一個文件夾里面,管理員只要對該文件夾的執行權限設置成“無”,這樣一定程度可以對漏洞進行預防。
(4)對CuteEditor上傳組件,可以在安全配置文件中去掉有關文件夾新建權限。
(5)網站管理員密碼不能設置太弱智,一些簡單的猜測如果能夠成功,即使程序本身和網站系統沒有什么漏洞,也將會導致整個系統的潰敗。任何信息的泄露對入侵者來說都會增加入侵成功的可能。
2.安全總結
通過本次安全滲透,掌握了利用CuteEditor滲透系統的思路,以及如何在系統中對IIS6.0目錄解析漏洞的防范,在整個滲透過程中使用了多種方法,在一種方法行不通的前提下,換種思路或許會達到意想不到的效果。
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.成功進入遠程桌面
通過Webshell找到對方服務器開放3389的修改后的端口8080,在本地打開遠程終端連接器,在計算機中輸入“www.xxxx.com:8080”進行連接,如圖23所示,成功進入對方桌面;然后就是對網站和服務器存在的安全問題進行整理,最后形成一個完成的滲透測試報告,到這里也就可以交差了!
(五)安全建議和總結
1.安全建議
針對本次滲透測試中發現的安全問題提出以下一些安全建議:
(1)及時修補系統中的安全漏洞,尤其是IIS6.0中的目錄解析漏洞,對於一些微軟公布的高危漏洞還是應該及時更新,降低安全風險。
(2)對於那些允許注冊賬號的網站來說,在網站程序編寫的時候,程序員通常為了管理方便,便以注冊的用戶名為名稱來建立一個文件夾,用以保存該用戶的數據。例如一些圖片、文字等等信息。入侵者就是利用了這一特點,特意通過網站注冊一個以“.”或者“.cer”等的后續名作注冊名,然后通過如把含有木馬的ASP 文件的.asp后綴改成.jpg等方法,把文件上傳到服務器,由於IIS6漏洞,jpg文件可以通過IIS6來運行,木馬也隨着運行,達到了攻擊網站的目的,這種情況,可以由程序員對注冊用戶名稱進行限制,排除一些帶有“*.asp ”、“*.asa”等字符為名的注冊名。加強網站自身的安全和防范措施。另外,要阻止用戶對文件夾進行重命名操作。
(3)細化服務器文件目錄權限,杜絕權限漏洞
可以通過修改服務器的配置來實現對這個漏洞的預防。如何對服務器進行配置呢?很多網站都允許用戶上傳一定數量的圖片、Flash 等,很多時候網站開發人員為了日后管理方便,對上傳的文件都統一放到指定的一個文件夾里面,管理員只要對該文件夾的執行權限設置成“無”,這樣一定程度可以對漏洞進行預防。
(4)對CuteEditor上傳組件,可以在安全配置文件中去掉有關文件夾新建權限。
(5)網站管理員密碼不能設置太弱智,一些簡單的猜測如果能夠成功,即使程序本身和網站系統沒有什么漏洞,也將會導致整個系統的潰敗。任何信息的泄露對入侵者來說都會增加入侵成功的可能。
2.安全總結
通過本次安全滲透,掌握了利用CuteEditor滲透系統的思路,以及如何在系統中對IIS6.0目錄解析漏洞的防范,在整個滲透過程中使用了多種方法,在一種方法行不通的前提下,換種思路或許會達到意想不到的效果。