【蓝队】Sysmon识别检测宏病毒

news/2024/10/13 23:28:51

原创 玄影实验室 权说安全

前言

在不断变化的网络安全环境中,提前防范威胁是非常重要的。
本文将以 Microsoft Office 宏病毒钓鱼为例,介绍如何使用 Sysmon 来获取和分析 Windows 系统日志,揭示隐藏的恶意或异常活动,了解入侵者和恶意软件如何在网络上运行。

Sysmon

Sysmon(系统监视器)是一项 Windows 系统服务,用以监视系统活动并将其记录到 Windows 事件日志中。
它提供有关进程创建、进程篡改、管道连接、注册表更改等29种类型事件的详细信息,可以作为 SIEM 代理的一个重要探针。

Sysmon 的安装和卸载相当简洁,以管理员身份在命令提示符中执行下列命令即可,无需重启电脑。

sysmon64 -accepteula -i c:\windows\config.xml  
# 指定配置文件安装   
sysmon64 -u  
# 卸载

安装后事件日志以 xml 格式(可使用 EvtxeCmd.exe 工具转换为 JSON 格式更利于批量分析处理)存储在 中,可通过事件查看器查看详细数据。刚安装好 Sysmon 后,就能观察到许多事件,从详细信息里可以简单看出事件是以进程为单位,以配置文件作为规则进行记录的。日志中包含进程中创建的进程及完整命令、进程映像文件的哈希、记录驱动程序或 DLL 的加载、记录磁盘和卷的读取访问、文件变更等详细数据。事件与事件之间可以根据父子进程关系、执行命令的镜像文件或进程 ID 进行关联。

默认的配置文件生成的日志非常多,不利于观察分析。笔者在网上找到了他人分享的 Sysmon 配置文件,可以过滤掉大量无用事件。当然,个人实际使用时还要根据主机环境和待检测的场景进行额外的适配工作,还可以基于事件ID进一步过滤,只留下比较关注的日志信息。

宏病毒

宏即指令集,是指将多个连续操作指令合并为单个指令并执行的功能。宏通常用于自动化和简化复杂的任务,可以通过简单的指令来执行一系列复杂的操作。

如果黑客在宏中嵌入了恶意代码,这样的宏就被称为宏病毒。大部分宏病毒都针对 Microsoft Office 等 Windows 平台下的文档。这是因为 Microsoft Office 在 Windows 操作系统上是非常普遍和常用的办公软件套件,支持宏功能,并且用户广泛使用 Office 文档进行日常工作。因此,黑客往往会选择针对这些常见的文档格式编写宏病毒,以便更容易地传播恶意代码。

demo1:

Sub AutoOpen()          MsgBox "你的计算机已被感染!"          
End Sub

demo2:

Private Sub Workbook_Open()          Shell "calc.exe", vbNormalFocus          
End Sub

支持宏的常用文件包括:

Microsoft Word文档(.doc .docm .docx .dot .dotm等)          
Microsoft Excel表格(.xls .xlsx .xlsm .xlt .xltm .xlam等)          
Microsoft PowerPoint演示文稿(.ppt .pptx .pptm .ppam .pot .potm等)
Microsoft Access数据库文件(.mdb .mde .accdb .accde .accdr等)

当前 Microsoft Office 版本默认禁止了宏的自动运行,除非用户手动启用,这显著降低了宏病毒的感染率。现代防病毒软件和邮件网关通常也能够检测并阻止含有恶意宏的文件。

尽管防护措施增强,宏病毒仍在使用,特别是在针对特定组织或个人的定向攻击(如钓鱼攻击)中。攻击者会诱导用户启用宏以执行恶意代码。例如,通过社会工程手段,攻击者可能声称启用宏是查看文档内容所必需的。或是在旧版 Office 或未更新的系统中,宏病毒能够轻易地发挥作用。本文以宏病毒攻击为例,介绍如何使用 Sysmon 识别和分析 Windows 操作系统上的恶意活动。

检测分析

基于 Office 宏病毒攻击,攻击者可能采取各式各样的利用方式,当然最直接的是钓鱼。本文我们使用 Office 宏文件进行钓鱼测试,钓鱼文件可以基于工具 msfconsole 生成,同时 Kali 上使用reverse_tcp 等待反连。这一部分不详细赘述,让我们直接来看 Sysmon 的日志记录。

