Author:Luke Viruswalker
上個月底,德國老牌安全廠商歌德塔發布安全報告,報告中指出出現了一種名為Petya的新型敲詐木馬。那么這個新型的敲詐木馬到底是怎么回事呢?
木馬本身其實技術上并不復雜:木馬用C語言編寫,通過修改系統所在磁盤包括主引導記錄(MBR)在內的前63個扇區的數據,實現開機自動加載木馬寫入的惡意代碼的目的。而后再強制引發系統重啟,讓計算機自動加載惡意代碼,進而加密用戶磁盤并展示敲詐界面。
如上所述,兩句話就能說明白木馬的原理,但實際應用起來給我們的感受卻是:簡單!粗暴!但————有效!
由于木馬的主要傳播途徑來自于網盤分享,所以木馬做的唯一的偽裝就是在圖標上————偽裝成了一個自解壓程序:
除此之外就不再有其他的偽裝了,直切主題————打開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如出一轍的敲詐手法,只不過這次不再是加密你的特定文件了,而是加密你的整個磁盤……
這個木馬雖然很獨具匠心的調用ZwRaiseHardError函數而非shutdown命令來重啟系統,但畢竟整個木馬的設計思路都是建立在修改系統MBR基礎上的,所以對于大多帶有主防功能且和MBR木馬對抗了這么多年的安全軟件來說,在修改MBR這一個動作上就已經可以攔截了。加之根據我們的監控該木馬并沒有在國內大規模爆發,所以只要大家安裝有靠譜的安全軟件,對Petya木馬就不必太過于恐慌。
但當你沒有使用安全軟件進行防護的話……那就牽扯到修復問題了。這個就比較麻煩了。
假設你的意識足夠好,手速足夠快。只是一時大意不慎中招。一定要記得趕在進入那個假的“文件系統修復”界面之前徹底關機(此處建議拔電源)。如果你做到了————恭喜!后面的步驟不會很復雜。你只需要找到一個PE系統,讓你的機器從U盤引導進入PE系統,然后用里面的任何關于引導修復的工具去重建MBR即可。
因為此時雖然惡意代碼已經寫入,但還沒有開始加密磁盤,只要你重建了MBR,正常的系統MBR是不會執行木馬寫入的惡意代碼的。所以那些惡意代碼只會成為一大段代碼尸體————靜靜的躺在你的磁盤里,永遠不會被執行。當然,如果你連尸體都不想要,在重建MBR之后,再執行一下下面那個“清楚保留扇區”,那么連尸體都會幫你清理干凈的。(^o^)/~
如果你有經常備份系統的習慣,那么不多廢話了……按照上面的步驟重建MBR之后,還原系統就好了
如果這樣那很不幸,但即便如此你其實依然不用付贖金。因為和典型的CTB-Locker不同,這個木馬并沒有更改你的任何文件,而只是破壞了磁盤整體的文件索引。所以如果你真的有很重要的文件需要恢復,并且不是很在乎系統本身是否還能啟動,那你完全可以自己動手:
但如果你希望是把整個系統完好無損的還原出來,那就需要比較專業的工具和專業的方法了,所以去找專業的數據恢復服務更為省心一些。
此處順帶說一句,最近國內也出現了一款類似的修改MBR的敲詐木馬:
如果是這個木馬的話,只需要按照上面重建MBR的步驟,之后再加一步找回丟失的分區表即可完成修復————因為該木馬只破壞了分區表,而并沒有對文件索引下手:
![p24][24]