f3arra1n3.4.1版本_Sysmon v11.1新版本功能测试报告

一、概述根据微软文档的介绍,Sysmon v11新增了监控文件删除的功能,并支持对删除的文件进行存储备份,极大提高了主机威胁检测的能力。同时增加禁用反向DNS查询的功能,可以有效降低噪音数据。Sysmon从v10.0到目前的v11.1共经历了5个版本,升级的功能包括:

v10.4:对Sysmon(安全事件监视服务)的主要更新,为规则组添加了嵌套规则支持,并添加“contains any”和“contains all”规则条件,以进行更灵活的过滤以及修复了几个错误。

v10.41:修复10.4的语法配置问题。

v10.42:解决了Sysmon的大量内存泄露问题,引入“Excludes Any”和“Excludes all”过滤条件,修复一些错误。

v11.0:添加了删除文件监控事件和文件备份功能,帮助威胁检测人员捕获攻击者的工具,减少反向DNS查找噪音,将空字段替换为“-”以解决WEF错误,并修复了导致某些ProcessAccess事件发生的问题。

v11.1:创建文件流哈希事件新增了Contents属性,可以将捕获到的小于1000字节的可替换数据流内容也记录到日志中,这对于调查带有“网络标记”(MOTW)流的下载非常有用,引入了“is-any”过滤条件,并修复了几个错误。

对升级功能进行整理后发现,较重要的更新包括三个方面:一是新增删除文件监控事件、二是新增过滤条件、三是新增Contents属性。

二、帮助信息及文件架构描述
2.1 查看帮助信息

使用“sysmon64 -? config”命令查看帮助信息,能找到下面的介绍,看到在事件过滤器中增加了ID为23的File Delete事件:

ae1392fee922f40dbb0ca774ca4a14f4.png
图:监控的事件范围

同时在帮助文档中包含了一个配置项的说明,列出了可能在规则中使用的一些二级标签,但是经过测试发现并不是所有的配置项都能使用。帮助信息中给出的配置项如下:

5c51e1b10a9ae24924291e25f64ad182.png图:config 帮助信息中列出的配置条目

实际经过测试发现,可以在配置文件中使用的配置项包括5项,具体在第四部分内容中介绍。2.2 查看文件架构描述

对比v10.0和v11.1的文件架构信息,发现有7处不同:
  1. 文件架构版本升级到4.32

    dd32320dd02f192546dc7458d7ec5016.png

  2. 命令行开关增加“DnsLookup”和“a”两个开关参数,分别用于禁用反向DnsLookup查询和设置文件的存档目录

    fd8f55b6789cb088f840b695607c6097.png

  3. 增加5个规则过滤条件

    4c58a8e58ede5685d0240f9e39be5264.png

  4. 去掉了文件创建时间更改事件的默认开启状态,版本从4升级为5

    f9538ccac4eeda3a86406be39b212a23.png

  5. 去掉了驱动加载事件的默认开启状态,版本从3升级为4

    6d6883fbcad3fb33257a8f9f0b65fe27.png

  6. ID为15的创建文件流哈希事件增加Contents属性b4aa35e6f8e7e3aee9f1436513116765.png

  7. 增加一类FileDelete事件

52f95fb4c6351f9fca7253e84f3a6d8d.png


三、删除文件监控事件
从文件架构中看到,FileDelete事件ID为23,共有7个属性:
  • UtcTime(UTC 时间)以通用协调时(UTC)形式记录的删除文件的日期和时间,格式为:yyyy-MM-dd HH:mm:ss.000。

  • ProcessGuid(进程GUID)Sysmon创建的一种GUID值,具备全局唯一性,可用于区分删除文件的进程实例。

  • ProcessId(进程ID)删除文件的进程PID。

  • User(用户名)运行该进程的用户账户,将显示为DOMAIN\USER的格式。

  • Image(查询状态)执行删除文件操作进程的主可执行映像文件的完整路径。

  • TargetFilename(目标文件名)被删除文件的全路径。

  • Hashes(哈希)被删除文件的哈希值。

  • IsExecutable(是否为可执行文件)布尔值,被删除的文件是否为可执行文件。

  • Archived(存档)布尔值,被删除的文件是否备份到相应目录中。

