作者:
360安全衛士
·
2016/04/06 11:41
Author:Luke Viruswalker
0x00 簡介
上個月底,德國老牌安全廠商歌德塔釋出安全報告,報告中指出出現了一種名為Petya的新型敲詐木馬。那麼這個新型的敲詐木馬到底是怎麼回事呢?
0x01 木馬概述
木馬本身其實技術上並不複雜:木馬用C語言編寫,透過修改系統所在磁碟包括主開機記錄(MBR)在內的前63個扇區的資料,實現開機自動載入木馬寫入的惡意程式碼的目的。而後再強制引發系統重啟,讓計算機自動載入惡意程式碼,進而加密使用者磁碟並展示敲詐介面。
如上所述,兩句話就能說明白木馬的原理,但實際應用起來給我們的感受卻是:簡單!粗暴!但————有效!
0x02 程式碼分析
重啟前的前期準備工作
由於木馬的主要傳播途徑來自於網盤分享,所以木馬做的唯一的偽裝就是在圖示上————偽裝成了一個自解壓程式:
除此之外就不再有其他的偽裝了,直切主題————開啟C盤,並透過DeviceIOControl獲取到C盤所在的物理磁碟。
獲取到磁碟之後,以可讀可寫的模式開啟磁碟(其實就是為了寫入):
萬事俱備,只欠東風————開始正式的寫入了。木馬寫入的全部資料集中在磁碟的前63個扇區內,分為四個部分:1.修改磁碟第1個扇區(0柱面,0磁頭,1扇區)的512位元組內容————即修改MBR;2.將後續扇區空閒部分全部寫入字元“7”(即HEX資料0x37);3.第35個扇區開始填入總長度為8192位元組(0x2000位元組,即16個扇區的空間)的惡意程式碼;4.第55個扇區開始填入長度為512位元組的配置資料。
改寫的都寫完了,就剩重啟了。木馬並沒有用最小兒科的手段去執行系統的shutdown命令,而是呼叫了一個ntdll中的ZwRaiseHardError函式觸發硬體異常來製造藍色畫面,以此達到強制重啟的目的:
分析暫停,我們來看看磁碟
一直到此處,我們將分析暫停,看看此時的磁碟————包括MBR的前63個扇區的資料均已被木馬修改,加入了惡意程式碼。但磁碟分割槽本身還並未被實質性的破壞。我們用工具開啟磁碟可以清楚的看到已經被修改的MBR和被加入的惡意程式碼:
細看被修改的MBR程式碼,會在一開始便將第34扇區(此處計數是從0開始,也就是文章之前所說的第35個扇區處)的資料迴圈載入記憶體中並執行:
繼續跑起來!看看重啟之後的場景
OK,此時我們讓木馬繼續,觸發系統藍色畫面之後自動重啟,會出現一段磁碟修復資訊:
如上圖所示,系統會提示你正在修復C盤所在的檔案系統,並用全大寫的字型警示使用者(雖然用英文寫這些所謂的“警示”內容在國內完全水土不服)————千萬不要停止關機,一旦你關機了你的資料就全毀了!
然而事實上呢?你不關機你的資料也全毀了————因為這段提示資訊根本就不是系統原本的修復程式,而是木馬自己寫入的欺騙性提示。而下方顯示的進度數值卻是有真實意義的:這個進度恰恰是惡意程式碼在加密你磁碟的進度!下圖是直接使用工具開啟磁碟,從病毒修改的磁碟資料中找到的對應的文字:
在所謂的“檔案系統修復”完成後,使用者面對的便是一個閃瞎雙眼的骷髏圖示(1.截圖無法展示閃爍效果,實際看到的是紅白顏色切換的閃爍;2.平心而論這個介面製作的還是挺精良的!⊙﹏⊙b)
按要求“Press Any Key”之後進入正題!是不是很熟悉?去下個洋蔥瀏覽器(Tor Browser)然後訪問我指定的連結,輸入你的個人解密編碼並交錢,拿到解密秘鑰,才能讓系統恢復正常!
和之前流行了多年的CTB-Locker如出一轍的敲詐手法,只不過這次不再是加密你的特定檔案了,而是加密你的整個磁碟……
0x03 關於防範和修復
這個木馬雖然很獨具匠心的呼叫ZwRaiseHardError函式而非shutdown命令來重啟系統,但畢竟整個木馬的設計思路都是建立在修改系統MBR基礎上的,所以對於大多帶有主防功能且和MBR木馬對抗了這麼多年的安全軟體來說,在修改MBR這一個動作上就已經可以攔截了。加之根據我們的監控該木馬並沒有在國內大規模爆發,所以只要大家安裝有靠譜的安全軟體,對Petya木馬就不必太過於恐慌。
但當你沒有使用安全軟體進行防護的話……那就牽扯到修復問題了。這個就比較麻煩了。
假設你的意識足夠好,手速足夠快。只是一時大意不慎中招。一定要記得趕在進入那個假的“檔案系統修復”介面之前徹底關機(此處建議拔電源)。如果你做到了————恭喜!後面的步驟不會很複雜。你只需要找到一個PE系統,讓你的機器從隨身碟引導進入PE系統,然後用裡面的任何關於引導修復的工具去重建MBR即可。
因為此時雖然惡意程式碼已經寫入,但還沒有開始加密磁碟,只要你重建了MBR,正常的系統MBR是不會執行木馬寫入的惡意程式碼的。所以那些惡意程式碼只會成為一大段程式碼屍體————靜靜的躺在你的磁碟裡,永遠不會被執行。當然,如果你連屍體都不想要,在重建MBR之後,再執行一下下面那個“清楚保留扇區”,那麼連屍體都會幫你清理乾淨的。(^o^)/~
如果你有經常備份系統的習慣,那麼不多廢話了……按照上面的步驟重建MBR之後,還原系統就好了
如果這樣那很不幸,但即便如此你其實依然不用付贖金。因為和典型的CTB-Locker不同,這個木馬並沒有更改你的任何檔案,而只是破壞了磁碟整體的檔案索引。所以如果你真的有很重要的檔案需要恢復,並且不是很在乎系統本身是否還能啟動,那你完全可以自己動手:
但如果你希望是把整個系統完好無損的還原出來,那就需要比較專業的工具和專業的方法了,所以去找專業的資料恢復服務更為省心一些。
此處順帶說一句,最近國內也出現了一款類似的修改MBR的敲詐木馬:
如果是這個木馬的話,只需要按照上面重建MBR的步驟,之後再加一步找回丟失的分割槽表即可完成修復————因為該木馬只破壞了分割槽表,而並沒有對檔案索引下手:
![p24][24]
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!