微软sysmon使用

一、Sysmon简介

日常的应急响应中,经常会遇到一些情况。比如远程上去的时候已经没有了现象,又或是恶意流量每隔几个小时就发一两个包,十分头疼。
Sysmon作为强大轻便的监视和记录工具,可以记录系统的各种活动。通过收集系统上发现的事件,可以了解到恶意程序在操作系统上进行了哪些操作。可选择记录网络连接,包括每个连接的源进程、IP 地址、端口号、主机名和端口名。记录注册表和文件的操作记录。
Sysmon由Sysinternals开发,同时具有windows版和linux版。

二、Sysmon安装

windows下的安装

下载链接:

https://docs.microsoft.com/zh-cn/sysinternals/downloads/sysmon

附使用方法。

使用方式如下,使用命令调用即可

使用默认设置安装:
sysmon -accepteula -i  #安装必须使用 -accepteula 接受EULA
sysmon.exe -accepteula -i -n  #-i 即install,-n会监听network连接
其他参数(常用):
sysmon   -accepteula  -i  config.xml #常用:安装时自定义配置文件
切换配置文件
sysmon -c  newconfig.xml
切换到默认配置文件 
sysmon -c -- 
查看所有命令配置选项
sysmon -s
卸载sysmon
sysmon -u

推荐使用xml配置文件进行安装,需要先配置好xml文件,但大家不必担心xml,这个已经有大佬为大家提供一个推荐的xml配置文件,并可以在此基础上进行修改。该配置文件为大家过滤了一些不必要监控的系统行为以及选择捕捉适当的条目,可以在应急响应中,将注意力集中真正有意义的日志上,并尽可能减少性能影响。

大佬编写的配置文件:https://github.com/SwiftOnSecurity/sysmon-config

https://github.com/allblue147/sysmon-config

选择对应版本的sysmon程序并指定配置文件进行安装:(需要使用管理员权限进行安装):
在这里插入图片描述

出现该界面就表示安装成功。

Sysmon可记录系统发生的事件,并以事件ID分类。日志通过事件查看器查看,因为sysmon的日志是以evtx

可以去C盘指定路径查文件:%SystemRoot%\System32\Winevt\Microsoft-Windows-Sysmon%4Operational.evtx
在这里插入图片描述
或者通过(eventvwr)打开事件查看器查看日志,具体事件路径为:应用程序和服务日志/Microsoft/Windows/Sysmon/Operational
在这里插入图片描述
在这里插入图片描述
可以看见事件ID为22,allblue这个用户通过谷歌浏览器请求gfs-op.douyucdn.cn域名。

如果windows 8.1或者server 2012 以下系统安装sysmon失败,可以尝试更新补丁kb4474419之后再安装。

Linux下的安装

自行编译安装比较容易出现各种报错,可以参考github文档:
https://github.com/Sysinternals/SysmonForLinux/blob/main/INSTALL.md
这里以kali linux 2021为例,使用debian 11的方法进行安装

1. Register Microsoft key and feed
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/debian/11/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

2. Install SysmonForLinux
sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install sysmonforlinux

安装成功使用sudo tail -f /var/log/syslog | /opt/sysmon/sysmonLogView 可以动态查看sysmon日志:

事件ID介绍

如同windows自带的系统日志,安全日志有事件ID一样,sysmon日志也有对应的事件ID,最新版本支持23种事件。
在这里插入图片描述
在应急响应的情况下,主要抓住:文件、进程、启动项、注册表、计划任务、网络连接、DNS请求这几个方面进行重点分析,能够找出大部分恶意软件的行为并最终解决问题。

具体介绍如下:

事件 ID 1:进程创建
进程创建事件提供有关新创建进程的扩展信息。 完整的命令行提供有关进程执行的上下文。 ProcessGUID 字段是整个域中此过程的唯一值,可简化事件关联。 哈希是文件的完整哈希,包含 HashType 字段中的算法。

事件 ID 2:进程更改了文件创建时间
当进程显式修改文件创建时间时,将注册更改文件创建时间事件。 此事件有助于跟踪文件的实际创建时间。 攻击者可能会更改后门程序的文件创建时间,使其看起来与操作系统一起安装。 请注意,许多进程会合法地更改文件的创建时间;它不一定表示恶意活动。

事件 ID 3:网络连接
网络连接事件记录计算机上 TCP/UDP 连接。 此项默认禁用。 每个连接都通过 ProcessId 和 ProcessGUID 字段链接到一个进程。 该事件还包含源和目标主机名 IP 地址、端口号和 IPv6 状态。

事件 ID 4:Sysmon 服务状态已更改
服务状态更改事件报告 Sysmon 服务的状态 (启动或) 。

事件 ID 5:进程已终止
进程在进程终止时终止事件报告。 它提供进程的 UtcTime、ProcessGuid 和 ProcessId。

事件 ID 6:已加载驱动程序
驱动程序加载的事件提供有关正在系统加载的驱动程序的信息。 提供配置的哈希以及签名信息。 签名出于性能原因以异步方式创建,并指示文件在加载后是否已删除。

事件 ID 7:加载的图像
当模块加载到特定进程中时,图像加载的事件日志。 此事件默认处于禁用状态,需要配置 –l 选项。 它指示加载模块的过程、哈希和签名信息。 签名出于性能原因以异步方式创建,并指示文件在加载后是否已删除。 应仔细配置此事件,因为监视所有映像加载事件将生成大量事件。