a7af09960278f6df84fc245d12a07e3b.png图:删除文件事件日志通过测试发现Sysmon判断一个文件是否为可执行文件并非通过后缀名,而是根据文件的二进制内容。因为删除一个无后缀名的EXE后,在生成的日志中IsExecutable字段为true。配置规则如下:
<Sysmon schemaversion="4.32">  <HashAlgorithms>MD5HashAlgorithms>  <EventFiltering>    <ProcessCreate onmatch="include"/>    <FileCreateTime onmatch="include"/>    <NetworkConnect onmatch="include"/>    <ProcessTerminate onmatch="include"/>    <DriverLoad onmatch="include"/>    <ImageLoad onmatch="include"/>    <CreateRemoteThread onmatch="include"/>    <RawAccessRead onmatch="include"/>    <ProcessAccess onmatch="include"/>    <FileCreate onmatch="include"/>    <RegistryEvent onmatch="include"/>    <FileCreateStreamHash onmatch="include"/>    <PipeEvent onmatch="include"/>    <WmiEvent onmatch="include"/>    <DnsQuery onmatch="include"/>    <FileDelete onmatch="include">        <IsExecutable condition="is">TrueIsExecutable>    FileDelete>  EventFiltering>Sysmon>

c89b7a02b7cb07f74104cd392c76b361.png

图:删除文件日志还可以在搜索中使用“IsExecutable: true”来搜索匹配的日志

4ea0f611a313c9d166b841de2a742ac2.png

图:使用IsExecutable属性搜索日志

但是测试发现,使用系统自带的文件资源管理器、cmd.exe或者Total commander删除文件时,均不能产生相应的日志。说明该版本Sysmon还存在一些问题。

92e2f96a46604d8a5ad58669733c9154.png
图:CMD中删除文件

四、新增配置文件条目4.1 条目介绍在帮助信息中新增的配置条目,翻译后整理如下:
标签名值类型功能
ArchiveDirectory字符串卷根目录下的目录名,删除时复制的文件将移动到其中。该目录由系统ACL保护。(您可以使用Sysinternals中的PsExec来使用' PsExec -sid cmd'访问该目录)。
默认:Sysmon目录
CheckRevocation布尔值控制签名撤销检查。
默认:真
CopyOnDeletePE布尔值保留已删除的可执行映像文件。
默认:假
CopyOnDeleteSIDs字符串将保留删除文件的帐户sid的逗号分隔列表。
CopyOnDeleteExtensions字符串在删除时保存的文件扩展名。
CopyOnDeleteProcesses字符串将保留删除的文件的进程名称。
DnsLookup布尔值

控制是否禁用反向DNS查找。

默认:真
DriverName字符串为驱动程序映像和服务映像使用指定的名称。
HashAlgorithms字符串

计算哈希的算法。支持MD5、SHA1、SHA256、IMPHASH和* (all)。

默认:空


4.2 条目测试

经实际测试发现,上述条目中可用于配置规则的标签有4个:
  • ArchiveDirectory

  • DnsLookup

  • DriverName

  • HashAlgorithms

其中HashAlgorithms和DriverName是旧版本中已存在的,其余两个为新版本增加的配置条目,另外5个配置条目有四个是在命令行中使用的参数,剩余一个CheckRevocation无法使用。同时结合测试过程给出的错误信息,共得到12个条目,具体如下:
帮助信息给出的条目错误提示中给出的条目用于命令行用于配置文件作用
ArchiveDirectoryArchiveDirectory指定文件备份目录
CheckRevocationCheckRevocation未知
CopyOnDeletePE开启/关闭文件备份
CopyOnDeleteSIDs未知
CopyOnDeleteExtensions未知
CopyOnDeleteProcesses未知
DnsLookupDnsLookup开启/关闭DNS反向查询
DriverNameDriverName驱动名称标签
HashAlgorithmsHashAlgorithms哈希算法标签
EventFiltering事件过滤器标签
PipeMonitoringConfig未知
ProcessAccessConfig未知
4.2.1 ArchiveDirectory配置条目

