利用OneNote文档投递Snake Keylogger的钓鱼活动分析

news2024/12/23 22:33:16

概述

近期,安天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开发的恶意软件。该窃密木马能够在受害主机上执行键盘记录、获取屏幕截图、获取剪贴板内容、窃取目标应用软件中保存的用户名及密码信息等窃密功能,并具备多种数据回传方式。窃密木马在受感染系统中实施隐藏、驻留、搜集、监控等恶意行为,从而将敏感数据按照攻击者的需求进行传输,给用户造成收入损失、声誉损害等严重后果,攻击者还能够利用从用户处窃取的数据实施后续的攻击活动。

事件对应的ATT&CK映射图谱

针对攻击者投递窃密木马的完整过程,安天梳理本次攻击事件对应的ATT&CK映射图谱如下图所示:

图 2‑1技术特点对应ATT&CK的映射

攻击者使用的技术点如下表所示:

ATT &CK 阶段 / 类别

|

具体行为

|

注释—|—|— 资源开发

|

获取基础设施

|

获取数据回传服务器环境整备

|

将恶意文件存放在文件托管网站 初始访问

|

网络钓鱼

|

通过钓鱼邮件传播 执行

|

利用命令和脚本解释器

|

执行VBS脚本、PowerShell命令诱导用户执行

|

诱导用户执行恶意文件 持久化

|

利用计划任务/工作

|

创建计划任务实现持久化 防御规避

|

反混淆/解码文件或信息

|

解码多层载荷信息删除主机中的信标

|

删除用于创建计划任务的XML文件混淆文件或信息

|

加密多层载荷信息进程注入

|

注入最终的窃密木马载荷 凭证访问

|

不安全的凭证

|

获取不安全的应用软件、注册表中的凭证 发现

|

发现应用程序窗口

|

获取窗口信息用于键盘记录发现文件和目录

|

在指定目录中发现应用软件查询注册表

|

查询注册表获取应用软件信息发现系统信息

|

发现系统信息发现系统网络配置

|

发现系统网络配置发现系统时间

|

发现系统时间 收集

|

收集剪贴板数据

|

收集剪贴板数据收集本地系统数据

|

收集本地系统数据输入捕捉

|

键盘记录获取屏幕截图

|

获取屏幕截图###数据渗出

|

自动渗出数据

|

自动渗出窃密数据使用非C2协议回传

|

通过FTP、SMTP、Telegram回传数据定时传输

|

定时回传数据## 防护建议

为有效防御此类攻击事件,提升安全防护水平,安天建议企业采取如下防护措施:

3.1识别钓鱼邮件* 查看邮件发件人:警惕发送“公务邮件”的非组织的发件人;* 看收件人地址:警惕群发邮件,可联系发件人确认;* 看发件时间:警惕非工作时间发送的邮件;* 看邮件标题:警惕具备“订单”、“票据”、“工资补贴”、“采购”等关键词的标题的邮件;* 看正文措辞:警惕以“亲”、“亲爱的用户”、“亲爱的同事”等较为泛化问候的邮件;* 看正文目的:警惕以“系统升级”、“系统维护”、“安全设置”等名义索取邮箱账号密码的邮件;* 看正文内容:警惕其中附带的网页链接,特别是短链接;* 看附件内容:查看前,须使用防毒软件对附件进行病毒扫描监测。

3.2日常邮箱安全使用防护* 安装终端防护软件:安装终端防护软件,开启防护软件中对邮件附件的扫描检测功能,定期对系统进行安全检测,修复系统漏洞。* 邮箱登录口令:邮箱登录口令设置时确保具备一定复杂性(包含三种字符元素),确保口令不记录于办公区明显位置,定期修改登录口令。* 邮箱账号要绑定手机:邮箱账号绑定手机后,不仅可以找回密码,还可以接收“异常登录”的提示短信,即时处置。* 重要文件要做好防护:1. a) 及时清空收件箱、发件箱和垃圾箱内不再使用的重要邮件;2. b) 备份重要文件,防止被攻击后文件丢失;3. c) 重要邮件或附件应加密发送,且正文中不能附带解密密码。* 敏感信息要保护:不要将敏感信息发布到互联网上,用户发布到互联网上的信息和数据会被攻击者收集。攻击者可以通过分析这些信息和数据,有针对性的向用户发送钓鱼邮件。

