恶意软件分析,新版本的Danabot – 作者:南京聚铭网络

2021年新年伊始,臭名昭著的银行木马DanaBot更新了版本。

DanaBot 是2018年5月首次由proofpoint发现的银行/窃取恶意软件,之前它至少经历了三个重要版本:

版本 1:DanaBot -新的银行特洛伊木马程序

版本 2:DanaBot在大型营销活动中获得人气并瞄准美国的相关公司

版本 3:DanaBot更新了新的C2通信方式

本次是第四个重要更新。

从 2018年5月到2020年6月,DanaBot成为犯罪软件威胁环境中的固定武器。研究人员在版本2和版本3中观察到至少存在12个附属ID的多个威胁参与者。这些关联标识代表DanaBot运营商服务的威胁参与者。分销通常以位于美国、加拿大、德国、英国、澳大利亚、意大利、波兰、墨西哥和乌克兰的金融机构为目标。2020年6月之后,DanaBot的数据和公共威胁情报存储库中的活动急剧下降,消失的原因暂时不明。

从 2020年10月下旬开始,研究人员观察到在VirusTotal中对DanaBot 样本进行重大更新。在发布时,研究人员发现了两个联盟 ID 使用这个最新版本与至少一个分发方法,虽然目前它还没有恢复到之前的规模。

恶意软件分析

本次用于分析的样本的sha-256哈希为

c0eb802f394e758da4feb0d6c3b817bf1f64880ab9bc851937d5ef774161585d。

与以前版本的 DanaBot 一样,版本4是用 Delphi 编程语言编写的大型多线程模块化恶意软件。加载器组件(EXE)解密、解压缩和执行如图1所示:

1614128937_6035a729c95fd3f9150b8.png!small

图 1:恶意软件执行

组件删除加载器,并使用图1中以红色突出显示的特制导出名称重新运行自身。导出名称为base64编码方式,前三个字节相减可以得到运行模式(即running_mode = byte_0 – byte_1 – byte_2),此值确定组件的运行模式,有四个选项可用:

1614128960_6035a74055892deb7ba5b.png!small

本文分析将主要侧重于模式 0,即其主要组件。

对抗分析

此恶意软件包含了一些反分析功能,包括:

针对某些字符串,一次构造一个字符(如图2所示);

某些Windows API函数只有在运行时解析;

当读取或写入与恶意软件相关的文件时,它会在良性诱饵文件读取或写入中完成;

通过创建在用户的启动目录中执行主组件的LNK文件来维护持久性。此文件仅在用户注销WM_QUERYENDSESSION Windows事件时写入。

1614128980_6035a754edcbd77b9e9e0.png!small

图 2:字符串混淆示例(对于字符串,一次构造一个字符)

配置

DanaBot 的配置硬编码为 356 字节结构(图 3):

1614128995_6035a763a8c6192c6ea93.png!small

图 3:DanaBot的配置结构

关键配置项在图 3 中以红色突出显示,包括以下内容:

会员 ID

正如之前在相关DanaBot研究文章中披露的,可以相信 DanaBot被设置为 “恶意软件即服务”,其中一个威胁参与者控制全球命令和控制 (C&C) 面板和基础设施,然后出售访问其他威胁参与者称为附属公司。

此字段可能表示与示例关联的联盟公司的ID。在发布时,我们只找到两个ID:3和21。目前还不清楚版本 4 联盟 ID 是否会与以前的联盟 ID 重叠,尽管它们确实在版本2和版本3之间更改。

嵌入式哈希

目前尚不清楚以下嵌入哈希值代表什么:

E1D3580C52F82AF2B3596E20FB85D9F4

DE420A65BFC5F29167A85A5199065A0E

E0ECDBB46B59DFAB6F7CB1136E7496F5

429B39BF421C0F74463EF2A17209ADAA

6266E79288DFE2AE2C2DB47563C7F93A

DE6DF8FA2198DD77CFD93D89D8ECC62D

版本