ArchiveDirectory标签的作用是指定Sysmon监控到删除文件事件后,将被删除的文件备份到的目录。该目录必须位于分区的根目录下,不允许使用多层子目录。安装后默认的备份文件夹名称为“Sysmon”,同时会在每个分区根目录下生成一个“Sysmon”文件夹。可以使用ArchiveDirectory指定一个其它名称的文件夹,例如testmon,避免恶意程序检测到运行环境中安装的Sysmon。配置规则如下:

<Sysmon schemaversion="4.32">  <HashAlgorithms>MD5HashAlgorithms>  <ArchiveDirectory>testmonArchiveDirectory>  <EventFiltering>    <FileDelete onmatch="exclude">FileDelete>  EventFiltering>Sysmon>

c040dee3269d945acc60c01b2a37a2a1.png

图:备份文件夹该目录默认需要使用system权限访问,在资源管理器中无法打开。

4260143f73d6ccf6d198378aaf0fe7dc.png

图:拒绝访问要访问该文件夹需要以管理员权限调用psexec来访问,命令如下:

31c82a5d47cb4f00951e109e37eab35b.png

图:psexec命令执行后弹出高权限的命令行窗口,切换到相应目录下即可访问备份文件夹中的内容。

2edf9d55e57a1edaedfa98e1917c7de3.png

图:CMD访问备份文件夹的方式该目录下的所有文件都是以哈希值为文件名进行保存的,并非删除前的原始文件名。要想复制某个文件到其它目录下,可以使用“COPY”命令

35ff64d3d94ccd46ad840903053c6942.png图:备份文件夹中的文件

4.2.2 CopyOnDeletePE命令行开关CopyOnDeletePE的作用是开启或关闭文件备份的功能,默认情况下在配置文件中启用FileDelete事件后,自动将删除的文件备份至指定的目录下,如果在命令行中传递CopyOnDeletePE参数,那么Sysmon会只记录日志,不再对文件执行备份操作。

81cede2e3730804b568c7d9061ef8e96.png

图:命令行传递CopyOnDeletePE参数

3c954cdac9ed5f4b819db1fb0813947d.png

图:开启删除文件监控的配置规则3a603ed646a65a945418f0d47fa2175d.png图:删除文件监控生成的日志进入备份文件目录,并未保存任何文件,说明CopyOnDeletePE就是用来设置开启和关闭文件备份的命令行开关。

7a1aa0cbd07ea6c5fb693841a5dc6563.png

图:文件备份目录

同时测试发现,通过CopyOnDeletePE关闭备份文件的操作后,无法再次恢复备份功能,只能通过重新安装Sysmon来启用文件备份的功能。4.2.3 测试三个CopyOnDelete***配置条目

通过测试发现CopyOnDeleteSIDs、CopyOnDeleteExtensions和CopyOnDeleteProcesses都可在命令行中使用,但并没有达到预期效果,暂不清楚其功能。

49ed7a8114cbbde5f2ec934fde16de0c.png
图:命令行开启CopyOnDeleteSIDs

根据帮助信息的内容,CopyOnDeleteExtensions的作用是“在删除时保存的文件扩展名”,可使用的值为字符串,推测可能是监控指定后缀名的文件删除事件,因此以“exe,doc,docx”进行测试,配置成功。

9b157a31944430c39c179a037cb12524.png

图:配置指定后缀名

实际测试发现还是会保存其它后缀名的文件,并不会只备份exe、doc和docx这三种后缀名的文件。

61b0aed4d38b79e967154cf9f4df7fda.png图:备份文件夹中的文件

根据帮助信息介绍,CopyOnDeleteProcesses的功能是“将保留删除的文件的进程名称”。这里用“powershell”作为参数值测试CopyOnDeleteProcesses。配置后并未发现实际的作用。

853b8b9db4a50573c5e42c88bf6bd5a4.png
图:配置CopyOnDeleteProcesses

通过测试暂未得到这三个条目的功能,同时发现CheckRevocation条目既无法在命令行中使用,也无法在配置文件中使用。

