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相关推荐

  1. hashmap删除指定key_「集合系列」- 深入浅出分析HashMap

    最近几天,一直在学习HashMap的底层实现,发现关于HashMap实现的博客文章还是很多的,对比了一些,都没有一个很全面的文章来做总结,本篇文章也断断续续结合源码写了一下,如果有理解不当之处,欢迎指 ...

  2. python画图包_「Python量化」股票分析入门

    目前,获取股票数据的渠道有很多,而且基本上是免费的,比如,行情软件有同花顺.东方财富等,门户网站有新浪财经.腾讯财经.和讯网等.Python也有不少免费的开源api可以获取交易行情数据,如pandas ...

  3. 降维打击!北大「韦神」一夜拿下困住6名博士4个月的难题

    编辑:好困 拉燕 David [新智元导读]6个博士搞了4个月没搞定的难题,北大「韦神」只花了一宿,还说太简单不要报酬,最后团队给他充了一波公交卡. 昨天,北大的韦神又上热搜了. 据说一个难倒了了6个 ...

  4. 克服这些「学生思维」,离职场达人更进一步

    最近看到一些粉丝在后台留言,抱怨自己作为职场新人,特别迷茫,常常被老员工或主管批评,说他们学生气太重. 他们问我,怎么才能去掉学生气? 仔细一想,自己每年都会带一些大学生,也专门做过职业辅导,为了让他 ...

  5. 「技术人生」第2篇:学会分析事物的本质

    简介: 对于研发同学而言,探究事物的本质,是最基础最核心最先需要被掌握的技能,没有之一. 作者:贺科学 技术一号位不是岗位,更多的是技术人员在公司中做事的一种心态,这个系列的文章适合所有想要对日常工作 ...

  6. python爬取b站弹幕分析_Python 爬取「后浪」弹幕,看看大家都在说什么

    前天,正好是五四青年节, B 站的一条献给年轻人的视频「后浪」火了,一时间到处都是各种讨论「后浪」的声音. 其他的平台先不管,先看看 B 站平台本身用户对「后浪」的评价. B 站的评论是弹幕的形式,想 ...

  7. java交易撮合怎么实现_「康力电梯002367」“股票实时交易系统如何实现高并发撮合交易?最好有java架构“java 股票分析工具-京东方a小-seo金融...

    本文由京东方a小编创作于2020-09-10 21:11:04发布的来源于seo金融股票配资http://www.drill-pipe.com/gov/52833.html请您欣赏.seo金融网拥有众 ...

  8. [免费专栏] Android安全之Android so文件分析「详细版」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  9. 腾讯AI Lab研发「智能显微镜」 抢先布局病理分析领域

    感谢阅读腾讯AI Lab微信号第50篇文章,我们将分享今日在南京「腾讯全球合作伙伴大会」上介绍的「智能显微镜」研究项目. 腾讯 AI Lab 今日在南京举办的「腾讯全球合作伙伴大会」上宣布,其AI+医 ...

最新文章

  1. 算法工程师的必备学习资料,《AI算法工程师手册》正式开源了
  2. 在 Linux 命令行中使用 tcpdump 抓包
  3. Django-路由控制
  4. VTK:PolyData之DownsamplePointCloud
  5. python操作excel表格写入多行和多列_python多处理:写入同一excel-fi
  6. [集训队作业2018] 复读机(生成函数,单位根反演)
  7. ORA-01114: 将块写入文件 35 时出现 IO 错误
  8. java语言在线编译器的设计与实现,已获万赞
  9. nginx代理tomcat,https
  10. python 自动补全函数括号_三分钟,让你弄清楚Python中函数的括号使用
  11. 【机器学习】xgboost以及lightgbm资料汇总
  12. PHP接口报错:Malformed UTF-8 characters, possibly incorrectly encoded
  13. unity2018关联不到vs_vs2015与unity2018兼容性问题
  14. IGS提供的数据(转)
  15. 顺丰快递查询api php,快递查询API接口_快递单号_申通顺丰数据接口 - 极速数据
  16. 西电计算机学院通知,西安电子科技大学计算机科学与技术学院关于发放2020级硕士研究生正式录取通知书的通知...
  17. 记事本html写代码运行挠脚心,tk挠脚心
  18. 自学网络安全,一般人我劝你放弃吧!
  19. Python中Toplevel
  20. 离线安装.Net Framework 3.5

热门文章

  1. android支持的语言
  2. java p41——Filter过滤器
  3. 自定义icon,在iconfont.css中引入自定义图标
  4. 综述 | 图像计算传感器
  5. 两数之和、三数之和、四数之和、K数之和
  6. 查询当天是一年的第几周
  7. qt for android程序保活 程序后台一直运行不被清理掉(未完)
  8. JavaScript11:事件
  9. Centos查看端口及防火墙
  10. 《计算机组成原理》大题必考!