下面的此字段可能表示在较新的示例中递增的版本号:

1650

1701

1705

1732

1755

C&C IP 地址和端口

IP地址作为DWORD值硬编码,并在分析的示例中设置为以下内容:

23[.]226.132.92

23[.]106.123.249

108[.]62.141.152

104[.]144.64.163

DanaBot 的版本3混合在诱饵C2地址中,但似乎没有版本 4 正在使用它们。

TOR

DanaBot 具有切换到基于TOR的C2的功能。分析的示例包含以下硬编码洋葱主机名:

5jjsgjephjcua63go2o5donzw5x4hiwn6wh2dennmyq65pbhk6qflzyd=. onion

命令和控制

版本4中的C2协议与版本3类似,图4显示了示例请求:

1614129013_6035a77536919c0932ffc.png!small

图 4:C2请求示例

它仍然是一个二进制协议,使用的主要是TCP端口443。请求和响应具有纯文本标头(图 4 中以蓝色突出显示),后跟命令数据(以紫色突出显示)。协议头为28字节,具有以下字段:

1614129030_6035a786e3250b542ba23.png!small

命令数据结构为:

AES 加密数据

填充长度(4 字节)

RSA 加密会话密钥

RSA 签名(在响应中)

根据命令,可以使用zlib(模式 1)、ZIP(模式 2)或不压缩(模式0 和3)压缩数据。

在 CBC 模式下,使用生成的会话密钥使用 AES-256 加密数据。在模式 0、1 和 2 中,会话密钥是随机生成的,并使用 RSA 进行加密。对于对C2服务器的请求,使用嵌入式公共 RSA 密钥。对于来自C2服务器的响应,使用生成的 RSA 密钥(见下文)。对于模式 3,会话密钥是基于机器人 ID 的 MD5 大写十六进制摘要的。

C2的响应还包含 RSA 签名,该签名使用嵌入式公共 RSA 密钥进行验证。

对C2服务器的第一个请求是恶意软件生成 RSA 密钥对的密钥交换,并且公钥发送到C2服务器。C2对此请求没有响应。C&C 服务器未来响应中使用的会话密钥将使用此密钥进行加密。

第二个请求是C2服务器的初始信标。数据是一个 479 字节的结构,其中包含:

1614129058_6035a7a25415b95aa6f2f.png!small

命令

可以确定的一些主要C2命令包括:

1.命令 1024,子命令 0

上述C2部分中描述的初始信标。

2.命令 2048,子命令 0

此命令返回三个哈希值。目前还不清楚哈希是什么,但它们表示:

当前”命令记录”

要下载和执行的当前模块和/或文件集

当前一套”在线Rec”

3.命令 2048,子命令 1

获取最新的C2 IP地址列表。

4.命令 2048,子命令 2

此命令返回哈希值的列表,哈希值表示单个”命令记录”。

5.命令 2048,子命令 3

此命令用于获取”命令记录”。这些记录映射到三个命令:

切换到 TOR C2通信

设置C2睡眠值

启用内置的窃取器和系统信息组件

窃取者组件从各种软件(如 Web 浏览器和文件传输协议 (FTP) 客户端)窃取凭据。系统信息组件收集如图5所示的系统信息:

1614129073_6035a7b1ca38fd3106ac6.png!small

图 5:窃取系统信息报告输出示例

6.命令 2048, 子命令 4

此命令用于将任意数据(如初始屏幕截图)和报告从窃取者/系统信息组件发送到C2服务器。

7.命令 2048, 子命令 6

此命令返回一组”OnlineRec”。这些记录似乎映射到类似的功能,可从下面的版本 3 控制面板的”在线”选项卡访问,如图6所示:

1614129086_6035a7be26a99065d5019.png!small

图 6:版本3控制面板的”联机”选项卡

这包括命令Shell、文件系统访问、屏幕/键盘/鼠标访问和基于SOCKS代理等功能。

8.命令 2048, 子命令 8