五、新增Contents属性

创建文件流哈希事件增加了Contents属性,该属性记录的是文件流的内容。根据微软的功能介绍,当文件流的大小小于1000字节时,日志会直接在Contents属性中显示流的内容。当文件流大于1000字节时,会生成该内容的哈希值。在cmd窗口中创建备用数据流进行测试命令如下:

52352964b0fb8172a66d4b4fd507ccd1.png

图:创建备用数据流

53eae70f44be2376d42496300f6ab836.png图:创建文件流哈希事件的日志

六、新增过滤条件

到V11.1版本累计更新了5个过滤条件,下面依次进行测试。

2.1. contains any和contains allcontains any过滤条件的作用是包含使用分号“;”分隔的任意一个值。contains all的作用是包含使用分号“;”分隔的所有的值。首先配置删除文件监控事件的Image属性对contains any条件进行测试。
<FileDelete onmatch="include">  <Rule groupRelation="and">    <TargetFilename condition="contains any">.exe;.ps1;.js;.xls;.xlsmTargetFilename>    <TargetFilename condition="begin with">C:\Users\admin\AppData\Local\TempTargetFilename>  Rule>FileDelete>
当删除exe、ps1等指定类型的文件时,即可产生相应的日志。

4174f72dad05fc4b2d25ac758b273a60.png图:删除exe文件产生的日志

f464f0c5097fd0b2651f5026882a157b.png

图:删除ps1文件产生的日志

根据帮助信息contains all条件是指包括分号“;”隔开的所有值。使用进程访问事件的SourceImage属性对contains all条件进行测试,规则如下:f9a145012c23b0331c4fa874d7f05d66.png图:contains all条件实际测试发现并没有产生日志。e3bb7ebf37778f746f7e1454d2b3c271.png图:日志查看器重新指定条件contains,值为Explorer.EXE,就能产生大量日志。3962c0d1ad1c4d58d873d1174c446519.png图:contains条件d9a394df2d900e42f2a68be72c99d1e4.png图:日志查看器推测contains all的作用应该是同时满足后面所有的值才会记录,再次使用映像加载事件来检测contains all,因为一个进程会同时加载多个模块。通过加载TestModule1.dll和TestModule2.dll模块进行测试,发现仍然不会触发日志。

597cb745553867a289aa3feed2bd4488.png

图:映像加载事件规则

修改规则后使用contains条件单独指定一个值,可以触发日志。

da25b0de58cbdd807ff9dde5c0b6aae8.png图:contains条件

25248b55144e68707ee62ac5e8da1068.png

图:映像加载事件日志通过两次对比测试发现,contains all条件应该是必须同时满足多个值的情况下,才会生成日志。目前是暂未发现有效的应用场景。

2.2. excludes any、excludes all和is any

根据contains any过滤条件的功能,可以设置excludes any的过滤条件:864cccc0cec577413d63286bb824b521.png图:excludes any条件配置规则后产生的日志中就不会包含Explorer.exe和procexp64.exe进程打开其它进程的日志。is any过滤条件的作用是精确匹配分号分隔的多个值中的一个,作用类似于contains any过滤条件。这里不做详细测试。七、总结

新增加的文件删除监控功能极大提高了防御人员的检测能力,提供了捕获文件的方法,对于一些带有自删除功能的木马后门,以及破坏系统数据的恶意程序等有很好的防御效果。但是在实际生产环境中使用这项功能时,一定要仔细选择要监控的文件位置,避免被备份的系统文件、临时文件等占满磁盘空间。新增的五个过滤条件中contains all和excludes all还未能发现正确的使用方法,应用其它三个条件时,对同一属性的多个不同值可以列入一条规则中,可以提高规则的灵活性并降低规则复杂度。但是实际测试中也发现一些问题,例如通过CMD删除文件不记录的情况,只能寄希望后续版本修复该bug。

附录

新版本配置文件sysmon-modular项目:

https://github.com/olafhartong/sysmon-modular

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

maya导出fbx没动画_Maya学习方法总结

