PsiXBot:模块化.NET僵尸网络的进化

栏目: IT技术 · 发布时间: 4年前

内容简介:本文中我们将分享我们对模块化恶意软件 PsiXBot 的分析。该恶意软件于 2017 年首次出现,最近一段时间核心代码与模块有了很大改变。其中包括键盘记录与 Outlook 和浏览器凭据窃取,随着这些新开发项目的完成以及在野观察到的第一批大规模投放,PsiXBot 已正式在恶意软件生态中崭露头角。2019 年 2 月 21 日,我们开始注意到一个逐渐铺开的、名为 SmokeLoader 的 Bot,将会在受感染的机器上安装额外的恶意软件,分发 .NET 恶意软件样本。进一步研究发现,该 Bot 是一个具有模

本文中我们将分享我们对模块化恶意软件 PsiXBot 的分析。该恶意软件于 2017 年首次出现,最近一段时间核心代码与模块有了很大改变。其中包括键盘记录与 Outlook 和浏览器凭据窃取,随着这些新开发项目的完成以及在野观察到的第一批大规模投放,PsiXBot 已正式在恶意软件生态中崭露头角。

介绍

2019 年 2 月 21 日,我们开始注意到一个逐渐铺开的、名为 SmokeLoader 的 Bot,将会在受感染的机器上安装额外的恶意软件,分发 .NET 恶意软件样本。进一步研究发现,该 Bot 是一个具有模块化功能的 Bot,例如从受感染主机窃取数据以及接收、执行任务的功能。当 Spelevo Exploit Kit 在 3 月 16 日开始分发相同的恶意软件时,我们觉得还有进一步调查分析的必要。

从 2017 年开始开发到目前退出 Beta 版本,可以看到它通过多个感染向量进行分发,例如 Exploit Kit 与恶意软件加载器的联动。

分析

最初的分析起源于偶然发现的一条关于 PsiXBot 恶意软件早期版本的 Twitter 。同时期也有其他  Twitter 中提到了同一恶意软件的早期版本。

版本概述:

 2017 年年中时期:在野发现第一个版本(SHA256:d2ee07bf04947cac64cc372123174900725525c20211e221110b9f91b7806332)
 2018 年 8 月:发现更新版本(SHA256:ce0e46fa1c5b463ed4a070a05594a79203ed2dd5df96cece9f875e2957fda4fa)
 2019 年年初:通过不同的感染媒介分发最新版恶意软件(SHA256:ca30c42334fcc693320772b4ce1df26fe5f1d0110bc454ec6388d79dffea4ae8)

下图显示了不同版本程序的代码结构,左侧是第一个版本,右侧是最新版本:

PsiXBot:模块化.NET僵尸网络的进化

请注意,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⊥_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⊥_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⊥_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 <protocollo@pec.agenziariscossione.gov.it>; 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 <protocollo@pec.agenziariscossione.gov.it>; 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    luigi.ferrandino@avvocatismcv.com
Return-Path     luigi.ferrandino@avvocatismcv.com
Attachments     ["daticert.xml", "Nuovi_contratti_2019__145038.zip", "smime.p7s"]
Number_of_attachments   3
Date    2019-01-08 15:22:50 (UTC)
To  ["luigi.ferrandino@avvocatismcv.com"]
From    "Per conto di: luigi.ferrandino@avvocatismcv.com" <posta-certificata@pec.aruba.it>
Subject     POSTA CERTIFICATA: Re: Notificazione ai sensi della legge n. 53 del 1994

该压缩文件包含一个 JavaScript 脚本(SHA256:e4006cde4a96048ff25727459abfae0ffd37985d04581793be784d7cf50e32d7),一旦执行从 hxxp://img.martatovaglieri.it/index?83836 下载下一个阶段的 Payload。

下载的二进制文件的 SHA256 为:db1f57ffd6c58e1d40823e2c8834e45a67271557ceaa1b3bcccf4feab83243a1。

该样本文件的 C&C 服务器为:

anyname.bit

控制面板

下图显示了 PsiXBot 的登录面板:

PsiXBot:模块化.NET僵尸网络的进化

在 HTML 中可以发现以下代码:

<!-- saved from url=(0043)hxxps://kyrkymalol.000webhostapp.com/admin/ -->

IOC

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

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

*参考来源: FoxIT ,FB 小编 Avenger 编译,转载请注明来自FreeBuf.COM


以上所述就是小编给大家介绍的《PsiXBot:模块化.NET僵尸网络的进化》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

操作系统

操作系统

[美] William Stallings / 陈向群、陈渝 / 电子工业出版社 / 2012-9 / 75.00元

《国外计算机科学教材系列•操作系统:精髓与设计原理(第7版)》是一本关于操作系统的概念、结构和机制的教材,其目的是尽可能清楚和全面地展示现代操作系统的本质和特点;同时,《国外计算机科学教材系列•操作系统:精髓与设计原理(第7版)》也是讲解操作系统的经典教材,不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代最流行的操作系统——Windows 7、UNIX和Linux为例,全面清楚地展现了当......一起来看看 《操作系统》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具