3.3政企机构防护* 安装终端防护软件:安装反病毒软件,建议安装安天智甲终端防御系统;* 加强口令强度:避免使用弱口令,建议使用16位或更长的口令,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;* 部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。

攻击流程

4.1攻击流程图

攻击者投放钓鱼邮件,诱导用户打开附件中的OneNote文档,执行OneNote文档中隐藏在图片下方的ee.vbs脚本文件;ee.vbs脚本执行后从文件托管网站下载eme.ps1脚本,该PowerShell脚本释放并执行一个可执行程序;可执行程序运行后释放并加载多个DLL文件,最终将Snake
Keylogger注入到创建的子进程中运行。Snake
Keylogger具有键盘记录、屏幕截图、获取剪贴板内容、窃取目标应用软件用户名密码等窃密功能,并具备FTP回传、SMTP回传、Telegram回传三种数据回传方式。

图 4‑1攻击流程图

4.2利用OneNote文档传播恶意文件

攻击者在OneNote文档中插入一张模糊的图片,诱导用户双击指定位置进行查看。

图 4‑2 OneNote文档页面

在原图片“Double click here to
view”下方藏有3个ee.vbs文件,当用户双击该处时,就会点击到任意一个脚本文件。若用户无视风险警告继续执行,脚本文件就会进行后续的攻击流程。后续攻击流程详见第5章节的“样本分析”部分。

图 4‑3隐藏在图片下方的恶意脚本

样本分析

5.1样本标签

表 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### 5.2ee.vbs

VBS脚本执行后,从文件托管网站下载攻击者预先托管的PowerShell脚本至指定路径中,并执行该脚本文件。

图 5‑1 VBS脚本

5.3eme.ps1

PowerShell脚本执行后对字符串进行Base64解码,将解码的内容保存至“C:\Users\Public”目录下并命名为“eme.pif”,该文件是一个使用.NET进行编写的可执行程序。

图 5‑2 PowerShell脚本

5.4eme.pif

该可执行程序运行后,获取指定名称的资源从而得到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文件指定函数

5.5Outimurs.dll

Outimurs.dll文件主要执行3个功能:自我复制、创建计划任务、注入最终载荷。

5.5.1自我复制

将自身程序复制到新的路径中,并对程序进行重命名。

图 5‑6复制自身程序到新路径中

5.5.2创建计划任务

释放XML文件至%temp%目录下,利用该XML文件创建计划任务。

图 5‑7利用XML文件创建计划任务

计划任务创建完成后,对XML文件进行删除。

图 5‑8删除XML文件

5.5.3注入最终载荷

获取指定资源,对该资源进行解码得到最终载荷。创建子进程,并将解码获得的Snake Keylogger窃密木马注入到该子进程中运行。

图 5‑9解码获得最终载荷

5.6Snake Keylogger窃密木马

Snake
Keylogger窃密木马具有键盘记录、屏幕截图、获取剪贴板内容、窃取目标应用软件用户名密码等窃密功能,并具备三种回传方式:FTP回传、SMTP回传、Telegram回传。

5.6.1键盘记录

对键盘输入事件进行监控,并获取用户当前使用的窗口信息,将键盘记录及窗口信息回传至C2服务器。

图 5‑10键盘记录

5.6.2屏幕截图

对屏幕进行截图保存至“我的文件\SnakeKeylogger”文件夹中,命名为Screenshot.png,并回传至C2服务器,随后删除该屏幕截图文件。

图 5‑11屏幕截图

5.6.3获取剪贴板内容

获取系统剪贴板中的内容,并回传至C2服务器。

图 5‑12获取剪贴板内容

5.6.4窃密目标

Snake Keylogger窃密木马窃取邮箱客户端、浏览器、即时通讯平台、FTP工具等应用软件中保存的用户名及密码等信息,具体目标如下表所示。