关注我&#xff0c;一起来了解建模吧&#xff01;今天小编就来总结一下Maya学习过程中遇到的困难和解决方法&#xff0c;我相信有一些应该也是普遍性问题&#xff0c;注意&#xff1a;小编说的版本是Maya2018。&#xff08;1&#xff09;一次性删除所有帧的方法import的文件如果…

dev 中 gridcontrol1 滚动条重绘_浏览器的重绘和回流(Repaint amp; Reflow)

参考文献&#xff1a;https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-tree-construction?hlzh-cn​developers.google.com你真的了解回流和重绘吗 Issue #4 chenjigeng/blog​github.com前言&#xff1a;重绘&#xff1a;由于…

矿井通风计算c语言_矿井通风机主要参数的含义

矿井通风机的作用就是把地面新鲜空气送到井下&#xff0c;供工人呼吸&#xff0c;同时把有害气体从井下排出&#xff0c;使有害气体的浓度降到对人体无害的程度&#xff0c;在现代化煤矿中称通风机为“矿井的肺脏”&#xff0c;可见其重要性。风机的参数是风机选型的唯一依据&a…

行健设计_行健要闻|“第四届‘天行健创新创业设计大赛”培训班成功举办

10月9日下午&#xff0c;由院团委主办、商学部承办第四届“天行健”创新创业设计大赛动员大会暨首场培训讲座在教学楼4-103室成功启动。院团委副书记唐典巧参加动员会&#xff0c;并颁发了第九届“挑战杯”广西大学生课外学术科技作品竞赛荣誉证书&#xff0c;动员会由商学部辅…

ip地址转换pta题目_PTA「实验2-3-5 输出华氏-摄氏温度转换表」

PTA是浙江大学设计类实验辅助教学平台。题目描述输入2个正整数lower和upper&#xff08;lower≤upper≤100&#xff09;&#xff0c;请输出一张取值范围为[lower&#xff0c;upper]、且每次增加2华氏度的华氏-摄氏温度转换表。温度转换的计算公式&#xff1a;C5(F−32)/9&#…

语言爬虫字段为空_我为什么建议前端将Python 作为第二语言?

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者&#xff1a; 前端劝退师PS&#xff1a;如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://note.youdao.com/noteshare?id3054c…

5 获取当前访问的控制名称_LabVIEW编程技巧:网络通信中如何获取计算机名称、IP地址等信息...

问题引出在网络通讯编程中&#xff0c;经常需要获取当前主机的名称、IP地址等信息&#xff0c;在LabVIEW中如何获取这些信息呢&#xff1f;下面以本机为例进行说明&#xff0c;先看一下本机的信息。在Windows系统中打开控制台程序&#xff0c;输入“ipconfig /all”指令&#x…

postman生成python代码_别再用手敲了,这个工具可以自动生成python爬虫代码

我们在写爬虫代码时&#xff0c;常常需要各种分析调试&#xff0c;而且每次直接用代码调试都很麻烦所以今天给大家分享一个工具&#xff0c;不仅能方便模拟发送各种http请求&#xff0c;还能轻松调试&#xff0c;最重要的是&#xff0c;可以将调试最终结果自动转换成爬虫代码&a…

电工结业试卷_电工技术基础结业考试试卷

