时间 : 2023年04月18日 来源: 安天CERT
近期,安天CERT监测到一起利用OneNote文档投递Snake Keylogger窃密木马的网络钓鱼活动。攻击者向用户发送钓鱼邮件,诱导用户打开附件中的OneNote文档,执行OneNote文档中隐藏在图片下方的恶意文件,从而在用户主机上运行Snake Keylogger窃密木马。
自从微软宣布默认阻止Office文档中的宏之后,攻击者尝试使用其他类型的文件作为传播恶意软件的新型媒介。利用OneNote文档传播恶意文件的网络钓鱼活动于2022年底开始增多,目前已有多个恶意代码家族利用OneNote文档进行传播活动,包括Snake Keylogger、AsyncRAT、QBot、Emotet、IcedID、Formbook、RedLineStealer、AgentTesla等。攻击者通常会在OneNote文档中插入一张模糊的或者与钓鱼邮件主题相关内容的图片,诱导用户双击图片中的指定部分进行查看,并且可以在文档中嵌入各种类型的恶意文件,将多个相同的恶意文件隐藏在图片下方,以确保用户双击图片指定部分时能够点击到任意一个恶意文件。若用户无视风险警告继续执行,恶意文件就会进行后续的攻击流程。
Snake Keylogger窃密木马于2020年底出现,是一种使用.NET开发的恶意软件。该窃密木马能够在受害主机上执行键盘记录、获取屏幕截图、获取剪贴板内容、窃取目标应用软件中保存的用户名及密码信息等窃密功能,并具备多种数据回传方式。窃密木马在受感染系统中实施隐藏、驻留、搜集、监控等恶意行为,从而将敏感数据按照攻击者的需求进行传输,给用户造成收入损失、声誉损害等严重后果,攻击者还能够利用从用户处窃取的数据实施后续的攻击活动。
经验证,安天智甲终端防御系统(简称IEP)可以阻止OneNote运行恶意执行体,并可实现对该窃密木马的有效查杀。
针对攻击者投递窃密木马的完整过程,安天梳理本次攻击事件对应的ATT&CK映射图谱如下图所示:
图2‑1 技术特点对应ATT&CK的映射
攻击者使用的技术点如下表所示:
ATT&CK阶段/类别 |
具体行为 |
注释 |
资源开发 |
获取基础设施 |
获取数据回传服务器 |
环境整备 |
将恶意文件存放在文件托管网站 |
|
初始访问 |
网络钓鱼 |
通过钓鱼邮件传播 |
执行 |
利用命令和脚本解释器 |
执行VBS脚本、PowerShell命令 |
诱导用户执行 |
诱导用户执行恶意文件 |
|
持久化 |
利用计划任务/工作 |
创建计划任务实现持久化 |
防御规避 |
反混淆/解码文件或信息 |
解码多层载荷信息 |
删除主机中的信标 |
删除用于创建计划任务的XML文件 |
|
混淆文件或信息 |
加密多层载荷信息 |
|
进程注入 |
注入最终的窃密木马载荷 |
|
凭证访问 |
不安全的凭证 |
获取不安全的应用软件、注册表中的凭证 |
发现 |
发现应用程序窗口 |
获取窗口信息用于键盘记录 |
发现文件和目录 |
在指定目录中发现应用软件 |
|
查询注册表 |
查询注册表获取应用软件信息 |
|
发现系统信息 |
发现系统信息 |
|
发现系统网络配置 |
发现系统网络配置 |
|
发现系统时间 |
发现系统时间 |
|
收集 |
收集剪贴板数据 |
收集剪贴板数据 |
收集本地系统数据 |
收集本地系统数据 |
|
输入捕捉 |
键盘记录 |
|
获取屏幕截图 |
获取屏幕截图 |
|
数据渗出 |
自动渗出数据 |
自动渗出窃密数据 |
使用非C2协议回传 |
通过FTP、SMTP、Telegram回传数据 |
|
定时传输 |
定时回传数据 |
为有效防御此类攻击事件,提升安全防护水平,安天建议企业采取如下防护措施:
(1)查看邮件发件人:警惕发送“公务邮件”的非组织的发件人;
(2)看收件人地址:警惕群发邮件,可联系发件人确认;
(3)看发件时间:警惕非工作时间发送的邮件;
(4)看邮件标题:警惕具备“订单”、“票据”、“工资补贴”、“采购”等关键词的标题的邮件;
(5)看正文措辞:警惕以“亲”、“亲爱的用户”、“亲爱的同事”等较为泛化问候的邮件;
(6)看正文目的:警惕以“系统升级”、“系统维护”、“安全设置”等名义索取邮箱账号密码的邮件;
(7)看正文内容:警惕其中附带的网页链接,特别是短链接;
(8)看附件内容:查看前,须使用防毒软件对附件进行病毒扫描监测。
(1)安装终端防护软件:安装终端防护软件,开启防护软件中对邮件附件的扫描检测功能,定期对系统进行安全检测,修复系统漏洞。
(2)邮箱登录口令:邮箱登录口令设置时确保具备一定复杂性(包含三种字符元素),确保口令不记录于办公区明显位置,定期修改登录口令。
(3)邮箱账号要绑定手机:邮箱账号绑定手机后,不仅可以找回密码,还可以接收“异常登录”的提示短信,即时处置。
(4)重要文件要做好防护:
a) 及时清空收件箱、发件箱和垃圾箱内不再使用的重要邮件;
b) 备份重要文件,防止被攻击后文件丢失;
c) 重要邮件或附件应加密发送,且正文中不能附带解密密码。
(5)敏感信息要保护:不要将敏感信息发布到互联网上,用户发布到互联网上的信息和数据会被攻击者收集。攻击者可以通过分析这些信息和数据,有针对性的向用户发送钓鱼邮件。
(1)安装终端防护软件:安装反病毒软件,建议安装安天智甲终端防御系统;
(2)加强口令强度:避免使用弱口令,建议使用16位或更长的口令,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;
(3)部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。安天探海威胁检测系统(PTD)以网络流量为检测分析对象,能精准检测出已知海量恶意代码和网络攻击活动,有效发现网络可疑行为、资产和各类未知威胁;
(4)安天服务:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场等待安全工程师对计算机进行排查;安天7*24小时服务热线:400-840-9234。
经验证,安天智甲终端防御系统(简称IEP)可以阻止OneNote运行恶意执行体,并可实现对该窃密木马的有效查杀。
图3‑1 安天智甲实现对用户系统的有效防护
攻击者投放钓鱼邮件,诱导用户打开附件中的OneNote文档,执行OneNote文档中隐藏在图片下方的ee.vbs脚本文件;ee.vbs脚本执行后从文件托管网站下载eme.ps1脚本,该PowerShell脚本释放并执行一个可执行程序;可执行程序运行后释放并加载多个DLL文件,最终将Snake Keylogger注入到创建的子进程中运行。Snake Keylogger具有键盘记录、屏幕截图、获取剪贴板内容、窃取目标应用软件用户名密码等窃密功能,并具备FTP回传、SMTP回传、Telegram回传三种数据回传方式。
图4‑1 攻击流程图
攻击者在OneNote文档中插入一张模糊的图片,诱导用户双击指定位置进行查看。
图4‑2 OneNote文档页面
在原图片“Double click here to view”下方藏有3个ee.vbs文件,当用户双击该处时,就会点击到任意一个脚本文件。若用户无视风险警告继续执行,脚本文件就会进行后续的攻击流程。后续攻击流程详见第5章节的“样本分析”部分。
图4‑3 隐藏在图片下方的恶意脚本
表5‑1 样本标签
恶意代码名称 |
Trojan[PSW]/Win32.SnakeKeylogger |
原始文件名 |
YFGGCVyufgtwfyuTGFWTVFAUYVF.exe |
MD5 |
EFA3EF59EBA11BAE9D4C691E431A42DB |
处理器架构 |
Intel 386 or later, and compatibles |
文件大小 |
127.50KB
(130,560 字节) |
文件格式 |
BinExecute/Microsoft.EXE[:X86] |
时间戳 |
2022-11-11
13:29:43 |
数字签名 |
无 |
加壳类型 |
无 |
编译语言 |
.NET |
VT首次上传时间 |
2023-04-10
09:22:01 |
VT检测结果 |
58/70 |
VBS脚本执行后,从文件托管网站下载攻击者预先托管的PowerShell脚本至指定路径中,并执行该脚本文件。
图5‑1 VBS脚本
PowerShell脚本执行后对字符串进行Base64解码,将解码的内容保存至“C:\Users\Public”目录下并命名为“eme.pif”,该文件是一个使用.NET进行编写的可执行程序。
图5‑2 PowerShell脚本
该可执行程序运行后,获取指定名称的资源从而得到C2200.dll文件,并调用该DLL文件中指定的函数。
图5‑3 获得第一阶段DLL文件并调用指定函数
加载C2200.dll文件,休眠40秒,然后对硬编码的字符串进行指定字符替换及Base64解码,得到Cruiser.dll文件;加载Cruiser.dll文件解码得到2个关键字符串,根据字符串“UfVJ”获得eme.pif程序中的图像资源,并根据字符串“prh”对图像资源进行解码,得到Outimurs.dll文件。
图5‑4 获得Outimurs.dll文件
加载Outimurs.dll文件,并调用该DLL文件中的指定函数。
图5‑5 调用Outimurs.dll文件指定函数
Outimurs.dll文件主要执行3个功能:自我复制、创建计划任务、注入最终载荷。
将自身程序复制到新的路径中,并对程序进行重命名。
图5‑6 复制自身程序到新路径中
释放XML文件至%temp%目录下,利用该XML文件创建计划任务。
图5‑7 利用XML文件创建计划任务
计划任务创建完成后,对XML文件进行删除。
图5‑8 删除XML文件
获取指定资源,对该资源进行解码得到最终载荷。创建子进程,并将解码获得的Snake Keylogger窃密木马注入到该子进程中运行。
图5‑9 解码获得最终载荷
Snake Keylogger窃密木马具有键盘记录、屏幕截图、获取剪贴板内容、窃取目标应用软件用户名密码等窃密功能,并具备三种回传方式:FTP回传、SMTP回传、Telegram回传。
对键盘输入事件进行监控,并获取用户当前使用的窗口信息,将键盘记录及窗口信息回传至C2服务器。
图5‑10 键盘记录
对屏幕进行截图保存至“我的文件\SnakeKeylogger”文件夹中,命名为Screenshot.png,并回传至C2服务器,随后删除该屏幕截图文件。
图5‑11 屏幕截图
获取系统剪贴板中的内容,并回传至C2服务器。
图5‑12 获取剪贴板内容
Snake Keylogger窃密木马窃取邮箱客户端、浏览器、即时通讯平台、FTP工具等应用软件中保存的用户名及密码等信息,具体目标如下表所示。
表5‑2 应用软件窃密目标
Snake Keylogger窃密木马根据构建时的配置信息选择是否对回传信息进行加密。
图5‑13 根据配置信息选择是否加密回传信息
若在构建时选择对回传信息进行加密,则使用DES算法对信息进行加密,并对加密后的数据进行Base64编码处理。
图5‑14 加密信息
Snake Keylogger窃密木马具有三种回传方式:FTP回传、SMTP回传、Telegram回传,根据构建时的配置信息选择具体的回传方式。
图5‑15 此样本选择的回传方式
• 通过FTP回传
若通过FTP回传信息,则会与攻击者的FTP服务器进行连接,并利用“STOR”命令将保存窃取数据的文件回传至服务器中。
图5‑16 通过FTP回传
根据窃取信息的不同,其回传文件有所区别,如下表所示。
表5‑3 FTP回传文件窃取信息
窃取信息 |
回传文件 |
用户名及密码 |
<设备名称> - Passwords ID - <标识ID>.txt |
键盘记录 |
<设备名称> - keystroke Logs ID - <标识ID>.txt |
剪贴板内容 |
<设备名称> - Clipboard Logs ID - <标识ID>.txt |
屏幕截图 |
<设备名称> - Screenshot Logs ID - <标识ID>.png |
• 通过SMTP回传
若通过SMTP回传信息,则会向恶意电子邮箱地址发送回传邮件,邮件附件为保存窃取数据的文件。
图5‑17 通过SMTP回传
根据窃取信息的不同,其邮件内容及附件有所区别,如下表所示。
表5‑4 SMTP回传邮件
窃取信息 |
邮件内容 |
邮件附件 |
用户名及密码 |
PW | 用户名称 | Snake |
Passwords.txt、User.txt |
键盘记录 |
KP | 用户名称
| Snake |
Keystrokes.txt |
剪贴板内容 |
Clipboard | 用户名称 | Snake\r\n 受害主机相关信息 |
Clipboard.txt |
屏幕截图 |
Screenshot | 用户名称 | Snake\r\n 受害主机相关信息 |
Screenshot.png |
• 通过Telegram回传
此样本通过Telegram回传信息,以POST方式将保存窃取数据的文件提交至攻击者创建的Telegram服务器。
图5‑18 通过Telegram回传
根据窃取信息的不同,其回传文件有所区别,如下表所示。
表5‑5 Telegram回传文件
窃取信息 |
回传文件 |
用户名及密码 |
SnakePW.txt |
键盘记录 |
SnakeKeylogger.txt |
剪贴板内容 |
Clipboard.txt |
屏幕截图 |
Screenshot.png |
自从微软宣布默认阻止Office文档中的宏之后,攻击者转变投递恶意文件的方式,将OneNote文档作为一种传播恶意文件的新型媒介。攻击者向用户发送钓鱼邮件,诱导用户打开附件中的OneNote文档,执行OneNote文档中隐藏在图片下方的恶意文件,从而在用户主机上运行窃密木马、远控木马等恶意软件。
在此建议用户不要轻易相信未知邮件中的内容,对邮件的来源进行确认,并警惕邮件中具有诱导性的内容。安天CERT将持续关注攻击者的新型攻击手段,并对相关攻击活动进行深入分析与研究。
IoCs |
554F1A13A1ED03AA6ECA2CB81DEFC242 |
67463B588AE33879F50FD43185AF8BE6 |
B9611FDAA214DF556AD6C8FC582A45F6 |
8481FB36FE2375802264E3255C421629 |
8D369299A047F228593293887092E43D |
0FB6061F7D37424FB9E6D0E76B019C19 |
D7A88C5383F2C5F63EBA55AA264C6F16 |
EFA3EF59EBA11BAE9D4C691E431A42DB |
https[:]//bitbucket.org/!api/2.0/snippets/mounmeinlylo/zqz9zj/a0908238e134ad5a36922c163d2c986a8584d33a/files/emefamstartup.ps1 |
https[:]//api.telegram.org/bot6287986251:AAGCSj3TAzwv7sCC7X0DmHgcs3euo4j9_Ww/sendMessage?chat_id=6218388203 |