表 5‑2 应用软件窃密目标

5.6.5回传方式

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将持续关注攻击者的新型攻击手段,并对相关攻击活动进行深入分析与研究。

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/860148.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣每日一题(2023年8月) 更新中~

2023年8月——每日一题 1、8月6日 24. 两两交换链表中的节点 思路&#xff1a;直接模拟 使用虚拟头结点&#xff0c;初始时cur指向虚拟头结点&#xff0c;然后执行三步骤&#xff0c;具体见代码 C代码 /*** Definition for singly-linked list.* struct ListNode {* in…

【论文阅读】基于深度学习的时序预测——Autoformer

系列文章链接 论文一&#xff1a;2020 Informer&#xff1a;长时序数据预测 论文二&#xff1a;2021 Autoformer&#xff1a;长序列数据预测 论文链接&#xff1a;https://arxiv.org/abs/2106.13008 github链接&#xff1a;https://github.com/thuml/Autoformer 解读参考&…

数据库签名的那些事儿

写在前面&#xff0c;关于签名的应用场景 除了我们后端经常使用的接口签名来校验数据这些常见的场景&#xff0c;对于数据安全性要求比较严格的业务来说&#xff0c;大部分落库的核心数据 也都需要签名&#xff0c;为啥? 因为怕数据库的数据被篡改数据或者被攻击了&#xff0c…

【C# 基础精讲】List 集合的使用

在C#中&#xff0c;List<T>是一种非常常用的泛型集合类&#xff0c;用于存储一组相同类型的元素。List<T>具有动态调整大小的能力&#xff0c;可以方便地添加、删除、查找和修改元素&#xff0c;非常灵活和高效。本文将详细介绍List<T>集合的使用方法&#x…

教你如何实现接口防刷

教你如何实现接口防刷 前言 我们在浏览网站后台的时候&#xff0c;假如我们频繁请求&#xff0c;那么网站会提示 “请勿重复提交” 的字样&#xff0c;那么这个功能究竟有什么用呢&#xff0c;又是如何实现的呢&#xff1f; 其实这就是接口防刷的一种处理方式&#xff0c;通…

一台电脑B用网线共享另外一台电脑A的WiFi网络,局域网其它电脑C怎么访问电脑B服务

