OneNote Embedded 文件滥用检测
本文分享自天翼云开发者社区《OneNote Embedded 文件滥用检测》,作者:Icecream
攻击技术
在这些网络钓鱼活动中被滥用的OneNote功能是在图片后面隐藏嵌入式文件,诱使用户点击图片。如果图片被点击,它将执行隐藏在下面的文件。这些文件可能是可执行文件、JavaScript文件、HTML文件、PowerShell、.... 基本上任何类型的文件,在执行时都可以执行恶意软件。最近,我们还观察到.chm文件的使用情况,它有一个嵌入的index.html文件,将运行内联的JavaScript。在Windows系统中,这大致上是指执行脚本/文件的以下进程之一:.index.html,'powershell.exe', 'pwsh.exe', 'wscript.exe', 'cscript.exe', 'mshta.exe', 'cmd.exe', 'hh.exe'

OneNote 文件剖析
OneNote 文件使用GUID来指示嵌入文件部分的开始。在 OneNote 中表示嵌入文件开始的 GUID 是:{BDE316E7-2665-4511-A4C4-8D4D0B7A9EAC}使用下面的工具(https://toolslick.com/conversion/data/guid)我们可以将 GUID 转换为 HEX 字符串:e716e3bd65261145a4c48d4d0b7a9eac。 如果使用 HEX 编辑器,您可以搜索此字符串并找到嵌入文件的确切位置。 OneNote 将保留 20 个字节。前 8 个字节用于指示文件的长度,后面的 4 个字节未使用且必须为零,最后 8 个字节保留且也为零。这导致以下十六进制字符串E7 16 E3 BD 65 26 11 45 A4 C4 8D 4D 0B 7A 9E AC ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 00在嵌入文件数据存在之前。
当通过 HEX 编辑器查看 OneNote 文件时,很快就会清楚 OneNote 不会尝试加密或压缩任何内容。也就是说,如果您正在查看的.one文件不是.onepkg. 文件.onepkg类似于包含从 OneNote 笔记本导出的文件的 ZIP 文件。可以使用 7zip 打开这些文件。 OneNote 文件 ( .one) 将显示嵌入文件的内容,如下所示:

这意味着我们可以在分析这些文件时轻松检查已知的误报,这将我带到下一点,创建检测规则。
YARA规则
创建一个检测规则来捕获所有恶意嵌入文件并不容易,因为通常脚本没有“魔法字节”,不像可执行文件具有著名的“MZ”标头。虽然创建一个看起来像之前观察到的十六进制字符串 + MZ 文件头的 YARA 规则很容易,但这只会标记嵌入式可执行文件。如果这是你的目标,那么这是一个很好的规则,但是我想要一些更灵活的东西,我可以在电子邮件网关上使用它来标记所有潜在的恶意传入 OneNote 文件。
所以我采取了不同的方法。我观察到在 OneNote 文件中嵌入图片(例如:屏幕截图)是很常见的。我没有观察到很多嵌入了其他文件的案例。这导致我创建了一个 YARA 规则,该规则将查看 OneNote 文件,忽略指示图像存在但会在观察到任何其他文件时发出警报的文件部分。因此,我不会寻找恶意文件,而是会忽略已知的合法文件。这个简单的技巧让我能够创建一个高置信度的检测规则,同时不会让分析师因太多误报而超载。
当然每个环境都是不同的,如果你的环境中的 OneNote 文件中嵌入 PDF 文件很常见,你也应该排除那些 PDF 文件。因此,在测试期间建立基线很重要。 下面是这种技术的一个例子。00之后的 '也可以??替换为。??尽管这些字节应始终为空,但如果字节被更改,此规则将不会检测文件。
rule OneNote_EmbeddedFiles_NoPictures
{
meta:
author = "Nicholas Dhaeyer - @DhaeyerWolf"
date_created = "2023-02-14 - <3"
date_last_modified = "2023-02-17"
description = "OneNote files that contain embedded files that are not pictures."
reference = "https://blog.didierstevens.com/2023/01/22/analyzing-malicious-onenote-documents/" strings:
$EmbeddedFileGUID = { E7 16 E3 BD 65 26 11 45 A4 C4 8D 4D 0B 7A 9E AC }
$PNG = { E7 16 E3 BD 65 26 11 45 A4 C4 8D 4D 0B 7A 9E AC ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 00 89 50 4E 47 0D 0A 1A 0A }
$JPG = { E7 16 E3 BD 65 26 11 45 A4 C4 8D 4D 0B 7A 9E AC ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 00 FF D8 FF }
$JPG20001 = { E7 16 E3 BD 65 26 11 45 A4 C4 8D 4D 0B 7A 9E AC ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C 6A 50 20 20 0D 0A 87 0A }
$JPG20002 = { E7 16 E3 BD 65 26 11 45 A4 C4 8D 4D 0B 7A 9E AC ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 00 FF 4F FF 51 }
$BMP = { E7 16 E3 BD 65 26 11 45 A4 C4 8D 4D 0B 7A 9E AC ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 00 42 4D }
$GIF = { E7 16 E3 BD 65 26 11 45 A4 C4 8D 4D 0B 7A 9E AC ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 00 00 00 00 00 00 00 00 00 47 49 46 } condition:
$EmbeddedFileGUID and (#EmbeddedFileGUID > #PNG + #JPG + #JPG20001 + #JPG20002 + #BMP + #GIF)
}
规则背后的逻辑如下;YARA 规则将匹配任何具有定义嵌入文件存在于 OneNote 文件中的 GUID 的文件。然后它将计算它找到的 GUID 的数量。如果这大于直接跟在图像文件后的 GUID 数量(此处指定为#PNG + #JPG + #JPG20001 + #JPG20002 + #BMP + #GIF),则意味着存在其他文件并且规则火柴。如果不是,则该文件仅包含图像并被认为是安全的。
文件被标记后,分析师仍应查看嵌入的文件。DissectMalware(https://github.com/DissectMalware/pyOneNote)创建了一个惊人的 python 脚本,有助于提取嵌入式文件。分析师或自动化系统可以分析文件并提供更多上下文,以确定提取的文件是否是恶意的。
结论
这篇文章旨在引导您逐步完成创建 YARA 检测规则的过程,该规则可以帮助您防止受到其中一个样本的危害。创建这样的检测规则时应该考虑的是,您必须从一个基线开始,在这个基线中您知道哪些嵌入式文件在您的环境中是常用的。虽然此 YARA 规则可以在“阻止”模式下使用,它会阻止所有与此规则匹配的电子邮件,但建议在“警报”模式下使用此 YARA 规则,其中会为 SOC 团队创建警报,并且电子邮件一直保留到附件分析完成,因为这将最大限度地减少可能的合法文件被阻止的影响。
OneNote Embedded 文件滥用检测的更多相关文章
- 利用SHELL脚本实现文件完整性检测程序(1.2版更新)
一..开发背景 因时势所逼,需要对服务器的文件系统实行监控.虽然linux下有不少入侵检测和防窜改系统,但都比较麻烦,用起来也不是很称手.自己琢磨着也不需要什么多复杂的功能,写个脚本应该就可以满足基本 ...
- 文件编码检测.ZC一些资料(包含java的)
1.IMultiLanguage3 或者 IMultiLanguage2 1.1.怎么判断XML 的编码格式(UTF-8或GB2312等)-CSDN论坛.html(https://bbs.csdn.n ...
- 大规模异常滥用检测:基于局部敏感哈希算法——来自Uber Engineering的实践
uber全球用户每天会产生500万条行程,保证数据的准确性至关重要.如果所有的数据都得到有效利用,t通过元数据和聚合的数据可以快速检测平台上的滥用行为,如垃圾邮件.虚假账户和付款欺诈等.放大正确的数据 ...
- 对 Visual Studio 中的Resharper禁用对某种文件的检测
原因:在Visual Studio中安装Reshaper后,就会对各种文件进行代码检测,但是因为Reshaper更新的速度不是很及时,所以有时会对Visual Studio中某些新功能误断,导致Cod ...
- Linux AIDE(文件完整性检测)
一.AIDE的概念 AIDE:Advanced Intrusion Detection Environment,是一款入侵检测工具,主要用途是检查文档的完整性.AIDE在本地构造了一个基准的数据库,一 ...
- 文件编码检测.ZC
1.今天(20181101) 发现 g文件中的 xml头 和 文件编码不一致,最后发现 貌似是我搞错了,人家的文件 编码方式写的是对的. 我发现的现象是:XML里面写的是"GBK" ...
- Matlab M文件变量检测与传递
M文件中变量的检测与传递 可变数量的输入输出变量(varargin,vararout): Matlab的输入输出变量数量可变,并具有以下特点: 可变输入输出变量必须在正常变量之后 varargin和v ...
- 运维常用shell脚本二(压缩文件、过滤不需要的文件、检测进程)
一.压缩指定目录下的文件并删除原文件 #!/bin/bashZIP_DAY=7 function zip { local dir=$1 if [ -d $dir ];then local file_n ...
- zip格式文件编码检测
解压后文件名乱码 由于zip格式文件无编码存储的结构,因此解压时无法知道原先的编码. 当解压zip格式文件时使用的编码和原编码不一致时,就可能会出现解压后文件名乱码问题. 猜测编码 基于上述问题,需要 ...
- java上传文件类型检测
在进行文件上传时,特别是向普通用户开放文件上传功能时,需要对上传文件的格式进行控制,以防止黑客将病毒脚本上传.单纯的将文件名的类型进行截取的方式非常容易遭到破解,上传者只需要将病毒改换文件名便可以完成 ...
随机推荐
- linux mint安装微信
sudo apt install snapd snappy sudo snap install electronic-wechat deepin-music 安装微信与深度音乐
- 创建Graphics对象的三种方法
参考链接:https://www.cnblogs.com/wax01/p/4982691.html 方法一.利用控件或窗体的Paint事件中的PainEventArgs 在窗体或控件的Paint事件中 ...
- ABB喷涂机器人维护保养
正确规范的ABB喷涂机器人保养能够最大限度保证机器人正常运行, 保证经济效率并提高产量.因此,预防性喷涂机器人保养是一项不可或缺的工作. ABB喷涂机器人正常运行每3年或10000小时后,则需要做一次 ...
- 【Unity】图形渲染瓶颈与批处理优化
[Unity]图形渲染瓶颈与批处理优化 图形渲染 工作方式 显卡的工作方式并非连续的,一般分三步. 上传更新渲染数据至显存 设置显卡的渲染管线状态 启动绘制并等待绘制结果 性能瓶颈 由于显卡是大规模并 ...
- 最新版 Proteus 8.15 Professional 图文安装教程(附安装包)
前言 大家好,我是梁国庆. Proteus 是世界上唯一将电路仿真软件.PCB设计软件和虚拟模型仿真软件三合一的设计平台. 本篇博主将手把手带领大家安装最新版 Proteus 8.15. 若图片加载超 ...
- 池化层 Pooling Layer
写在前面:人生就是努力.搞不懂.躺平,循环. 文章结构 池化层的相对位置 在多通道任务中,池化层和卷积层的不同 重要的参数stride 与 kernel_size 大小的相对关系决定3种池化层 参数 ...
- Supervisor-进程守护工具
前言 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启.它是通过fork/exec的方式把这些被管理 ...
- Django实战项目-学习任务系统-发送短信通知
接着上期代码内容,继续完善优化系统功能. 本次增加发送短信通知功能,学习任务系统发布的任务,为了更加及时通知到学生用户,再原有发送邮件通知基础上,再加上手机短信通知功能. 第一步:开通短信通知服务 目 ...
- halcon 入门教程(一) 预处理图像 (图像平滑,图像增强,二值化,形态学分析)
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/18779326 本来今天想写一下halcon深度学习教程(三)目标检测的,不过今天有显卡的那台电 ...
- vSphere虚拟化之ESXi的安装及部署
vSphere虚拟化之ESXi的安装及部署一.什么是vSphere?vSphere是VNware公司在2001年基于云计算推出的一套企业级虚拟化解决方案.核心组件为ESXi.如今,经历了5个版本的改进 ...