LokiBot惡意軟體分析
LokiBot是一款可以竊取敏感數據的惡意軟體,包括口令、加密貨幣信息等。之前,研究人員就發現一個利用遠程代碼執行漏洞來使用Windows Installer服務來傳播LokiBot、一個使用ISO鏡像的Lokibot變種和一個使用隱寫術改善駐留機制的變種。近期,研究人員發現一個偽裝成遊戲啟動器來誘使用戶執行的LokiBot。進一步分析表明,該變種的樣本使用了一個奇怪的安裝程序,其中釋放了一個編譯的C#代碼文件。
而使用「compile after delivery」(交付後編譯)檢測繞過技術的該變種,之前被機器學習檢測平台檢測和攔截過。
技術分析
感染是從一個偽裝為Epic Games store安裝器的文件開始的。該偽造的安裝器是使用NSIS安裝器認證工具構造的。惡意NSIS Windows安裝器使用了Epic Games的logo來誘使用戶將其看作一個合法的安裝器。
圖 1. LokiBot惡意軟體安裝器使用的文件圖標
惡意軟體安裝器執行後會釋放2個文件:受感染機器的%AppData%目錄中的一個C#源代碼文件和.NET可執行文件。
圖 2. 安裝器腳本截圖
進一步分析.NET可執行文件發現了一個嚴重混淆的文件,其中含有大量的垃圾代碼,作用是使逆向工程變得非常困難。
圖 3. 表明釋放的.NET可執行文件的函數代碼
該.NET可執行文件會讀取和編譯釋放的 C# 代碼文件——名字是MAPZNNsaEaUXrxeKm。
圖 4. 二進位文件中的垃圾代碼(上)表示釋放的代碼讀取和編譯的代碼(下)
編譯 C# 代碼文件後,二進位文件會使用InvokeMember函數來調用C# 代碼文件中的EventLevel 函數。調用的函數會解密和載入嵌入的加密的彙編代碼。
圖 5.調用EventLevel()函數的二進位文件的代碼
圖 6. 表明彙編代碼解密過程的代碼段
LokiBot 樣本的安裝路徑融合了兩種技術來繞過檢測:
·第一,使用C# 源碼來繞過防護機制,目標可執行二進位文件
·此外,使用 C# 源碼文件中嵌入的加密的彙編代碼形式的混淆文件
感染的最後一階段是LokiBot payload的執行。在這些活躍的信息竊取器中,對安裝和混淆機制的調整表明,LokiBot未來將會繼續發展。
參考及來源:https://blog.trendmicro.com/trendlabs-security-intelligence/lokibot-impersonates-popular-game-launcher-and-drops-compiled-c-code-file/