去年,我们报道了新的模块化恶意软件称为trickbot使用类似于Dyreza的网络协议。恶意软件并不是特别秘密,有些部分看起来仍然正在开发,但我们注意到它的潜力和能力很容易延长。
的确,作者涓涓细刻不仅在扩展他们的恶意软件而且在开发新功能方面的持久性。
西班牙网络安全公司S2Grupo 2017年6月举报的报告中指出了一些新的改变涓涓细流的演变。
此外,已发现开发人员添加到机器人蠕虫模块,可能灵感来自其他蠕虫装备的赎金软件的成功,如想哭和Eternalpetya.。
但是这个恶意软件的作者并没有停止那里。最近,我们捕获了一些允许TrickBot攻击Outlook和捕获浏览数据的补充。例如,我们注意到一个名为Outlook.dll的新模块,它是用delphi编写的(而大多数其他模块都用c ++编写)。这可能表明Trickbot开发人员团队获得了一些对这种特定语言更舒服的新成员。
分析样品
- 9AAC1E00D62E0B4049781CC5EFF99BC7- 主要样本(包装)
- 9 b3659936354dceb1063a42f15d0f12a- 主要样本(未包装)
- 60 bd4480035e82393636b0fb60d351ba- Bot 32位
- BA36CF1AFB6B6AD38B0A8D54152335B.- Bot 64位
- 74933912AD87EC0B3A1B570A0EA0832B.- 装载机64位
- 9 b3659936354dceb1063a42f15d0f12a- 主要样本(未包装)
下载的模块(32位):
- B6F9BA3FD8AF478147C59B2F3B3043C7- Outlookx32.dll.
- AC32C723C94E2C311DB78FB798F2DD63- module.dll (importDll32)
- F8E58AF3FFFD4037FEF246E93A55DC8- mailsearcher.dll(mailsearcher32)
- 25570C3D943C0D83D69B12BC8DF29B9D- systeminfo.dll(systeminfo32)
- 5AC93850E24E7F0BE3831F1A7C463E9C- Loader.dll(InjectDll32),反映负载子模块:
- 69086A1E935446067CB1D20BFA99266——core-dll.dll
- B34D36C1C76B08E7B8F28D74FBF808D8- rtbroker_dll.dll.
行为分析
如前所述,在部署之后,TrickBot在以%AppData%创建的新目录中安装自己。它从安装目录中运行一个新实例。
内部,它创建了另一个目录 -模块 -它以加密形式丢弃下载的模块及其配置文件:
模块和配置文件加密的方式没有改变。我们仍然可以使用相同的脚本恢复它们。
解密后config.conf,我们有更多关于当前活动的详细信息:分析配置的版本是1000030给定的组标签是TT0002。分段:
如前所述,在计划任务的帮助下实现持久性:
任务部署主机器人,在运行后,解密和加载其他模块。每个模块都注入到一个新的实例中Svchost.:
在恶意软件
如前所述,所有TrickBot模块都遵循预定义的API。他们出口四个功能:
- 控制
- FreeBuffer.
- 释放
- 开始
如“行为分析”所述,我们在当前运行中观察了五个模块。systemfo.dll.和loader.dll(injectdll32)已经存在于涓ti上从一开始。模块mailsearcher.dll.于2016年12月推出(根据F5 devCentral的文章).但集合中有一些模块我们之前没有见过:module.dll.和Outlook.dll.。
module.dll / importdll32.
这个庞大的模块是用c++编写的,使用Qt5和OpenSSL编译,还包含SQLite。在二进制文件中,我们可以找到指示库的特定版本的字符串:
- QT 5.6.2(I386-Little_Endian-ILP32静态发布构建;由GCC 6.2.0)
- Openssl 1.0.2k 2017年1月26日
- 2017-02-13 16:02:40 ADA05CFA86AD7F5645450C7A2A21C9AA6E57D2(sqlite.)
我们还可以在代码中找到引用。在给定的例子中,QABStractsocket类从Qt库中使用:
DLL的编译时间戳表示它是漂亮的新鲜,于2017年5月编写:
2017年:05:27 14:27:06 + 01:00
功能 - 明智,此模块专注于从浏览器中窃取数据,例如:
- 饼干
- HTML5本地存储
- 浏览记录
- flash lso(本地共享对象)
- URL命中
…和更多。
作者们并没有刻意隐藏自己的意图。正在打印通知所采取的每个操作的调试字符串。例子:
抓住URL命中:
与此相反loader.dll./injectDll(参考在这里),它是模块化的,并将所有脚本和目标存储在专用配置文件中,module.dll./ImportDLL32.附带它的所有数据都硬编码。例如,在二进制文件中,我们发现了来自世界各国的各国的一个长期目标网站,包括法国,意大利,日本,波兰,挪威,秘鲁等:
浏览器指纹
在运行过程中,该模块会创建一个隐藏的桌面:
此桌面用作工作空间,恶意模块可以以用户注意到的方式打开和指纹浏览器。
在恶意软件的代码中,我们找到了具有用于收集有关浏览器配置信息的JavaScript的硬编码的HTML文件。例如:
你可以看到完整的内容在这里。
执行此脚本在执行时填充文本区域,其中包含收集的数据并将此数据传递给恶意软件:
另一个脚本用于收集有关在Internet Explorer中安装的插件的信息(与这个脚本):
你可以看到完整的内容在这里。
脚本在调用的变量中将所收集的数据发送在发布的变量中Marker_:
数据由TrickBot模块中的处理程序接收:
有趣的是,恶意插件还包含PNG格式的四个Base64编码图片:
解码图片:
SQL部分
在硬件内的数据中module.dll.我们可以找到引用一个字符串sqlite释放:
2017-02-13 16:02:40 ADA05CFA86AD7F5645450C7A2A21C9AA6E57D2
合并的SQLite用于检索和窃取来自本地存储的数据库的Cookie(如Terdot ZBot)的数据(类似)在这里,这也为此目的合并了SQLite):
对cookie数据库的示例字符串和查询:
我们还可以看到用于窃取存储的浏览历史记录的查询:
Outlook.dll.
这是在Delphi编写的模块。它包含一个硬编码配置,遵循典型的trickbot模块的模式:
否 autoStart> moduleconfig>
其目的是窃取Microsoft Outlook保存的数据。
该模块打开相关的注册表项,并尝试检索已保存的凭据:
不会消失
tricbot的新模块编写得不好,可能还在开发中。设计的整体质量远低于早期代码的质量。例如,module.dll.笨重,并不遵循以前通过涓滴引入的清洁模块化结构。此外,它们使用Qt而不是本机套接字使用更容易的语言和库module.dll.,和Delphi语言Outlook.dll.。
代码,语言和设计的差异可能表明,对开发团队进行了一些更改。要么他们获得了已授权新任务的新成员,或者一些以前的成员辞职,并被较低质量的程序员代替。恶意软件作者也有可能正在进行一些原型设计和实验进一步的发展。
无论哪种情况都是如此,很明显涓涓细流仍然积极维护,并且不会很快留下威胁景观。
这是由Hasherezade,独立的研究员和程序员撰写的客座帖子,具有强烈的Infosec。她喜欢详细描述恶意软件,并与社区分享威胁信息。检查她在推特上以及她的个人博客,hasherezade的1001一夜。
评论