概述
提到恶意软件家族Trickbot,最早可以追溯到2016年。在最近几个月,我们与行业中的其他研究人员持续观察到Trickbot恶意活动的“觉醒”。在最初,Trickbot是专门的银行木马,但随着多年来的不断发展,这一系列恶意软件变得更为强大。针对很多方面而言,Trickbot都在通过其模块化和可扩展的体系结构满足现代威胁(例如:Emotet)所需的发展。
在本文中,我们将重点介绍最近截获的Trickbot样本,重点关注该恶意样本是如何持续加强逃避检测的能力的,我们还将研究与分析的样本一同安装的当前模块套件。
Trickbot:恶意样本的基本信息
Trickbot以多种方式进行分发。我们经常会看到Trickbot与Emotet和Ryuk勒索软件感染同时发生。攻击者也可以使用通用的漏洞利用套件分发恶意软件,或者采取电子邮件网络钓鱼等更加传统的方式。
在感染时,Trickbot通常会进行如下操作:
1. 将配置和支持的模块数据保存到%appdata%\roaming目录下;
2. 建立持久性(例如:通过计划任务);
3. 与C2建立安全通信(TLS);
4. 尝试更新/重新配置相关模块;
5. 通过“mworm”和“share”模块尝试横向移动。
恶意样本的详细信息如下:
大小:852.0 KB
类型:PE32可执行文件(GUI)Intel 80386,用于MS Windows
MD5:43e5a4836f8b53e6155ac85ca6311d2e
SHA1:989ea2e24be32348b5d3bb536c41171afdd32d64
SHA256:ddb093214e73a1014ee03924e308267281b9f383ab85ea03c3d98dfeeec38a
原始文件名:MSWDAT10.DLL
编译时间:2019-09-16 23:23:41
该恶意样本是我们在网络钓鱼电子邮件中捕获的,其形式为附件中的恶意Office文档(.docm)。
在经过预先设置的短暂延迟(大约3000毫秒左右)之后,该样本开始执行,并将其自身的副本复制到%ProgramData%和%AppData%中。
与Trickbot的其他样本一样,%AppData%目录将保存该木马的所有配置文件和编码后的模块。
在该样本中,我们还观察到用于解密位于\Roaming\Crypto\RSA中的资源的RSA Crypto例程,可能是用于自我保护或内部使用。
禁用Windows Defender
该恶意样本会篡改本地策略,以变更PowerShell和Windows Defender的行为。恶意样本所使用的这种方法似乎不是首次被发现,但我们还是需要重点说明这些行为,以展现恶意软件可能会使用的一些“技巧”。借助这些“技巧”,恶意软件可能会在更大程度上暴露受影响主机。
cmdline cmd.exe /c powershell Set-MpPreference -DisableIOAVProtection $true
cmdline cmd.exe /c powershell Set-MpPreference -DisableBlockAtFirstSeen $true
cmdline cmd.exe /c powershell Set-MpPreference -DisableIntrusionPreventionSystem $true
cmdline cmd.exe /c powershell Set-MpPreference -DisablePrivacyMode $true
cmdline cmd.exe /c powershell Set-MpPreference -LowThreatDefaultAction
cmdline cmd.exe /c powershell Set-MpPreference -ModerateThreatDefaultAction
cmdline cmd.exe /c powershell Set-MpPreference -DisableBehaviorMonitoring $true
cmdline cmd.exe /c sc delete WinDefend
cmdline cmd.exe /c sc stop WinDefend
cmdline cmd.exe /c powershell Set-MpPreference -DisableScriptScanning $true
cmdline cmd.exe /c powershell Set-MpPreference -DisableRealtimeMonitoring $true
cmdline cmd.exe /c powershell Set-MpPreference -SevereThreatDefaultAction
使用PowerShell的高级日志记录功能(ScriptBlock日志记录),我们可以看到这些事件的发生。
所有这些命令都是由powershell.exe通过cmd.exe执行的。其中,每个命令的目的都是关闭Windows Defender / 本地操作系统控件提供的保护。这些命令全部都有对应的详细文档,其实际功能分别如下:
DisableOAVProtection 禁用扫描下载的文件和附件
DisableBlockAtFirstSeen 禁用阻止新型/未知的恶意软件
DisableIntrusionPreventionSystem 禁用网络漏洞利用防御
DisablePrivacyMode 禁止将威胁历史记录数据展示给其他用户
LowThreatDefaultAction 控制低级别威胁检测的行为
ModerateThreatDefaultAction 控制中级别威胁检测的行为
DisableBehaviorMonitoring 禁用Windows Defender行为监控和检测
DisableScriptScanning 禁用Windows Defender脚本扫描
DisableRealTimeMonitoring 禁用Windows Defender实时检测
SevereThreatDefaultAction 控制严重级别威胁检测的行为
持久性机制与配置
Trickbot采用了多种持久性机制,包括创建计划任务。在这个特定的恶意样本中,该木马将会创建一个任务,该任务在系统启动时被触发,并且每隔11分钟重复一次。
针对典型的Trickbot感染,该木马会在%appdata%\roaming中安装多个模块和编码的配置数据。
在该恶意样本中,我们发现包含如下模块:
importDll64 浏览器数据窃取模块
injectDll64 处理Web注入的模块,支持数百个银行和金融站点
mailsearcher64 侦查模块,解析攻击者感兴趣的数据所对应的特定文件类型
mshareDll64 通过LDAP和SMB利用的横向移动/遍历模块,mshare和mworm模块与之共同工作
mwormDll64 通过LDAP和SMB利用的横向移动/遍历模块,mshare和mworm模块与之共同工作
networkDll64 侦查模块,查询网络特定的环境数据
psfin64 Point-of-sale侦查模块
pwgrab64 凭据窃取模块(存储的浏览器数据)
systeminfo64 侦查模块,向C2提供系统中特定的信息和数据
tabDll64 凭证窃取模块(Mimikatz),有时会包含其他横向移动代码
下面列出了该恶意样本投放的DLL模块的SHA值:
importDll64.dll cbd80eb5112a9560fbe7d9ce6fc0258af6415827
injectDll64.dll 452d1bd2c7108429a732f2d6c504a595989a91d8
mailsearcher64.dll 452d1bd2c7108429a732f2d6c504a595989a91d8
mshareDll64.dll 9d545c60a015a42668b33797e0274b8f7e374de9
mwormDll64.dll 1b8088f5ae6118fd948c50bf9269ba4d9ba1a781
networkDll64.dll 374b411a00f513b002902870e216e56186b8c9b8
psfin64.dll de9caa99ca6c4f7892b3b9dfb9c9747bd503d753
pwgrab64.dll 8ad57a9acfd3940f2b044c2ab7777f8d051941f0
systeminfo64.dll b8608d835faa4f5b3fe38e79c0b3a9e6a7f1811f
tabDll64.dll a6c0d73d47945bd6350bf698870aa7189e7085c7
解码Trickbot DLL模块
通过对各个模块及其配置/支持文件进行解码,我们可以进一步了解目标数据。对下面展示的importdll64模块进行解码后,我们得到的数据只是特定模块所拦截站点中的一小部分。该样本共列出了约25000个目标网站,并且,其实际数量比使用通配符后的网站数量要多。
我们还可以详细分析injectDLL64的解码配置文件,从而深入研究特定Web注入攻击的目标。这一部分解码后的injectdll64\dinj展示了该木马进行Web注入过程的一部分。
下面是解码后的injectdll64\dpost的一部分,展示了数据渗透的目标:
这是解码后的mwormDll64模块的一部分:
通过对pwgrabDLL64进行解码,可以展示该样本的密码获取功能:
恶意软件的检测与缓解
通过使用先进的终端防护技术,可以针对Trickbot攻击的所有阶段进行防护,防止感染恶意软件,并进一步控制危害。
通过SentinelOne管理控制台,我们更深入地了解恶意软件的特定流程,并收集了其他详细信息。例如,在下面,我们可以看到直接执行Trickbot Payload后的攻击过程。
总结
多年来,Trickbot恶意软件不断发展,并多次出现在流行威胁之中。回溯这一恶意家族发展的整个历史,我们观察到,该恶意软件在近期频繁发动攻击,并进行了一些破坏性的活动。尽管该恶意软件具有一定的逃避检测能力,但仍然是可以被阻止的。无论攻击者使用哪种交付方式来分发恶意软件(例如:通过网络下载、钓鱼邮件或直接执行),先进的终端安全解决方案都能够防止感染,并阻止任何相关的恶意行为。
威胁指标
PE哈希值
D48649f60b0b3e96fb3b077d7af00d1b1a3fefe8
989ea2e24be32348b5d3bb536c41171afdd32d64
9dbd2d9465c2013dc920100feb2112c04103fd5a
模块
cbd80eb5112a9560fbe7d9ce6fc0258af6415827 importDll64.dll
452d1bd2c7108429a732f2d6c504a595989a91d8 injectDll64.dll
5e71926c1b704b13c42fd38f53aefed933d9c4ce mailsearcher64.dll
9d545c60a015a42668b33797e0274b8f7e374de9 mshareDll64.dll
1b8088f5ae6118fd948c50bf9269ba4d9ba1a781 mwormDll64.dll
374b411a00f513b002902870e216e56186b8c9b8 networkDll64.dll
de9caa99ca6c4f7892b3b9dfb9c9747bd503d753 psfin64.dll
8ad57a9acfd3940f2b044c2ab7777f8d051941f0 pwgrab64.dllTrick
b8608d835faa4f5b3fe38e79c0b3a9e6a7f1811f systeminfo64.dll
a6c0d73d47945bd6350bf698870aa7189e7085c7 tabDll64.dll
网络通信
212.80.216.142:443
170.238.117.187:8082
186.10.243.70:8082
190.119.180.226:8082
131.161.105.206:8082
103.116.84.44:8082
200.29.106.33:80
103.194.90.242:80
103.87.48.54:80
201.184.137.218:80
103.84.238.3:80
107.172.143.155:443
193.29.56.122:443
192.227.142.155:443
23.94.204.80:443
185.222.202.49:443
104.244.73.115:443
MITRE ATT&CK
持久性:恶意软件将自身添加到注册表中,并通过任务计划实现持久化(T1084)
执行:检测到Shellcode执行(T1106、T1064)
PowerShell(T1086)
进程Hollowing(T1093)
通过命令和控制通道进行渗透(T1041)
禁用安全工具(T1089)