此命令返回哈希列表。哈希值表示单个文件记录。

9.命令 2048,子命令 9

文件记录用于下载要执行的文件或模块。可执行文件可以使用:

regsvr32.exe

rundll32.exe

创建过程

使用运行模式 2 将过程注入辅助组件

模块被称为”MLocalProcess”,使用运行模式 3 加载到辅助组件中。它们通过本地主机连接与主组件通信。

浏览器中的人的功能以及 Web 注入

屏幕视频录制

键盘记录

VNC/RDP

10.命令 2048, 子命令 10

用于下载 TOR。使用运行模式 1 将 TOR 客户端加载到辅助组件中。

通过解密网站分发

DanaBot通过各种解密网站进行分发,这些网站一般提供软件密钥和其它相关工具免费下载。包括防病毒程序、VPN、图形编辑器、文档编辑器和游戏。但是,这些站点分发的文件是几个不同恶意软件的捆绑包,包括DanaBot。

1614129104_6035a7d00649d1fea11c8.png!small

图7:对Warez网站的调查始于2020年12月22日在Dalvik Planet的博客

1614129118_6035a7de4d8ceb83a5593.png!small

图 8:一个解密网站的示例,该网站提供流行的图形编辑器密钥生成器下载

研究人员从其中一个站点下载并分析了一个随机文件”600117809bae5__Adobe-Photoshop-CC-2211138-Crack-Incl-X64-2021.zip”。它包含多个”README”文件和一个受密码保护的文档,其中包含恶意软件捆绑包”setup_x86_x64_install.exe”的初始投递器。

1614129129_6035a7e9bbdbbfe20e8d0.png!small

图 9:从包含恶意软件捆绑包的初始的Warez站点下载的zip文档

运行此可执行文件会产生以下网络流量:

1614129141_6035a7f59b5911bdac967.png!small

图 10:运行setup_x86_x64_install.exe所产生的网络流量

下面简要介绍了这些流量和恶意软件组件,但目前尚未对文件进行完整分析。

A. 阶段 1:释放并运行窃取组件和下载阶段 2

(1.1) 窃取:前两个网络请求,hxxp[:]//eressedn27[.]top/index.php和hxxp://morttttq12[.]top/index.php,它们属于窃取组件。它收集并上传包含受感染计算机信息的zip,包括:

浏览器信息:保存的用户名和密码值、保存的表单等相关信息和 Cookie – 来自浏览器,包括Chrome、Brave、Vivaldi、Opera、Avast、Firefox;

屏幕截图:桌面的屏幕截图;

系统信息:操作系统、语言、键盘语言、本地时间、用户名、CPU、RAM、视频卡、显示分辨率、已安装软件;

加密货币/钱包:我们观察到与加密货币钱包和交易所相关的字符串(但没有确认确切的功能),例如:Coinomi, waves-exchange, Ledger Live, Electrum, Electron Cash, Jaxx, Exodus, MultiBitHD, 和Atomic。

(1.2) 下载阶段 2:以下网络请求是下载下一阶段”lv.exe”

B.阶段 2:释放矿机并下载DanaBot

矿机:文件被释放(未分析),似乎是自动加密货币矿机

下载 DanaBot:执行hxxp[:]//45.147.230[.]58/palata.exe 下载DanaBot

结论

近两年来,DanaBot 是犯罪软件威胁环境中使用的顶级银行恶意软件之一。在许多国家,多个黑客正在分发和利用它来打击金融企业。2020年,DanaBot 活动一度下降,一些公司继续使用其它银行恶意软件(例如Ursnif和Zloader)进行营销活动。目前还不清楚它和来自其他银行恶意软件之间的竞争关系,但目前看起来DanaBot又回来了,并试图重新站稳脚跟。可以估计与DanaBot的关联公司数量将急剧增长,并且DanaBot可能将在未来几个月内再次通过网络钓鱼活动进行分发。

来源:freebuf.com 2021-02-24 09:07:27 by: 南京聚铭网络

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论