环境: 电脑A:联想E14笔记本 系统:WIN10 专业版 局域网IP:192.168.14.111 共享IP:192.168.137.1 电脑B:HP 288pro 台式机 Ubuntu20.04 系统:共享IP:192.168.137.180 电脑A正常连接WIFI,电脑B没有WIFI只有,有线网口,共享电脑A的无线网 (还有一种桥接网络不在本…

[FPAG开发]使用Vivado创建第一个程序

1 打开Vivado软件&#xff0c;新建项目 选择一个纯英文路径 选择合适的型号 产品型号ZYNQ-7010xc7z010clg400-1ZYNQ-7020xc7z010clg400-2 如果型号选错&#xff0c;可以单击这里重新选择 2 创建工程源文件 可以看到文件创建成功 双击文件打开&#xff0c;插入代码 modul…

腾讯云轻量服务器和云服务器的CPU处理器有差别吗?

腾讯云轻量应用服务器和CVM云服务器的CPU处理器性能有差别吗&#xff1f;创建轻量应用服务器时不支持指定底层物理服务器的CPU型号&#xff0c;腾讯云将随机分配满足套餐规格的物理CPU型号&#xff0c;通常优先选择较新代次的CPU型号。而云服务器CVM的CPU处理器型号、主频都是有…

数据库--MySQL

一、什么是范式&#xff1f; 范式是数据库设计时遵循的一种规范&#xff0c;不同的规范要求遵循不同的范式。 最常用的三大范式 第一范式(1NF)&#xff1a;属性不可分割&#xff0c;即每个属性都是不可分割的原子项。(实体的属性即表中的列) 第二范式(2NF)&#xff1a;满足…

elementui表格数据加载即勾选

搜索关键字&#xff1a;elementui表格数据加载即勾选|elementui表格勾选 1、关键点&#xff1a; 需要使用watch和nextTick,直接参考官方案例&#xff0c;在数据返回时候设置勾选不好使。 2、表格定义 <el-table :height"570" :data"roleTableData" st…

小疆智控EtherCAT转PROFINET连接零差云控驱动器接入Profinet网络

西门子S7-1200/1500系列的PLC&#xff0c;需要连接带EtherCAT的通讯功能的伺服驱动器等设备。西门子的PLC采用PROFINET实时以太网通讯协议&#xff0c;要连接EtherCAT的设备&#xff0c;就必须进行通讯协议转换。小疆GW-PN-ECATM系列的网关提供了&#xff0c;快速可行的解决方案…

FreeRTOS( 任务与中断优先级,临界保护)

资料来源于硬件家园&#xff1a;资料汇总 - FreeRTOS实时操作系统课程(多任务管理) 目录 一、中断优先级 1、NVIC基础知识 2、FreeRTOS配置NVIC 3、SVC、PendSV、Systick中断 4、不受FreeRTOS管理的中断 5、STM32CubeMX配置 二、任务优先级 1、任务优先级说明 2、任务…

打破音频语言障碍,英语音频翻译成文字软件助你畅快对话

要理解外语歌曲对我来说难如登天。不过&#xff0c;这种痛苦没有持续太久&#xff0c;我发现了一种音频翻译技术&#xff0c;它像一个语言转换器&#xff0c;可以即时将外语歌曲翻译成我听得懂的语言&#xff01;我惊喜地试用后&#xff0c;终于可以在听歌的同时看到翻译的歌词…

跳跃游戏——力扣55

文章目录 题目描述解法一 贪心题目描述 解法一 贪心 bool canJump(vector<int>& nums){int n=nums.

Docker安装Hadoop分布式集群

一、准备环境 docker search hadoop docker pull sequenceiq/hadoop-docker docker images二、Hadoop集群搭建 1. 运行hadoop102容器 docker run --name hadoop102 -d -h hadoop102 -p 9870:9870 -p 19888:19888 -v /opt/data/hadoop:/opt/data/hadoop sequenceiq/hadoop-do…

战术的勤奋,弥补不了战略的重大缺陷

战术的勤奋&#xff0c;弥补不了战略的大缺陷 战略的懒惰&#xff0c;遍地都是 王兴说过&#xff1a;人为了逃避思考可以干任何事 趣讲大白话&#xff1a;局部优秀&#xff0c;改变不了整体 【趣讲信息科技252期】 **************************** 中小企业顶顶层设计薄弱 这也是…

【笔试训练】统计回文

一、单选 1、以下代码结果是什么&#xff08;&#xff09; public class foo {public static void main(String sgf[]) {StringBuffer anew StringBuffer("A");StringBuffer bnew StringBuffer("B");operate(a,b);System.out.println(a"."b);}st…

Python IDE

Python IDE 本文为大家推荐几款款不错的 Python IDE&#xff08;集成开发环境&#xff09;&#xff0c;比较推荐 PyCharm&#xff0c;当然你可以根据自己的喜好来选择适合自己的 Python IDE。 PyCharm PyCharm 是由 JetBrains 打造的一款 Python IDE。 PyCharm 具备一般 Pyt…

plsql设置id自增

plsql如何设置id自增 首先先创表。创建序列创建触发器 首先先创表。 在目录(tables)中选择新建&#xff1a;我创建的表明为SYS_TEST 创建序列 在目录sequences选择新建,我创建的名称为SYS_TEST_SEQ 在点击下方的应用即可。 创建触发器 在目录Triggers选择新建&#xff…

UML-类图和对象图

目录 类图概述&#xff1a; 1.类: 2.属性: 3.类的表示&#xff1a; 4.五种方法: 类图的关系&#xff1a; 1.关联 2.聚合 3.组合 4.依赖 5.泛化 6.实现 对象图概述&#xff1a; 1. 对象图包含元素: 2. 什么是对象 3.对象的状态可以改变: 4.对象的行为 5.对象标…