天天看點

紅隊第5篇:MS12-020藍屏漏洞在實戰中的巧用

Part1 前言

大家好,上期分享了一篇Shiro Oracle Padding反序列化漏洞無key的實戰文章,這期講一個MS12-020藍屏漏洞的真實利用過程。這個案例源于2013年我在讀研期間,印象是比較深的。在學校期間,我偶爾會幫網絡部那邊處理一些網站故障,還幫忙修補過安全漏洞。在那個年代,大學網站的漏洞是非常多的,基本上沒有什麼WAF裝置防護。期間有一個大學網站大概是長時間沒有人用,崩潰了,通路一直是卡死狀态,伺服器密碼學校那邊也不記得了。于是我就來了一頓操作,幫忙恢複了一下,中間也踩了不少坑。首先肯定是要想辦法拿到伺服器權限,然後幫學校把密碼讀出來,下面憑着記憶,把過程寫出來。

Part2 研究過程

  • Web應用層面

首先對這個特殊任務進行分析,首先是Web應用層面上,可以找各種Web漏洞拿權限,比如SQL注入漏洞、上傳漏洞、列目錄漏洞、XSS盲打背景、找CMS公開或未公開的漏洞、架構漏洞等。但是本次案例中Web應用崩潰了,通路不了,是以這個思路不适用。

  • 中間件層面

Web應用沒法搞,接下來重點看中間件上有沒有可突破的點。從搜尋引擎網頁快照上看,大緻判斷中間件是IIS6.0。對于IIS中間件,可利用的漏洞有IIS PUT檔案上傳、IIS5.0遠端代碼執行、HTTP.sys遠端代碼執行漏洞(MS15-034)、IIS6.0遠端溢出漏洞(CVE-2017-7269)等。在2013年,那時候IIS6.0中間件還沒有爆出遠端溢出漏洞(CVE-2017-7269),MS15-034這個漏洞沒有能拿權限的exp,IIS中間件也沒有開啟PUT上傳功能,是以是沒辦法直接PUT上傳寫shell。中間件這條路基本上也走不通。

( 下面放一個老工具的圖,懷舊一下,zwell和桂林老兵寫的,在10幾年前檢測IIS漏洞很好用,zwell就是現在goby和fafo搜尋引擎的作者)

紅隊第5篇:MS12-020藍屏漏洞在實戰中的巧用
  • 伺服器IP層面

中間件IIS也沒有漏洞可利用,那麼隻能把精力放在伺服器層面上了。接下來nmap全端口掃一下伺服器IP,看看開放了哪些端口。結果開放了135、139、445、80、3389端口(我處于學校内網中,是以445端口是開着的),作業系統識别為Win2003。

接下來分析一下這幾個端口的服務有哪些可利用的漏洞:

135端口:可爆破Administrator的密碼,135端口早年爆出過遠端代碼執行漏洞,但是貌似是02年還是03年左右的漏洞了,太老了,沒法利用。我記得那時候很多人流行用135漏洞批量掃IP。

139端口、445端口:這兩個端口都可爆破Administrator的密碼,這裡有些讀者可能會想到MS08-067,但是沒那麼簡單,因為當時的各種exp我都試過了,打不成功Win2003中文版系統。

( 放一個老工具的圖,那個年代爆破密碼這個工具特别好用,現在這個工具不行了)。

紅隊第5篇:MS12-020藍屏漏洞在實戰中的巧用

我試了BackTrack(BackTrack是Kali Linux的前身,那時候名字是BT4還是BT5的,記不清了)裡的Metasploit打Win2003的中文系統,根本打不成功。我用Metasploit打Windows2003中文系統就從來沒成功過,打Windows XP系統可以打成功。後期看雪論壇有人放出了MS08-067的适用于中文系統exp,還有很詳細的分析文章,但那是好多年後的事情了,那個exp我後來也測試過,能打成功,但是也不太穩定。當時還沒有NSA的方程式工具包洩露,否則很輕易就用MS17-010打下來了。

紅隊第5篇:MS12-020藍屏漏洞在實戰中的巧用

後來我又下載下傳了國内大牛改的MS08-067的exp,對于Win2003系統同樣也打不成功。

( 放個那時候工具的圖,14年前的老工具了,現在可以用方程式工具包替代 )

紅隊第5篇:MS12-020藍屏漏洞在實戰中的巧用

接下來對445端口爆破賬号密碼,445端口爆破密碼要比135、139、3389速度快很多,在内網環境中,有時候一秒就可以破幾百次,挂了一個超大字典,結果沒跑出密碼。

組後隻剩下3389端口了,3389服務可以爆破密碼,但是速度是比445要慢太多了。況且剛才445的SMB服務,也沒爆出密碼,是以3389爆破密碼是多餘的。

  • MS12-020藍屏漏洞

這樣貌似就沒辦法了,等到晚上去食堂吃飯,在回來的路上靈光一閃,來思路了!3389的RDP服務不是曾經爆出一個漏洞MS12-020嗎?那麼幹脆用這個漏洞把伺服器打藍屏,重新開機一下伺服器,網站不就恢複正常了嗎?

但是為了謹慎起見,我想到了以下幾個情況:

1、MS12-020藍屏後,Win2003會不會重新開機?可别一直卡在那裡就不動了。

2、重新開機後IIS伺服器是不是能自啟動,别重新開機後,IIS6.0服務起不來了。

為了確定萬無一失,還是搭建虛拟機環境測試一下吧,我本地搭建了一個虛拟機環境,使用Metasploit的MS12-020漏洞攻擊後,藍屏後幾十秒,伺服器就重新開機了,IIS6.0預設是自啟動的,也可以順利起來。沒有問題,藍屏這個思路可以在實戰中應用。

紅隊第5篇:MS12-020藍屏漏洞在實戰中的巧用

于是開始實戰了,結果意外出現了,不知道為什麼,Metasploit的MS12-020的exp怎麼打都不藍屏,打了7、8遍沒打藍屏。

接下來怎麼辦,我在想,學校的這種系統很少有打更新檔的情況,在當時,大學網站是不太關心網絡安全問題的。想來想去換個exp再試試吧,于是我從網上下載下傳了另一個利用程式,用nc發一個包過去(當時nc很流行,測試上傳漏洞都是用nc來測試的),結果伺服器立馬就藍屏了。藍屏後,伺服器自動重新開機,部署在IIS上的網站也恢複正常了。

( 放一個其它工具的圖吧,我清楚地記得當時是用nc載入一個poc文本檔案發包利用成功的,但是工具找不到了,沒法貼圖了 )

紅隊第5篇:MS12-020藍屏漏洞在實戰中的巧用

藍屏後是這個樣子,過幾十秒系統會自動重新開機,一切自啟動的服務恢複正常。

紅隊第5篇:MS12-020藍屏漏洞在實戰中的巧用

網站恢複正常後,後續通過Web應用的背景上傳漏洞打進去恢複密碼的,都是正常思路,這裡就不多講了。

Part3 總結

1. 虛拟機環境與實戰環境是不一樣的,一個漏洞準備多個EXP看來很有必要。

2. 藍屏漏洞有時候也可以派上用場,具體情況具體分析。在日常紅隊項目中,大家盡量提前跟客戶報備一下,因為現在一個伺服器上放的業務很多,藍屏重新開機可能造成不可挽回的損失,這裡隻是提供一個思路。

3. Tomcat等中間件在Windows下盡量别用這個方法了,因為很多都是批處理腳本啟動的,重新開機後,就起不來了。