简介
Sysmon是微软提供的系统事件记录工具,能够记录进程、网络、文件等行为,可以在事件查看器中查看结果,通过规则文件控制要采集的内容。在使用的工作中主要存在以下几个问题:
- 规则文件编写复杂,采集少了监控不到恶意行为,采集多了系统负载过大
- 事件查看器难用,结果数据分析困难
- 黑客入侵后,删除日志,无法进行分析
以下给出已经找到的几个解决方案,后面章节对各个部分进行介绍。
问题 | 解决方式 |
---|---|
规则编写困难 | 使用网上别人写好的规则文件,在此基础上优化 使用sysmon shell辅助规则编写 |
数据分析困难 | 使用splunk进行数据分析 使用sysmon view进行数据分析 |
日志被黑客删除 | 使用splunk同步、备份数据 |
安装
常用命令 | 说明 |
---|---|
sysmon -i | 最基本的安装命令 |
sysmon.exe -accepteula -i sysmonconfig-export.xml | 指定规则文件安装 |
sysmon.exe -c sysmonconfig-export.xml | 更新配置 |
sysmon.exe -u | 卸载 |
过滤规则
Sysmon shell
直接阅读规则说明文档的比较难以理解,通过sysmon
shell工具可以较好的理解sysmon规则。
Sysmon基本的对象是even,比如process Create、Network
Connect等,这些对象包含一些属性,过滤规则就是对这些动作的属性的值进行筛选。
需要选的事件的属性作为操作对象,填写这些对象需要满足包含什么值等(有很多条件),最后选择include或者exclude动作,对前面选择的条件进行包含或者排除操作。
比较常见的是把一些容易感染的进程(如http),病毒行为特征加入到include规则中,进行监控,
把一些不太可能感染的,系统自带的默认会产生大量事件的进行进入到exclude规则中,进行排除,以达到性能和效果的平衡。
在完成sysmon的安装和数据采集后,主要的工作就是对规则进行调整和数据分析。
开源的规则
- Github上有一些开源的已经优化的较好的规则可以直接使用,见第5章参考地址
- Sysmon shell提供了一些规则,两个大的项目与github公布的规则是相同的。
结果展示
事件查看器
安装sysmon后,结果可以在事件查看器中查看。具体操作:控制面板>管理工具>事件查看器>应用程序和服务日志>microsoft>Windows>Sysmon>Operations
如下图所示:
开启sysmon采集后存在两个问题,一是黑客入侵后,往往会删除日志,二是windows的事件查看器极其难用,数据分析比较困难。
可以通过引入第三方工具来解决。
工具 | 说明 |
---|---|
Splunk | 实时采集数据到服务端,解决日志备份问题。 提供简单易用的日志搜索,解决数据分析困难问题。 |
Sysmon view | 图形化展示事件关系,解决数据分析困难问题 |
Splunk配置
Splunk通过安装数据转发agent,指定要采集的数据,传送的服务端,来进行日志同步、备份。需要配置步骤如下:
- 安装splunkforwarder转发器
- 修改配置文件,指定要采集的日志内容和索引。修改:
C:\Program
Files\SplunkUniversalForwarder\etc\apps\SplunkUniversalForwarder\default路径下的inputs.conf文件。输入以下内容(修改完后重启splunk客户端):
[WinEventLog://Microsoft-Windows-Sysmon/Operational]
disabled = false
renderXml = true
index = sysmon_test
其中index为索引名,可以自定义。
- 在splunk服务端添加索引sysmon_test,进行接收。
如果服务端第一次接收sysmon日志,需要安装插件“Add-on for
MicrosoftSysmon”,用于解析sysmon格式的数据。
https://splunkbase.splunk.com...
- 在splunk中通过 index=” sysmon_test” 搜索数据。
Sysmon view
下载地址:https://github.com/nshalabi/S...
需要将事件查看器中的日志导出为XML文件进行分析,简单易用。结果如下图所示:
参考
Github比较好的项目参考。
说明 | 项目地址 |
---|---|
Sysmon相关资源集合,包含了下面几个项目,以及比较好的文章 | https://github.com/MHaggis/sy... |
已经写好的较为通用的规则 | https://github.com/ion-storm/... |
已经写好的较为通用的规则 | https://github.com/SwiftOnSec... |
Sysmon相关的三个辅助工具 | https://github.com/nshalabi/S... |
后续工作
- 规则自适应,通过采集几天的日志进行数据分析,自动优化规则,将频繁产生日志的进程自动加入到排除规则中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。