0
点赞
收藏
分享

微信扫一扫

Sysmon + NXlog/Splunk 实现Windows深度监控

Windows操作系统因本身的安全特点经常成为内网安全渗透的首选目标,如果终端上没有安装EDR产品,基于Windows本身的日志很难监控到入侵行为。近期蓝军采用加壳无文件的mimikatz获取密码,我方防护产品没有任何告警,此事也引发了笔者的一些思考,对于重点Windows服务器是否可以采用Sysmon进行深度监控并发现此类工具。本文介绍使用微软的SysInternals工具之一的Sysmon深度监控操作系统行为,并集中分析处理监控数据的方法。

0x01 方案概要

在Windows设备上安装Sysmon,通过Sysmon将监控到的行为日志记录到EventLog,之后通过NXlog或者Splunk Universal Forwarder转发到数据集中处理平台。
其实正常情况下通过Splunk UF做数据转发并配合Splunk进行分析是非常方便的,但考虑到BCP(涉A)可以使用NXlog读取EventLog并且转化为Syslog向SIEM系统发送。


工具

0x02 Sysmon

Sysmon可用来监控和记录系统活动,并记录到windows事件日志,包含如下事件:

Event ID 1: Process creation
Event ID 2: A process changed a file creation time
Event ID 3: Network connection
Event ID 4: Sysmon service state changed
Event ID 5: Process terminated
Event ID 6: Driver loaded
Event ID 7: Image loaded
Event ID 8: CreateRemoteThread
Event ID 9: RawAccessRead
Event ID 10: ProcessAccess
Event ID 11: FileCreate
Event ID 12: RegistryEvent (Object create and delete)
Event ID 13: RegistryEvent (Value Set)
Event ID 14: RegistryEvent (Key and Value Rename)
Event ID 15: FileCreateStreamHash
Event ID 255: Error
详情见https://technet.microsoft.com/en-us/sysinternals/sysmon

Sysmon会将记录的日志写入Windows EventLog,通过Event Viewer可以查看日志内容,具体路径为Application and Service Logs > Microsoft > Windows > Sysmon > Operational

安装

Sysmon 的安装非常简单,但需要使用管理员权限安装,并且需要加载配置文件,这里推荐使用大拿已经写好的sysmon配置文件,当然也可以自己修改。实验发现,如果采用默认的配置文件,能够抓到的信息非常少,但是如果不加过滤,将所有日志全部收过来的话量又惊人的大,ion-storm的配置文件可以看出来是精心配置过的,后面我们会用mimikatz来验证。
将下载好的Sysmon.exe与配置文件放到c:/monitor目录下,以管理员权限打开cmd并执行:

sysmon -accepteula -i config.conf

Sysmon会以服务形式启动,并且默认开机启动,日志可以在Event Viewer的Application and Service Logs > Microsoft > Windows > Sysmon > Operational查看

接下来我们先验证一下Sysmon的监控能力,为方便说明,这里假定我们已经把日志传送到Splunk了,具体步骤往下翻。

验证

下载一个mimikatz在目标机器上执行,观察日志输出:


dump本机密码:

privilege::debug
sekurlsa::logonpasswords

接下来我们在Splunk中搜索相关日志,可以看到Sysmon抓到了mimikatz产生的两种日志,eventcode=1创建进程,eventcode=10访问进程。有关mimikatz的IOC我们将在以后探讨。


0x03 Sysmon日志集中采集

因为Sysmon将日志写入到Windows的EventLog里面,收集EventLog的方法不下几十种,如果基于Splunk收集,可以参考我以前的文章《Splunk + Forwarder 收集分析Windows系统日志》

下文简要介绍一下NXlog的收集方法。NXlog是一个非常轻量的第三方的日志收集工具,社区版可以公开获取,下载以后使用管理员权限双击便可执行,NXlog默认会自动添加为系统服务,并且开机启动,非常方便。

在启动NXlog之前需要先修改配置文件,示例如下:

## This is a sample configuration file. See the nxlog reference manual about the
## configuration options. It should be installed locally and is also available
## online at http://nxlog.org/docs/
 
## Please set the ROOT to the folder your nxlog was installed into,
## otherwise it will not start.
 
#define ROOT C:\Program Files\nxlog
define ROOT C:\monitor\nxlog
 
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
 
<Extension kvp>
Module xm_kvp
</Extension>

<Extension xml>
Module  xm_xml
</Extension>
 
<Input in>
    Module im_msvistalog
    Query <QueryList> <Query Id="0"> <Select Path="Microsoft-Windows-Sysmon/Operational">*</Select> </Query></QueryList>
</Input>
 
<Output out>
    Module      om_udp
    Host        10.231.132.79
    Port        1517
    Exec        to_xml();
</Output>
 
<Route 1>
    Path        in => out
</Route>
举报

相关推荐

0 条评论