Sysmon是微软的一款免费的轻量级系统监控工具,最开始是由Sysinternals开发的,后来Sysinternals被微软收购,现在属于Sysinternals系列工具(带有微软代码签名)。它通过系统服务和驱动程序实现记录进程创建,网络连接以及文件创建时间更改的详细信息,并把相关的信息写入并展示在windows的日志事件里。
Sysmon安装后分为用户态系统服务,驱动两部分,用户态通过ETW(Event Tracing for Windows)实现对网络数据记录,通过EventLog对驱动返回的数据进行解析,驱动部分则通过进、线程,模块的回调函数收集进程相关的信息,通过Minifilter文件过滤驱动和注册表回调函数记录访问文件、注册表的数据。
未知防,焉知攻
从功能上来讲,Sysmon是一款优秀的HIDS、EDR的主机入侵检测引擎,其依托于Windows内核层进、线程,模块,注册表回调,及文件过滤驱动针对相应的行为进行实时的增、删、改信息收集并通过ETW存储并展示于Windows日志。
稳定性方面超过大部分自研的驱动,功能完善,对性能影响较小,虽然功能强大但却有很多监控盲区。若加以自研Agent与其配之,便可弥补自身监控盲区及非查询功能等其他需求。
强大的功能和微软官方的稳定性加成,让很多人对这款免费的入侵检测引擎钟爱有加,但免费并不意味着开源,很多人在安装Sysmon的过程中直接使用默认配置,不更改文件名、服务名、驱动名,没有关注过安装后会留下哪些痕迹,这样则会让红队对Sysmon服务及日志产生影响。
如果不更改默认配置而直接默认安装,就无法避免红队侦测Sysmon存在而针对其进行规则绕过及信息输出阻断,我确信当红队如果知晓目标机安装Sysmon,则会对红队的TTP产生影响。
第一阶段:以默认配置安装
(安装UI产生的信息)
红队视角:
ATT&CK Defense Evasion(TA0005)
检测Sysmon是否存在:
1. 进程名 Sysmon.exe
(Sysmon进程名)
2. 服务名 Sysmon
(服务名称及服务描述图)
3. 驱动名 Sysmondrv
(文件过滤驱动名称及属性)
(注册表中对应Sysmon驱动键及其子键)
4. 驱动所在目录 C:\Windows\