sysmon+nxlog监控win下磁盘文件变化

admin 2023年2月16日08:53:35评论112 views字数 2211阅读7分22秒阅读模式

前一段时间做windows数据采集程序,通过notify进行文件变化监控,cpu和内存占用太高,不太适用,windows的文件过滤驱动也没有研究过。今天一位大牛向我推荐了sysmon,下面是实践的流程步骤。

通过sysmon监视器监控文件变化、nxlog读取sysmon日志,推送到相应tcp服务端的实践。

关注本公众账号,输入关键词sysmon获取本文的所有软件下载

一、sysmon安装配置

   系统监视器(Sysmon)是Windows系统服务和设备驱动程序,用来监视系统活动并将其记录在window事件日记中。

1.1 安装

# 下载地址https://download.sysinternals.com/files/Sysmon.zip# 安装Sysmon64.exe  -accepteula -i <configfile> # 指定配置文件安装# 修改配置Sysmon64.exe -c <configfile> # 修改为默认配置sysmon64.exe  –c -- # 修改配置信息为默认配置# 卸载 Sysmon64.exe -u 

启动停止服务
键盘上按下ctrl+r,弹出的窗口输入services.msc打开服务,查找sysmon64进行停止/启动操作

1.2 配置
配置信息可参考 
https://github.com/SwiftOnSecurity/sysmon-config

指令说明

 ProcessCreate            进程创建 FileCreateTime           文件创建时间更改 NetworkConnect           检测到网络连接 ProcessTerminate         进程终止 DriverLoad               驱动程序已加载 ImageLoad                镜像加载 CreateRemoteThread       已检测到创建远程线程 RawAccessRead            检测到原始访问读取 ProcessAccess            已访问的进程 FileCreate               文件创建 RegistryEvent            添加或删除注册表对象 RegistryEvent            注册表值设置 RegistryEvent            注册表对象已重命名 FileCreateStreamHash     已创建文件流 PipeEvent                管道创建 PipeEvent                管道已连接 WmiEvent                 检测到WmiEventFilter活动 -- WmiEventFilter activity detected WmiEvent                 检测到WmiEventConsumer活动 -- WmiEventConsumer activity detected WmiEvent                 检测到WmiEventConsumerToFilter活动 -- WmiEventConsumerToFilter activity  DnsQuery                 DNS查询 


1.3 查看运行
键盘上按下ctrl+r,弹出的窗口输入eventvwr.msc打开事件查看器

sysmon+nxlog监控win下磁盘文件变化

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

sysmon+nxlog监控win下磁盘文件变化

sysmon日志存储地址:
C:WindowsSystem32winevtLogsMicrosoft-Windows-Sysmon%4Operational.evtx

二、nxlog安装配置

2.1 安装
nxlog下载地址:
https://nxlog.co/downloads/nxlog-ce#nxlog-community-edition

windows下可直接下载安装包msi文件,直接安装就可。

2.2 配置

找到nxlog的安装目录,打开conf下的nxlog.conf文件,配置如下:

 # 输入端sysmon事件日志 <Input in>    Module im_msvistalog    ReadFromLast    True    Query <QueryList> <Query Id="0"> <Select Path="Microsoft-Windows-Sysmon/Operational">*</Select> </Query></QueryList> </Input>
# 输出端tcp服务接收 <Output out> Module om_tcp Host 127.0.0.1 Port 514 </Output>
<Route 1> Path in => out </Route>

键盘上按下ctrl+r,弹出的窗口输入services.msc打开服务,查找nxlog进行停止启动服务。

三、golang实现的接收服务

package main
import ( "bufio" "fmt" "log" "net")
func main() { listen, err := net.Listen("tcp", "127.0.0.1:514") if err != nil { log.Fatal(err) } for { accept, err := listen.Accept() if err != nil { log.Fatal(err) } scanner := bufio.NewScanner(accept) for scanner.Scan() { fmt.Println(scanner.Text()) } }}
# 生成可执行文件go build -o sysmonview.log# 运行程序sysmonview.exe

四、查看效果

  • 启动sysmon服务

  • 启动nxlog服务

  • 启动sysmonview.exe程序

  • 创建一个文本文件


sysmon+nxlog监控win下磁盘文件变化

能够跟踪磁盘文件变化,同时cpu、内存占用量也不高。

原文始发于微信公众号(数据安全治理技术):sysmon+nxlog监控win下磁盘文件变化

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月16日08:53:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   sysmon+nxlog监控win下磁盘文件变化https://cn-sec.com/archives/1554772.html

发表评论

匿名网友 填写信息