Garena 釣魚蠕蟲 Dropper 樣本分析(照片.zip)與如何清除病毒

前言

事情是這樣的,一如反常的我打開我的 macbook、打開虛擬機、打開 Windows、打開 Garena、打開 LoL 想發洩一下 這時候發現一堆人都在密我呢,好害羞啊,可是大家都密我一樣的東西,丟了一份 照片.zip 過來,這引起了我的好奇

註:這篇文章只分析 Dropper 部分,後面還有一支 *.exe 惡意程式有加殼,如果時間比較有空了我才會分析進去他在幹嘛XD,這篇文章主要是分享分析 *.vbe 加密後的 VBScript 的方法與解混淆的技巧。我不會承認是因為我懶得開虛擬機,所以這篇文章都在真實工作電腦內純靜態分析哈哈哈哈哈哈


TL;DR:如何清除病毒?

因為這隻惡意程式把路徑跟檔名都寫死的,所以檢查一下你 Windows 的「啟動」資料夾是否有 r.vbe,跟 C:\programdata\opopopk.exe 這個程式是否存在。把啟動資料夾內的 r.vbe 與 C:\programdata\opopopk.exe 刪除就完成清除病毒惹

惡意壓縮包附件

首先你拿到這份壓縮包後,會看到裡面只有一個「照片.vbe」檔案,類型可見是 VBScript 編碼後的腳本文件
打開這份 *.vbe 文件後,即可見內部是編碼過後的腳本,無法直接觀看到程式碼,你可以透過 VBS decrypter and encrypter 來完成這個解碼的部分,這個編碼解碼有一套固定算法沒有任何技術性,不要浪費人生在這種無意義的東西上

把解碼後的程式碼稍微重新排版後,可以看到他的混淆很簡單,就只是把 VBScript 程式碼以字串方式,把每個 ASCII 碼以數字與逗號做切割保存在 Str 變數內。執行時,再將每個數字轉回文字並組合存在 restorecode 內,回傳 ASCII 組合起來的字串,再透過內建的 Execute 函數將 VBScript 執行起來。所以只要把 Execute 換為 MsgBox 函數:
我們就可以很輕易的把程式碼攔截下來,接著進到下一步驟做分析。


Dropper 核心程式碼



上面是完整攔截下來的 VBScript 的 Dropper 程式碼。
一開始執行起來這一段很好理解,基本就是把自己目前這份混淆過後的 *.vbe 惡意腳本拷貝一份到 Windows 的「啟動目錄」來做到開機自動執行,自動下載惡意程式到本機執行(詳閱後面)
這一部分就只是目標放置惡意程式的地方在 C:\programdata 資料夾,所以展開其資料夾中每一個路徑看看資料夾是否存在,不存在的話就自動創建資料夾(避免後續放置檔案時失敗)

接著是用 WMI 方式判別當前電腦的版本號是否為 XP,如果是就執行第一種行為,不是就執行第二種(不過看起來是大同小異,我直接分析 Win7+ 的行為)
對,我知道我很偷懶,我完全不想解它的混淆,把看不懂的變數部分用 MsgBox 彈粗乃就可以發現它創建了 Wscript.Shell、MsxMl2.Http 與 ADODB.Stream 的結構實體,後續用於抓後門下來。
最後透過 MsxMl2.Http 將「http://%77%77%77%2E%66%7A%66%7A%31%32%33%2E%75%73%61%2E%63%63/%69%6D%61%67%65%73.%67%69%66」(http://www.fzfz123.usa.cc/images.gif,實際上是一隻惡意程式)下載到 C:\programdata\opopopk.exe,然後透過「cmd /c set &&ping -n 10 127.0.0.1 &&start C:\ProgramData\opopopk.exe」把這隻惡意程式給叫起來,完成 Dropper 的工作

留言

這個網誌中的熱門文章

[C#] Lambda花式應用噁爛寫法(跨UI委派秒幹、多線程處理...etc)

[Black Asia Arsenal] puzzCode: 專注開發後門的編譯器, 自帶反逆向、對抗病毒特徵碼定位技術

[Windows] 逆向工程 C++ 中入口函數參數 main(argc, argv) 與如何正確的進行參數劫持