sysmon安装配置及其使用,EDR一些防御case肯定是要看的
原文:https://www.jianshu.com/p/43bf5aadfd28
我自己安装成功以后,可以看到采集的日志,运行powershell以后生成的日志:
sysmon安装配置及其使用
sysmon是微软团队出品的一款日志搜集工具,这里记录下其安装配置使用方法
环境
- Windows 10 64位
软件下载
进入到微软官方下载地址点击链接下载sysmon:

sysmon下载
软件安装
下载好的软件进行解压,解压完成后如图所示:

解压后的sysmon
在电脑开始菜单输入cmd搜索,选择以管理员身份运行(一定要选择管理员权限运行,否则后续安装会报错):

打开cmd
在cmd命令窗口输入命令安装sysmon(该路径为sysmon存放路径):
C:\Users\User\Downloads\Sysmon\Sysmon64.exe -i
然后就能看到出现了安装界面:

安装界面
点击agree,安装完成:

安装完成
软件配置
配置文件参考博客编写即可,编写完成后在命令行窗口输入命令配置sysmon:
C:\Users\User\Downloads\Sysmon\Sysmon64.exe -c <config.xml文件路径>
由于这里不需要配置规则,保持默认配置即可:
C:\Users\User\Downloads\Sysmon\Sysmon64.exe -c --

修改为默认配置
软件使用
键盘同时按下win+r,在弹出的窗口输入eventvwr.msc打开事件查看器:

打开事件查看器
在打开的事件查看器中依次选择应用程序和服务日志>Microsoft>Windows>Sysmon:

事件查看器
在sysmon日志中选取信息,点击详细信息即可查看到详细日志信息:

日志信息查看
这里给出事件ID对应的事件类型:
| EventType | 译文 | EventId |
|---|---|---|
| Sysmon Service Status Changed | sysmon服务状态改变 | 0 |
| ProcessCreate | 进程创建 | 1 |
| FileCreateTime | 文件创建时间更改 | 2 |
| NetworkConnect | 网络连接 | 3 |
| Service State Change | 服务状态改变 | 4 |
| ProcessTerminate | 进程终止 | 5 |
| DriverLoad | 驱动程序加载 | 6 |
| ImageLoad | 镜像加载 | 7 |
| CreateRemoteThread | 创立远程线程 | 8 |
| RawAccessRead | 检测到原始访问读取 | 9 |
| ProcessAccess | 已访问的进程 | 10 |
| FileCreate | 文件创建 | 11 |
| Registry object added or deleted | 添加或删除注册表对象 | 12 |
| Registry Create | 注册表值设置 | 13 |
| Registry Rename | 注册表对象重命名 | 14 |
| FileCreateStreamHash | 已创建文件流 | 15 |
| Sysmon Config Change | sysmon配置更改 | 16 |
| Named Pipe Create | 命名管道创建 | 17 |
| Named Pipe Connected | 命名管道连接 | 18 |
| WMI Event Filter | 检测到WMI Event Filter活动 | 19 |
| WMI Event Consumer | 检测到WMI Event Consumer活动 | 20 |
| WMI Consumer to Filter | 检测到WMI Consumer to Filter活动 | 21 |
| DNS Query | DNS查询 | 22 |
| File Delete | 文件删除 | 23 |
| Clipboard Capture | 剪贴板捕获 | 24 |
| Process Tampering | 进程篡改 | 25 |
| File Delete Detected | 检测到文件删除 | 26 |
| Error | 错误 | 255 |
关于Event ID更详细的介绍见Github
日志导出
如果想要将日志信息导出,则可按照以下流程进行。
首先,下载大佬的脚本
然后打开powershell,运行命令导入脚本:
Import-Module .\Export-WinEvents.ps1
其中,空格后面的部分为要引入的脚本路径(本句表示脚本在当前目录下),注意此处为反斜杠表示分隔符
然后,运行命令清空当前的sysmon日志:
@('Microsoft-Windows-Sysmon/Operational') | Clear-WinEvents
最后,运行命令导出日志:
$FromDate = get-date;
@('Microsoft-Windows-Sysmon/Operational') | Export-WinEvents -EndDate $FromDate -OutputPath "SecurityDataset_$(get-date -format yyyy-MM-ddTHHmmssff).json" -Verbose
其中,@()内的代表日志的类型,可以为多个;而-OutputPath后引号内的参数为导出的日志文件的路径和名称
参考资料
本文参考了以下文档,可自行拓展查看:

浙公网安备 33010602011771号