摘要:參數 含義 action 請求的目的 user_name 受感染主機的用戶名 bot_id 標識受感染主機的唯一字符串 av 安裝的殺毒軟件名稱 os_major 操作系統名稱 permissions 用戶的權限 os_bit 操作系統架構 cpu CPU 型號 gpu GPU 型號 ram 可用內存 hdd 硬盤序列號 version 惡意軟件版本號(最新版爲 1.0.1) user_group 用戶組名稱 pc_net 安裝的.NET框架版本。2019 年 2 月 21 日,我們開始注意到一個逐漸鋪開的、名爲 SmokeLoader 的 Bot,將會在受感染的機器上安裝額外的惡意軟件,分發 .NET 惡意軟件樣本。

原標題:PsiXBot:模塊化.NET殭屍網絡的進化

本文中我們將分享我們對模塊化惡意軟件 PsiXBot 的分析。該惡意軟件於 2017 年首次出現,最近一段時間核心代碼與模塊有了很大改變。其中包括鍵盤記錄與 Outlook 和瀏覽器憑據竊取,隨着這些新開發項目的完成以及在野觀察到的第一批大規模投放,PsiXBot 已正式在惡意軟件生態中嶄露頭角。

介紹

2019 年 2 月 21 日,我們開始注意到一個逐漸鋪開的、名爲 SmokeLoader 的 Bot,將會在受感染的機器上安裝額外的惡意軟件,分發 .NET 惡意軟件樣本。進一步研究發現,該 Bot 是一個具有模塊化功能的 Bot,例如從受感染主機竊取數據以及接收、執行任務的功能。當 Spelevo Exploit Kit 在 3 月 16 日開始分發相同的惡意軟件時,我們覺得還有進一步調查分析的必要。

從 2017 年開始開發到目前退出 Beta 版本,可以看到它通過多個感染向量進行分發,例如 Exploit Kit 與惡意軟件加載器的聯動。

分析

最初的分析起源於偶然發現的一條關於 PsiXBot 惡意軟件早期版本的 。同時期也有其他 中提到了同一惡意軟件的早期版本。

版本概述:

2017 年年中時期:在野發現第一個版本(SHA256:d2ee07bf04947cac64cc372123174900725525c20211e221110b9f91b7806332)

2018 年 8 月:發現更新版本(SHA256:ce0e46fa1c5b463ed4a070a05594a79203ed2dd5df96cece9f875e2957fda4fa)

2019 年年初:通過不同的感染媒介分發最新版惡意軟件(SHA256:ca30c42334fcc693320772b4ce1df26fe5f1d0110bc454ec6388d79dffea4ae8)

下圖顯示了不同版本程序的代碼結構,左側是第一個版本,右側是最新版本:

請注意,PsiX 來源於程序的名字,看一下 PDB 路徑可以發現相同的命名:G:\WORK\MONEY\BOT\NoName\PsiX\obj\Release\NoNameBot.pdb。

另外,看一下上圖中間樣本的代碼結構,也可以看到 Radius。另外在 C&C 服務器中也可以發現部分字符:radcall.bit、radbot.bit 與 rrradiusspace.bit。

經過分析,各個版本間主要的差異是:

添加更多的模塊支持新命令

使用 AES 加密字符串

版本從 Beta 1.0.0 更新到 1.0.1

以下都以最新版本爲主進行介紹。

您可能已經注意到了,惡意軟件使用 .NET 編寫的,而且沒有使用混淆。通常來說,主要的 Payload 都隱藏在一個 Dropper 內,一旦執行就會調用 Main 函數。首先通過查看硬編碼的互斥鎖 gfdhfyf543543cdsdfsdf 來驗證它是唯一運行的實例,然後在正式運行前執行大量循環模擬 sleep 函數。

大多數字符串使用硬編碼字符串密鑰通過 AES 進行加密,分析樣本的示例使用的是 1243hewqr8n1220g321&^*&^Tb0。

此外,它還會檢查受害者的語言設置,如果語言設置爲 ru-RU(俄語),惡意軟件將會直接退出。對於所有其他語言設置,惡意軟件將會繼續惡意軟件活動。

程序還會檢查文件名是否與配置的文件名對應。對應不上時,通過 WMI 調用 CopyEx 函數後通過 WMI 複製二進制文件。安裝路徑爲 %APPDATA% 文件夾內的 Local\Microsoft\.exe。

安裝成功後,惡意軟件會與配置好的 C&C 服務器進行通信,C&C 服務器的地址由以下代碼初始化:

public static string[] valid = new string[] { "pppoe.bit", "weather0.bit", "mygranny.bit", "six6.bit", "learncpp.bit" };

爲了與 .bit 域名進行通信,使用硬編碼的 DNS 服務器(193.37.213.223)。DNS 解析成功後,惡意軟件會 ping 每個 C&C 服務器,使用第一個響應的 C&C 服務器。

Bot 向 C&C 報告從受感染主機收集的一些信息,示例請求如下:

action=call&user_name=john&bot_id=D63BAFF79F3A3504C70DC3298EE74C68&av=N/A&os_major=Microsoft Windows 7 Home Basic N &permissions=User&os_bit=64&cpu=Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz&gpu=Standard VGA Graphics Adapter&ram=2048&hdd=C:12345/67890&version=1.0.1&user_group=Admin&pc_net=4.0

參數的含義是:

參數 含義 action 請求的目的 user_name 受感染主機的用戶名 bot_id 標識受感染主機的唯一字符串 av 安裝的殺毒軟件名稱 os_major 操作系統名稱 permissions 用戶的權限 os_bit 操作系統架構 cpu CPU 型號 gpu GPU 型號 ram 可用內存 hdd 硬盤序列號 version 惡意軟件版本號(最新版爲 1.0.1) user_group 用戶組名稱 pc_net 安裝的.NET框架版本

使用硬編碼的密鑰(63a6a2eea47f74b9d25d50879214997a)通過 R** 算法對數據加密傳輸。值得注意的是,作者加密了大部分字符串,除了 R** 加密密鑰、純文本的 C&C 服務器地址和 DNS 服務器地址。

C&C 服務器使用 JSON 進行回應,如下所示:

{ result_code: [ { "result_code": "200", } ] }

如果服務器返回有效響應,則惡意軟件會在請求執行新命令前休眠 95 秒,這是通過發送數據完成的:

action=command&bot_id=D63BAFF79F3A3504C70DC3298EE74C68

響應的示例如下:

{ "result_code": [ { "result_code": "200" } ], "commands": [ { "command_id": "1485", "command_action": "GetSteallerPasswords", "command_data": "", "command_arg": "" }, { "command_id": "1486", "command_action": "StartSchedulerModule", "command_data": "", "command_arg": "" } ] }

在上面的示例中,C&C 服務器 要求執行兩個命令,command_action 值是要調用的方法的確切名稱,惡意軟件根據該值動態解析方法。爲了避免硬編碼字符串,作者實現了一種簡單的方法來升級惡意軟件:如果在執行期間惡意軟件中沒有 C&C 發送的方法名稱,就簡單的忽略該方法。其中一個調用的方法類型爲 SukaBlyat,該詞在俄語俚語中是一個冒犯性詞彙。

這兩個接收的命令被用來請求 C&C 服務器額外的模塊,請求模塊的數據傳輸通過:

action=module&bot_id=D63BAFF79F3A3504C70DC3298EE74C68&module_action=SchedulerModule

隨後,下載並執行該模塊,同時發送以下命令:

action=result&command_id=1485&command_result=6E756C6C

當前版本支持的命令:

Download

DownloadAndExecute

Execute

GetInstalledSoft

GetKeylogs

GetOutlook

GetProcessesList

GetScreenShot

GetSteallerCookies

GetSteallerPasswords

StartAndroidModule

StartBTC

StartComplexModule

StartKeylogger

StartNewComplexModule

StartSchedulerModule

StopProcess

模塊

最新版本的 Bot 支持以下模塊:

BrowserModule(stMod.exe):從各種瀏覽器以及 FileZilla FTP 客戶端 Dump 密碼或 Cookie。接受一個參數指定要 Dump 的數據:-passes 密碼或 -cookies cookie。程序返回一個包含所有被盜信息的字符串,看起來基於 QuasarRAT 項目

BTCModule(LESHI.exe):接受參數與加密貨幣地址。支持 -btc、-ether、-ltc、-monero 和 -ripple。程序每隔 3 秒監視一次剪貼板,驗證複製的文本是否是有效的地址。如果檢查成功則將其替換爲一個配置好的錢包地址

ComplexModule(Client.exe):舊版 QuasarRAT 的開源代碼,特別需要注意的是字符串 xclient(它是此模塊命名空間的一部分),該字符串出現在 2016 年的一個分支中。在反編譯的源代碼中,我們發現了 QuasarClient

KeyLoggerModule(KeyLoggerModule.exe):使用 SetWindowsHookEx 的 API 進行全局 Hook 監聽鍵盤操作,截獲的數據保存在名爲 Logger.log 的文件中

NewComplexModule(RemoteClient.exe):類似遠程桌面的程序,允許用戶進行交互並啓動瀏覽器

OutlookModule(OutlookPasswordRecovery.dll):Dump Outlook 密碼並返回包含檢索到的信息的字符串

SchedulerModule(Scheduler.exe):用於確保持久性,它只創建一個計劃任務,每分鐘運行一次 Bot

分發

通常來說,有兩種方式分發惡意軟件:

感染新的受害者

利用現有感染的機器

PsiXBot 通過垃圾郵件或者 Exploit Kit(例如 Spelevo Exploit Kit)分發惡意軟件。以及通過地下黑市提供的服務,在已感染的設備通過如 SmokeLoader 等惡意軟件上加載 PsiXBot。

SmokeLoader

執行分發 PsiXBot 惡意軟件任務的 SmokeLoader 使用以下元數據進行配置:

server_rc4_key_recv e097b3a6 server_rc4_key 40e5223b bot_version 2018 seller new1 c&c http://5gssghhs2w.org/2/ c&c http://dvhwzq.ru/2/ c&c http://hdxaet.ru/2/ c&c http://hghwwgh6.info/2/ c&c http://jdcbhs.ru/2/ c&c http://kdcbst.ru/2/ c&c http://kkted54d.ru/2/ c&c http://si3213gher.com/2/ c&c http://vshmesz.com/2/ c&c http://vygxxhh.bit/2/

SmokeLoader 任務分發的 URL 是:hxxp://favoritfile.in/7-8.exe。

從分發的地址下載的樣本的 SHA256 爲:9b8c0c82fe79ae15e0f723d6aa267d38d359a7260613a091a2d70d770488e919。

該樣本的 C&C 服務器地址爲:

myauto.bit sokoban.bit Spelevo Exploit Kit

Spelevo Exploit Kit 分發的樣本的 SHA256 爲:ca30c42334fcc693320772b4ce1df26fe5f1d0110bc454ec6388d79dffea4ae8。

該樣本的 C&C 服務器爲:

learncpp.bit mygranny.bit pppoe.bit six6.bit weather0.bit

另一個分發投遞的渠道是垃圾郵件,我們觀測到的其中一個垃圾郵件活動與意大利有關,包含以下元數據:

Receiver from pecfe04.sogei.it (pecfe04.sogei.it [26.2.42.237]) by PECP-BE02 (lmtpd) with LMTP id 28663.002; Tue, 8 Jan 2019 16:22:51 +0100 (CET) Receiver from PECP-FE04 ([127.0.0.1]) by pecfe04.sogei.it (Dovecot) with LMTP id 474fM6e/NFysCAAAxEz/xA ; Tue, 08 Jan 2019 16:22:51 +0100 Receiver from mx.pec.sogei.it (localhost [127.0.0.1]) by smtps.pec.sogei.it (Postfix) with ESMTP id 43YwxQ6pm5zgYCT for ; Tue, 8 Jan 2019 16:22:50 +0100 (CET) Receiver from smtps.pec.aruba.it (smtpecgo01.pec.aruba.it [80.88.94.21]) by mx.pec.sogei.it (Postfix) with ESMTPS for ; Tue, 8 Jan 2019 16:22:50 +0100 (CET) Receiver from avvocatismcv.com (ipvspec1.pec.ad.aruba.it [62.149.152.1]) by smtps.pec.aruba.it (Postfix) with ESMTPSA id 43YwxQ2V8Sz2L7hcc; Tue, 8 Jan 2019 16:22:50 +0100 (CET) Reply-To [email protected] Return-Path [email protected] Attachments ["daticert.xml", "Nuovi_contratti_2019__145038.zip", "smime.p7s"] Number_of_attachments 3 Date 2019-01-08 15:22:50 (UTC) To ["[email protected]"] From "Per conto di: [email protected]" Subject POSTA CERTIFICATA: Re: Notificazione ai sensi della legge n. 53 del 1994

該壓縮文件包含一個 Java 腳本(SHA256:e4006cde4a96048ff25727459abfae0ffd37985d04581793be784d7cf50e32d7),一旦執行從 hxxp://img.martatovaglieri.it/index?83836 下載下一個階段的 Payload。

下載的二進制文件的 SHA256 爲:db1f57ffd6c58e1d40823e2c8834e45a67271557ceaa1b3bcccf4feab83243a1。

該樣本文件的 C&C 服務器爲:

anyname.bit 控制面板

下圖顯示了 PsiXBot 的登錄面板:

在 HTML 中可以發現以下代碼:

IOC d2ee07bf04947cac64cc372123174900725525c20211e221110b9f91b7806332 ce0e46fa1c5b463ed4a070a05594a79203ed2dd5df96cece9f875e2957fda4fa ca30c42334fcc693320772b4ce1df26fe5f1d0110bc454ec6388d79dffea4ae8 6a9841b7e19024c4909d0a0356a2eeff6389dcc1e2ac863e7421cca88b94e7e0 6e123ce5c7c48132f057428c202638eb9d0e4daa690523619316a9f72b69d17f 3846fcfdc6414685efd217a88613ed3383a61f8313a0aa7ecdcde8ed99c8ebac 7bac9b3b5598059db770cdeee74f0b1cf3078c2cb54cc2fcd18ae811d42a5d63 0f931fec3fd436d974d767f84f66b44f6f2fc168d9e6d77b2aa2e9d3bf4cd604 a5edab1596346358c8899b9f81ec49b0560da929327e0ef08ab51dcb277c9b70 b01fbb8cfeb16c4232fddea6dea53212a57e73ef32ee20056cd69d29570bf55c

可以在 頁面上找到完整的 IOC 列表。

*參考來源:FoxIT,FB 小編 Avenger 編譯,轉載請註明來自FreeBuf.COM

相關文章