Sysmon 工具
寻找商业合作伙伴,请访问 www.cyber-distance.com 获取更多信息
Sysmon 实用工具
本仓库包含以下内容:
- Sysmon View: 一个离线 Sysmon 日志可视化工具。
- Sysmon Shell: 一个 Sysmon 配置实用程序。
- Sysmon Box: 一个 Sysmon 和网络捕获日志记录实用程序。
内容
- 发行说明
- Sysmon View
- Sysmon Shell
- Sysmon Box
- 其他资源
- 许可证
发行说明
- Sysmon View: 版本 3.1 可以导入并关联网络跟踪捕获与 Sysmon 网络事件
- Sysmon Box: 新的命令行实用程序用于捕获 Sysmon 和网络事件 (v1.0)
- Sysmon Shell: 添加了将配置文件升级到 V9.0 的命令(临时解决方案)
Sysmon View
Sysmon View 通过逻辑分组和关联各种 Sysmon 事件,帮助跟踪和可视化 Sysmon 日志。它使用现有的事件数据,如可执行文件名、会话 GUID、事件创建时间等,然后重新排列这些数据以多种视图方式显示。
入门
首先,使用内置的 WEVTUtil 将 Sysmon 事件导出为 XML 文件,该文件稍后将被 Sysmon View 导入:
WEVTUtil query-events "Microsoft-Windows-Sysmon/Operational" /format:xml /e:sysmonview > eventlog.xml
导出后,运行 Sysmon View 并导入生成的文件"eventlog.xml"(或您选择的名称)。请注意,这可能需要一些时间,具体取决于日志文件的大小(文件只需导入一次,后续运行 Sysmon View 时无需再次导入数据,只需使用文件菜单 文件 -> 加载现有数据
即可再次加载先前导入的数据)。
所有数据都将导入到与 Sysmon View 可执行文件位于同一位置的名为 SysmonViewDB 的 SQLite 数据库文件中。如果需要,可以与他人共享此文件,只需将文件放在与 Sysmon View 相同的位置,然后使用命令 文件 -> 加载现有数据
。
每次导入新的 XML 文件时,数据库文件都会被删除并重新创建。要保留任何先前导入的数据,请将数据库文件复制到其他位置或简单地重命名它。
数据库也可以直接在您自己的应用程序中使用,数据库包含哈希值、可执行文件、IP 地址、地理映射的摘要,所有这些都通过文件名或会话(可执行文件 GUID)进行逻辑链接。
您可以使用任何 SQLite 管理软件直接查询数据库文件,而无需使用 Sysmon View,例如生成报告或分析数据
Sysmon 视图
进程视图 这个视图简单地帮助关注"运行会话"的摘要,例如,分析师可以从可执行文件名(如 cmd.exe)或事件类型(如网络事件)开始,从那里可以应用进一步的筛选,例如找到来自相同二进制文件但来自不同位置的运行会话。此视图使用进程 GUID 来按会话"运行"筛选事件,选择任何运行会话(从 GUID 列表中)将以简单的数据流视图显示所有其他相关(关联)事件,按事件时间排序。 注意:如果数据是从 Elasticsearch 实例而不是单台机器导入的,则可以按每台机器的可执行文件来安排事件 - 请查看上一节 "实验性 - Sysmon View 和 Elasticsearch")。
只需双击视图中的任何事件即可访问 Sysmon 事件详细信息,例如,上一个屏幕截图显示了 进程创建 事件(事件 ID 1)的详细信息,该工具还可以根据需要与 VirusTotal 集成,以进行进一步的哈希和 IP 查找(需要 API 密钥注册)。
地图视图: 在事件导入过程中,有一个选项可以对 IP 地址进行地理定位,如果设置了,Sysmon View 将尝试使用 https://ipstack.com/ 服务对网络目标进行地理映射。
在地图视图中,通过使用 网络事件 作为起点,很容易在相关(关联)事件之间导航,同样,该工具能够使用正在运行的进程会话 GUID 来实现这一点。要探索相关事件,请使用会话 GUID 的超链接,一个类似于进程视图的新视图将在新窗口中显示所有相关的会话事件:
所有事件视图也可用于对所有 Sysmon 收集的事件数据进行 全面搜索,它还有助于查看与其他事件无关的事件,例如"驱动程序已加载"事件类型。除了通过单击 FID 链接 查看事件详细信息外,仍然可以使用进程 GUID 在相关事件之间导航。
此外,所有事件视图支持事件的透视式(分组)排列,按机器名称、事件类型或 GUID 分组,如下所示
还可以进行多级分组
Sysmon Shell
Sysmon Shell 可以通过简单的 GUI 界面帮助编写和应用 Sysmon XML 配置。
Sysmon Shell 还可用于探索 Sysmon 可用的各种配置选项,轻松应用和更新 XML 配置,以及导出 Sysmon 事件日志,简而言之:
- Sysmon Shell 可以加载 Sysmon XML 配置文件:当前版本支持所有 Sysmon 架构。(该工具不直接从注册表加载任何配置,只从 XML 文件加载)。
- 它可以导出/保存最终的XML到文件。
- 它可以通过直接调用
Sysmon.exe -c command
来应用生成的XML配置文件(在Sysmon安装的同一文件夹中创建临时XML文件),因此,如果使用此功能,Sysmon Shell将需要提升权限(这是从Sysmon进程本身继承的需求),应用配置的输出将显示在预览窗格中(这是Sysmon生成的输出) - 可以在保存前在预览窗格中预览XML配置
- 最后一个标签(标记为"日志导出")可能会方便快速将Sysmon事件日志导出为XML,稍后可以与**"Sysmon View"**一起用于事件分析,导出有三个选项:
- 仅导出
- 导出并清除Sysmon事件日志
- 导出、备份_evtx_文件并清除事件日志
- 该工具包含从Sysmon Sysinternals主页(https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon)获取的所有事件类型的描述
- Sysmon Shell附带了许多由其他安全专业人士创建的Sysmon配置模板
它不会做的事: 警告您包含/排除冲突或尝试验证规则本身,但是,一旦应用配置,预览窗格将显示从应用配置时捕获的Sysmon.exe输出(即Sysmon -c command
的输出),从中可以识别错误
Sysmon Box
Sysmon Box是一个小工具,可以帮助构建捕获的Sysmon和网络流量数据库。
要运行Sysmon Box,请使用以下命令(需要运行Sysmon和tshark):
SysmonBox -in Wi-Fi
然后该工具将执行以下操作:
- 开始捕获流量(在后台使用tshark,这就是为什么必须指定捕获接口),完成后,按CTRL + C结束会话
- Sysmon Box随后将停止流量捕获,将所有捕获的数据包转储到文件,并使用EVT工具导出会话开始和结束时间之间记录的Sysmon日志
- 构建一个Sysmon View数据库(备份现有)文件,导入来自Sysmon的日志和捕获的流量,您只需从同一文件夹运行Sysmon View或将数据库文件(SysmonViewDB)放在与Sysmon View相同的文件夹中(将数据包捕获保存在同一位置)
其他资源
- 您可以在我的博客https://nosecurecode.com/上阅读更多关于Sysmon View和Sysmon Shell的信息
- 以下是关于Sysmon和Sysmon View的良好概述https://www.fwhibbit.es/sysmon-the-big-brother-of-windows-and-the-super-sysmonview
许可证
版权所有 2018 Nader Shallabi。保留所有权利。
可以在未经Nader Shallabi明确许可的情况下复制和/或分发SYSMON工具。
本软件由Nader Shallabi"按原样"提供,不作任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的暗示保证。在任何情况下,Nader Shallabi或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论是基于合同、严格责任还是侵权行为(包括疏忽或其他),即使被告知可能发生此类损害。
软件和文档中包含的观点和结论是作者的观点和结论,不应被解释为代表Nader Shallabi的官方政策,无论是明示还是暗示。