Sysmon 在这一过程中记录的日志是比较多的,和 Office 宏文件钓鱼直接相关的存在以下两个事件:

1.创建进程

2624号(PID)进程创建了7336号进程。在(Microsoft Word应用程序)打开时创建了(宏中定义的随机名称)作为子进程。这显示Word文档中的宏功能被触发,导致执行了外部程序或脚本。

2.网络连接

7336号进程中执行了 TCP 网络连接,访问192.168.21.129的4444端口。这表明实际命令得到执行,靶机主动回连,远控成功执行,192.168.21.129主机获得了本机的shell。

至此,分析结束。

总结

本次实验中, Sysmon 对于 Windows 事件的记录是比较完整的,提供了一个可靠的进程行为日志和一个可用的主机溯源方法。不过也能看出其中存在两个问题,一是 Sysmon 产生的日志量比较大,需要合适的配置文件进行日志过滤;二是 Sysmon 本身不具备对其生成事件的分析能力,需要对接分析工具或 SIEM 平台。

参考🔗

https://mp.weixin.qq.com/s/Q7IaW6J_WiInKn0pb23wmg

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

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

相关文章

vue2进阶篇:vue-router之命名路由

vue2进阶篇:vue-router之命名路由@目录10.6命名路由案例:将案例改为“命名路由”完整代码本人其他相关文章链接 10.6命名路由注意点1: 命名路由请使用name属性,替换掉path属性的作用,且name直接指定名称即可,而path必须指定3级目录(path=’/demo/test/welcome’)才行。…

Github和git的学习(不定期更新)

学习GitHub和git的使用,不定期更新学习GitHub和Git 可以使用 GitHub 和 Git 来开展工作协作。[官方文档直达]([GitHub 入门文档 - GitHub 文档](关于 Git - GitHub 文档)) 关于 GitHub GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在…

学期2024-2025-1 学号20241424 《计算机基础与程序设计》第4周学习总结

学期2024-2025-1 学号20241424 《计算机基础与程序设计》第4周学习总结 作业信息 |这个作业属于(2024-2025-1-计算机基础与程序设计)| |-- |-- | |这个作业要求在(2024-2025-1计算机基础与程序设计第四周作业| |这个作业的目标|<写上具体方面>参考上面的学习总结模板,…

Python 禅道测试用例助手

程序及源码下载地址: https://gitee.com/ishouke/zen-tao-testcase-helper 实现功能 禅道测试用例助手。 实现xmind用例导入禅道,支持自动创建产品,模块,删除用例,此外,支持禅道导出的excel用例转xmind用例之后,再导入禅道,实现禅道用例管理闭环 使用要求 适配xmind版本…

Seata的AT模型

什么是seataSeata(Simple Extensible Autonomous Transaction Architecture)是一个开源的分布式事务解决方案,它主要用于解决微服务架构下分布式事务问题。Seata 提供了多种分布式事务解决方案,适用于不同场景,以下是其几种主要的解决方案:1. AT 模式(Automatic Transac…

任务3

导入照片:在照片编辑软件(如 Photoshop、GIMP 或 Canva)中打开要添加水印的照片。 创建文本图层:创建一个新的文本图层,用于存放水印文字。 输入水印文本:在文本图层中输入您的水印文本。您可以调整字体、大小、颜色和透明度。 调整位置:将水印文本放置在照片中的合适位…

[转]深度学习下的相机标定

相机标定在计算机视觉和机器人等领域中占据举足轻重的地位,它为后续场景理解及决策推断提供了标准化的成像空间和精准的几何先验。然而,传统的相机标定技术常常依赖于繁琐的人工干预和特定的场景假设,因此难以灵活拓展至不同的相机模型和标定场景。 近年来,基于深度学习的解…

标题、导航、目录添加序号

在主题文件夹添加base.user.css文件,把下面的内容复制进去。/*************************************** Header Counters in Content**************************************//** initialize css counter */ #write {counter-reset: h1 }h1 {counter-reset: h2 }h2 {counter-r…