「铭说」恶意软件分析,新版本的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所示:
图 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服务器。
- 命令 2048, 子命令 6
此命令返回一组"OnlineRec"。这些记录似乎映射到类似的功能,可从下面的版本 3 控制面板的"在线"选项卡访问,如图6所示:
图 6:版本3控制面板的"联机"选项卡
这包括命令Shell、文件系统访问、屏幕/键盘/鼠标访问和基于SOCKS代理等功能。 - 命令 2048, 子命令 8
此命令返回哈希列表。哈希值表示单个文件记录。 - 命令 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所产生的网络流量
下面简要介绍了这些流量和恶意软件组件,但目前尚未对文件进行完整分析。
1.阶段 1: 释放并运行窃取组件和下载阶段 2
1.a.窃取:前两个网络请求,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.b.下载阶段 2:以下网络请求是下载下一阶段"lv.exe"
阶段 2: 释放矿机并下载DanaBot
- 矿机:文件被释放(未分析),似乎是自动加密货币矿机
- 下载 DanaBot: 执行hxxp[:]//45.147.230[.]58/palata.exe 下载DanaBot
结论
近两年来,DanaBot 是犯罪软件威胁环境中使用的顶级银行恶意软件之一。在许多国家,多个黑客正在分发和利用它来打击金融企业。2020年,DanaBot 活动一度下降,一些公司继续使用其它银行恶意软件(例如Ursnif和Zloader)进行营销活动。目前还不清楚它和来自其他银行恶意软件之间的竞争关系,但目前看起来DanaBot又回来了,并试图重新站稳脚跟。可以估计与DanaBot的关联公司数量将急剧增长,并且DanaBot可能将在未来几个月内再次通过网络钓鱼活动进行分发。
「铭说」恶意软件分析,新版本的Danabot相关推荐
- hashmap删除指定key_「集合系列」- 深入浅出分析HashMap
最近几天,一直在学习HashMap的底层实现,发现关于HashMap实现的博客文章还是很多的,对比了一些,都没有一个很全面的文章来做总结,本篇文章也断断续续结合源码写了一下,如果有理解不当之处,欢迎指 ...
- python画图包_「Python量化」股票分析入门
目前,获取股票数据的渠道有很多,而且基本上是免费的,比如,行情软件有同花顺.东方财富等,门户网站有新浪财经.腾讯财经.和讯网等.Python也有不少免费的开源api可以获取交易行情数据,如pandas ...
- 降维打击!北大「韦神」一夜拿下困住6名博士4个月的难题
编辑:好困 拉燕 David [新智元导读]6个博士搞了4个月没搞定的难题,北大「韦神」只花了一宿,还说太简单不要报酬,最后团队给他充了一波公交卡. 昨天,北大的韦神又上热搜了. 据说一个难倒了了6个 ...
- 克服这些「学生思维」,离职场达人更进一步
最近看到一些粉丝在后台留言,抱怨自己作为职场新人,特别迷茫,常常被老员工或主管批评,说他们学生气太重. 他们问我,怎么才能去掉学生气? 仔细一想,自己每年都会带一些大学生,也专门做过职业辅导,为了让他 ...
- 「技术人生」第2篇:学会分析事物的本质
简介: 对于研发同学而言,探究事物的本质,是最基础最核心最先需要被掌握的技能,没有之一. 作者:贺科学 技术一号位不是岗位,更多的是技术人员在公司中做事的一种心态,这个系列的文章适合所有想要对日常工作 ...
- python爬取b站弹幕分析_Python 爬取「后浪」弹幕,看看大家都在说什么
前天,正好是五四青年节, B 站的一条献给年轻人的视频「后浪」火了,一时间到处都是各种讨论「后浪」的声音. 其他的平台先不管,先看看 B 站平台本身用户对「后浪」的评价. B 站的评论是弹幕的形式,想 ...
- java交易撮合怎么实现_「康力电梯002367」“股票实时交易系统如何实现高并发撮合交易?最好有java架构“java 股票分析工具-京东方a小-seo金融...
本文由京东方a小编创作于2020-09-10 21:11:04发布的来源于seo金融股票配资http://www.drill-pipe.com/gov/52833.html请您欣赏.seo金融网拥有众 ...
- [免费专栏] Android安全之Android so文件分析「详细版」
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...
- 腾讯AI Lab研发「智能显微镜」 抢先布局病理分析领域
感谢阅读腾讯AI Lab微信号第50篇文章,我们将分享今日在南京「腾讯全球合作伙伴大会」上介绍的「智能显微镜」研究项目. 腾讯 AI Lab 今日在南京举办的「腾讯全球合作伙伴大会」上宣布,其AI+医 ...
最新文章
- 算法工程师的必备学习资料,《AI算法工程师手册》正式开源了
- 在 Linux 命令行中使用 tcpdump 抓包
- Django-路由控制
- VTK:PolyData之DownsamplePointCloud
- python操作excel表格写入多行和多列_python多处理:写入同一excel-fi
- [集训队作业2018] 复读机(生成函数,单位根反演)
- ORA-01114: 将块写入文件 35 时出现 IO 错误
- java语言在线编译器的设计与实现,已获万赞
- nginx代理tomcat,https
- python 自动补全函数括号_三分钟,让你弄清楚Python中函数的括号使用
- 【机器学习】xgboost以及lightgbm资料汇总
- PHP接口报错:Malformed UTF-8 characters, possibly incorrectly encoded
- unity2018关联不到vs_vs2015与unity2018兼容性问题
- IGS提供的数据(转)
- 顺丰快递查询api php,快递查询API接口_快递单号_申通顺丰数据接口 - 极速数据
- 西电计算机学院通知,西安电子科技大学计算机科学与技术学院关于发放2020级硕士研究生正式录取通知书的通知...
- 记事本html写代码运行挠脚心,tk挠脚心
- 自学网络安全,一般人我劝你放弃吧!
- Python中Toplevel
- 离线安装.Net Framework 3.5