馬後炮式詳談英雄聯盟、流亡黯道網軍間諜病毒在幹嘛(上集)

*注意:此篇文作者只略懂略懂資安,不是一篇專業分析文
*1/11:此文有下集囉~馬後炮式詳談英雄聯盟、流亡黯道網軍間諜病毒在幹嘛(下集)

閱讀此文須服用前置資訊:
12/31Garena 資訊安全聲明
HITCON Freetalk 20150109:Operation GG 台灣最熱門網遊安裝檔 驚見網軍後門

其實在一開始12/31,
魯宅我還在義大宿舍爽爽準備跨年,然後有看到Garena官方發出這份公告
不過我沒有多想XD

反正我宿舍電腦Windows都是裸奔沒有裝防毒的習慣再加上我每天無聊都會開封包工具跟一些資安有關逆向工具,都沒有發現有任何異狀,所以我應該是沒有事XD


接著我們進入正題吧。
我們看完HITCON大神們(說到這我正在跪著敲鍵盤)和
Garena官方公告後可以得知幾件事情:

  1. 這是一個安裝程序感染事件,主要問題應該是出在完整安裝包身上(這應該也能解釋為什麼魯宅我沒中毒...因為我都用版本升級的補丁做安裝)。
  2. 安裝包程序上綑綁上了病毒插件,執行完安裝包後安裝好的遊戲主程式會被Patch成一個後門木馬遊戲程式。當你正常開啟遊戲後,除了打開遊戲本身外,會在C:\Windows\System32\下生產兩個檔案,分別為NtUserEx.dll、NtUserEx.dat
    兩個藏在System32的後門文件檔案
  3. 從HITCON的FreeTalk大神口中我們可以得知,NtUserEx.dll其實幾乎是正常的dll Library(不過它來源好像因為是Windows NT的DLL所以自動被防毒當白名單?這不太清楚,Google找不太到);而整份NtUserEx.dll函數中只Patch了兩個函數去存取NtUserEx.dat
  4. NtUserEx.dat的內容物應該就是整隻病毒核心要幹的壞事,加密起來包在這個.dat文件內動態載入存取,然後監控整個你的Windows系統。
*附註:是說有問題的安裝包我是跑去跟HITCON的大神要的XD,點開了有問題的遊戲主程式後就會在System32下生產兩個病毒文件並且修改有問題的主程式回正常的主程式,意思是有問題的遊戲主程式只要製造出病毒後就會恢復正常遊戲主程式了!(至於為啥要這樣幹...可能想避免引起注意吧?)


不過我是把這支病毒養在OSX系統內的Windows沙箱啦...沒有灌LOL、POE ♪(´ε` ),所以我直接把病毒Dll注入到記事本(Notepad.exe)身上,讓病毒寄生在記事本上看狀況怎麼跑的XD
(本來想直接用OD載入這支DLL掛起來分析就好,沒想到這DLL好像有針對OD做防護,所以餵給OD會沒辦法開,會被OD吐出來;最後就選用了Cheat Engine把DLL注入到Notepad.exe然後用Process Monitor動作紀錄)


不過在CE注入這支DLL的時候花費前後應該快5秒的時間才注入完畢,翻了一下Process Monitor多出了一堆操作記錄,推測應該病毒作者很懶...直接把要處理的事情塞在DLL Main了...導致注入要花很久時間XD。

前面一開始注入進去,病毒DLL開始大量操作I/O讀取自己的靜態病毒文件,或許是在檢測病毒本身有沒有損毀或者被破解吧(?)不過我沒興趣做太多研究
不過很有趣的事情是,病毒會去檢查註冊表的這個鍵值。Google查了一下好像是SQL的跟蹤產品?也許是病毒會用到SQL不想被跟蹤所以檢測有沒有跟蹤套件安裝在這環境上XD。
(知道實情的爸託~跟我說一下為毛為毛~~~~)
前面做了一脫拉庫的檢查自己檔案、鍵值檢查、創建內存共享、生產文件...最後終於開始載入NtUserEx.dat病毒核心的紀錄文件了!載入完之後又會使用到網路的API去做一系列的事情。

接著設定一些當前Windows環境中的網路群組設定原則的設定
設定CopyBuff幹嘛?為了加速遠端伺服器連線傳檔嗎...不太懂啊Otz.
接著載入NtUserEx.dat到內存,做一些比對(吧?)最後刪除了NtUserEx.dat靜態文件。
(不過後面又一連串創建寫入載入查詢...etc,然後NtUserEx.dat又回來了XD)
然後又是一連串的Windows上的系統屬性資料註冊表查詢................途中還檢測了cmd.exe
讀取到最後累了(?)DLL Main就在一連串檢查註冊表的結尾GG。


不過一整個觀察病毒行為過程中都是讀取註冊表、打開鍵值、關閉鍵值都是做一些讀取和檢查環境的行為...沒有看到任何網路行為或者寫入行為(或許是因為我沒有裝遊戲只有下載病毒文件而已導致病毒察覺有問題吧?或者病毒察覺這是一個沙箱環境,不想做壞事XD)

唯一比較有趣的事情是,它創建檔案寫入檔案只透過了CreateFile、CreateFileMapping,除了保存自己文件之外XD(或許不想引起防毒注意?)

總之這次測試病毒行為中沒有發現什麼特殊攻擊行為...或許是因為我把這病毒養在沙箱環境它故意不跑惡意代碼,不過還是最後附註一下:
如果你的Garena帳號一直被盜的話可能就是這支病毒引起的(可以去System32下找看看有沒有NtUserEx.dll),如果用一些掃毒軟體解決你的困擾XD。

這次事件解毒傳送門(趨勢科技):

留言

  1. 好詳細的分析,借來轉載一下~

    http://nitroxenon.com/lol-trojan-1/

    回覆刪除

張貼留言

這個網誌中的熱門文章

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

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

重建天堂之門:從 32 位元地獄一路打回天堂聖地(上)深度逆向工程 WOW64 設計