事件 ID 8:CreateRemoteThread
CreateRemoteThread 事件检测进程何时在另一个进程中创建线程。 恶意软件使用此方法将代码注入到其他进程中并隐藏。 事件指示源进程和目标进程。 它提供要在新线程中运行的代码的信息: StartAddress、StartModule 和 StartFunction。 请注意,StartModule 和 StartFunction 字段将被推断,如果起始地址在加载的模块或已知的导出函数之外,它们可能为空。

事件 ID 9: RawAccessRead
RawAccessRead 事件将检测进程何时使用 \\.\ denotation 从驱动器执行读取操作。 此方法通常由恶意软件用于已锁定以进行读取的文件的数据渗透,以及避免文件访问审核工具。 事件指示源进程和目标设备。

事件 ID 10: ProcessAccess
处理已访问的事件时,该事件将报告进程何时打开了另一个进程,该操作通常后跟信息查询或读取并写入目标进程的地址空间。 这样,便可以检测到读取进程的内存内容(如本地安全机构 (Lsass.exe) )的攻击工具,以便盗取凭据以用于传递哈希攻击。 如果存在活动的诊断实用程序,使其可以重复打开的进程以查询其状态,则启用该功能可能会生成大量的日志记录,因此通常只应在删除预期访问的筛选器上执行此操作。

事件 ID 11: FileCreate
创建或覆盖文件时,将记录文件创建操作。 此事件可用于监视自动启动位置(如启动文件夹),还可用于监视初始感染期间恶意软件删除的常见位置。

事件 ID 12: RegistryEvent (对象创建和删除)
注册表项和值的创建和删除操作将映射到此事件类型,这对于监视注册表自动启动位置的更改或特定恶意软件注册表修改可能很有用。

Sysmon 使用缩写版本的注册表根项名称,其中包含以下映射:

项名称	缩写
HKEY_LOCAL_MACHINE	HKLM
HKEY_USERS	HKU
HKEY_LOCAL_MACHINE\System\ControlSet00x	HKLM\System\CurrentControlSet
HKEY_LOCAL_MACHINE\Classes	HKCR
事件 ID 13: RegistryEvent (值集)
此注册表事件类型标识注册表值的修改。 事件记录为 DWORD 和 QWORD 类型的注册表值写入的值。

事件 ID 14: RegistryEvent (键和值重命名)
注册表项和值重命名操作将映射到此事件类型,并记录已重命名的键或值的新名称。

事件 ID 15: FileCreateStreamHash
此事件将在创建命名文件流时记录,并生成事件,这些事件记录将流分配到的文件内容的哈希 (未命名的流) ,以及命名流的内容。 存在通过浏览器下载删除其可执行文件或配置设置的恶意软件变体,此事件旨在根据浏览器附加 Zone.Identifier "web 标记" 流来捕获。

事件 ID 16: ServiceConfigurationChange
此事件记录 Sysmon 配置的更改-例如,在更新筛选规则时。

事件 ID 17:创建的 PipeEvent (管道)
当创建命名管道时,会生成此事件。 恶意软件通常使用命名管道进行进程间通信。

事件 ID 18:连接的 PipeEvent (管道)
当客户端与服务器之间建立命名管道连接时,此事件将记录。

事件 ID 19:检测到 Register-wmievent (WmiEventFilter 活动)
当注册 WMI 事件筛选器(恶意软件所使用的方法)时,此事件将记录 WMI 命名空间、筛选器名称和筛选器表达式。

事件 ID 20:检测到 Register-wmievent (WmiEventConsumer 活动)
此事件记录 WMI 使用者的注册,记录使用者名称、日志和目标。

事件 ID 21:检测到 Register-wmievent (WmiEventConsumerToFilter 活动)
当使用者绑定到某个筛选器时,此事件会记录使用者名称和筛选器路径。

事件 ID 22: DNSEvent (DNS 查询)
当进程执行 DNS 查询时,无论结果是成功还是失败,均会生成此事件。 为此事件 Windows 8.1 添加了遥测数据,因此它在 Windows 7 和更早版本中不可用。

事件 ID 23:删除存档的 FileDelete (文件)
文件已被删除。 除了记录事件之外,还会将删除的文件保存在 (C:\Sysmon 中 ArchiveDirectory ,默认情况下) 。 在正常操作情况下,此目录可能会增长到合理的大小-请参阅事件 ID 26: FileDeleteDetected 对于类似的行为,但不保存已删除的文件。

事件 ID 24: ClipboardChange (剪贴板) 中的新内容
当系统剪贴板内容更改时,会生成此事件。

事件 ID 25: ProcessTampering (处理图像更改)
当检测到处理隐藏技术(如 "中空" 或 "herpaderp")时,会生成此事件。

事件 ID 26: FileDeleteDetected (文件删除已记录)
文件已被删除。

事件 ID 255:错误
此事件是在 Sysmon 中发生错误时生成的。 如果系统负载过高并且某些工作无法执行或 Sysmon 服务中存在 bug,则可能会发生这种情况。 可以在 Sysinternals 论坛上或通过 Twitter (@markrussinovich) 报告任何错误。

参考链接:
https://mp.weixin.qq.com/s/9mGWipdfZboY8BPw3uUDuw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值