电工技术基础结业考试试卷适用年级2016级秋6班电子、计算机专业班级 姓名 学号一、 判断题(每题2分&#xff0c;共30分)1、 电位越高则电压越大。2、万用表的电压、电路及电阻档的刻度都是均匀的。3、 在任何情况下&#xff0c;电压源和电流源之间总是可以等效变换的。 4、 电容…

表格里面怎么打多个√_Excel怎样在表格里打√?

我们做表的时候有时会遇到输入对或错的情况。Excel表格里面输入√和&#xff0c;普通的方法是直接插入特殊符号来进行对勾的输入。这样输入起来1个2个还可以接受&#xff0c;但是如果频繁输入&#xff0c;那我们得想想简单方法。比如我们直接在excel单元格里面输入1显示√&…

@value 默认值为null_JAVA8之妙用Optional解决判断Null为空的问题

引言在文章的开头&#xff0c;先说下NPE问题&#xff0c;NPE问题就是&#xff0c;我们在开发中经常碰到的NullPointerException.假设我们有两个类&#xff0c;他们的UML类图如下图所示在这种情况下&#xff0c;有如下代码user.getAddress().getProvince();这种写法&#xff0c;…

mysql百万数据根据索引查询_mysql创建多列索引查询百万表数据的性能优化经验分享...

最近发现最代码网站中的收到的评论&#xff0c;提到我的&#xff0c;心情被赞的查询异常缓慢&#xff0c;通过nginx日志发现响应时间快的在5s&#xff0c;慢的有13s&#xff0c;终于忍无可忍花时间来解决了。执行explain之后的截图如下&#xff1a;可以看到possible_keys中有很…

php用到的mysql语句_PHP中常用到的一些MySQL语句_php

在php开发中&#xff0c;经常会使用到mysql语句&#xff0c;下面就为您列举了一些经常使用的MySQL语句&#xff0c;希望对您平时的学习和开发工作能起到些许的作用。MySQL语句显示数据库或表:show databases;//然后可以use database_name;show tables;MySQL语句更改表名:alter …

mysql执行计划性能_MySQL SQL性能分析Explain执行计划

一. 执行计划返回信息详解①. 执行计划所含字段输出列含义id查询标识select_type查询类型table查询涉及的表partitions匹配到的分区信息type连接类型possible_keys可能选择的索引key实际使用的索引key_len实际使用的索引的长度ref和索引进行比较的列rows需要被检索的大致行数fi…

mysql定时作业_mysql 让一个存储过程定时作业的代码(转)

1、在mysql 中建立一个数据库 test1语句&#xff1a;create database test12、创建表examinfocreate table examinfo(id int auto_increment not null,endtime datetime,primary key(id));3 插入数据&#xff1a;insert into examinfo values(‘1‘,‘2011-4-23 23:26:50‘);4 …

table虚线边框_web前端工程师7天0基础到精通(TABLE+CSS制作《互联世纪网》)

项目七 项目实践&#xff1a;TABLECSS制作《互联世纪网》实践目标1、 熟悉CSS属性2、 熟练运用CSS属性控制网页样式3、 熟悉网页制作流程项目简介&#xff1a;通过上一章节的学习&#xff0c;我们了解了CSS样式能更加方便、有效地控制网页结构和布局网页元素&#xff0c;大大提…

mixamo骨骼_mixamo动作库的模型和动作绑定控制器的方法-上集

1.首先从网站下载带调好动作的文件fbx&#xff0c;我们将fbx场景文件转换成c4d场景文件。没转换之前转换之后选择场次&#xff0c;在文件菜单里找到当前场次到新文档&#xff01;2.我们将模型重置为Tpose方便后续操作&#xff0c;没重置之前模型为k好的动作模式不能使用选中权重…

mysql 101_MySQL 调优/优化的 101 个建议!

原文&#xff1a;http://www.monitis.com/blog/101-tips-to-mysql-tuning-and-optimization/MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多&#xff0c;MySQL逐渐遇到了瓶颈。这里提供 101 条优化 MySQL 的建议。有些技巧适合特定的安装环境&#xff0c;但是思路是相…

数据安全:保护个人隐私和企业机密的关键

在当今数字化时代&#xff0c;数据已经成为了一种宝贵的资源。无论是个人还是企业&#xff0c;都离不开数据的支持。然而&#xff0c;随着数据的不断增长和广泛应用&#xff0c;数据安全问题也日益突出。数据泄露、黑客攻击、网络诈骗等安全事件层出不穷&#xff0c;给个人和企…

python批量跑plsql_python实现自动化报表(Oracle/plsql/Excel/多线程)

# -*- coding: utf-8 -*-# Create time: 2019-10-16# Update time: 2019-11-28# Version: 1.0# Version: 2.0 增加多线程/出错自动重新运行模块# 导入模块import cx_Oracleimport osimport pandas as pdimport pandas.io.sql as sqlimport timeimport openpyxlimport xlwings a…