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所示:
图 1:恶意软件执行
组件删除加载器,并使用图1中以红色突出显示的特制导出名称重新运行自身。导出名称为base64编码方式,前三个字节相减可以得到运行模式(即running_mode = byte_0 – byte_1 – byte_2),此值确定组件的运行模式,有四个选项可用:
本文分析将主要侧重于模式 0,即其主要组件。
对抗分析
此恶意软件包含了一些反分析功能,包括:
针对某些字符串,一次构造一个字符(如图2所示);
某些Windows API函数只有在运行时解析;
当读取或写入与恶意软件相关的文件时,它会在良性诱饵文件读取或写入中完成;
通过创建在用户的启动目录中执行主组件的LNK文件来维护持久性。此文件仅在用户注销WM_QUERYENDSESSION Windows事件时写入。
图 2:字符串混淆示例(对于字符串,一次构造一个字符)
配置
DanaBot 的配置硬编码为 356 字节结构(图 3):
图 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显示了示例请求:
图 4:C2请求示例
它仍然是一个二进制协议,使用的主要是TCP端口443。请求和响应具有纯文本标头(图 4 中以蓝色突出显示),后跟命令数据(以紫色突出显示)。协议头为28字节,具有以下字段:
命令数据结构为:
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 字节的结构,其中包含:
命令
可以确定的一些主要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所示的系统信息:
图 5:窃取系统信息报告输出示例
6.命令 2048, 子命令 4
此命令用于将任意数据(如初始屏幕截图)和报告从窃取者/系统信息组件发送到C2服务器。
7.命令 2048, 子命令 6
此命令返回一组”OnlineRec”。这些记录似乎映射到类似的功能,可从下面的版本 3 控制面板的”在线”选项卡访问,如图6所示:
图 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。
图7:对Warez网站的调查始于2020年12月22日在Dalvik Planet的博客
图 8:一个解密网站的示例,该网站提供流行的图形编辑器密钥生成器下载
研究人员从其中一个站点下载并分析了一个随机文件”600117809bae5__Adobe-Photoshop-CC-2211138-Crack-Incl-X64-2021.zip”。它包含多个”README”文件和一个受密码保护的文档,其中包含恶意软件捆绑包”setup_x86_x64_install.exe”的初始投递器。
图 9:从包含恶意软件捆绑包的初始的Warez站点下载的zip文档
运行此可执行文件会产生以下网络流量:
图 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: 南京聚铭网络
请登录后发表评论
注册