快捷搜索:  汽车  科技

windows事件日志包括安全日志(WindowsXMLEvent)

windows事件日志包括安全日志(WindowsXMLEvent)本文将要介绍以下内容:0x01 简介Windows XML Event Log (EVTX)单条日志清除(三)——通过解除文件占用删除当前系统单条日志记录Windows XML Event Log (EVTX)单条日志清除(二)——程序实现删除evtx文件的单条日志记录Windows XML Event Log (EVTX)单条日志清除(一)——删除思路与实例

Windows XML Event Log (EVTX)单条日志清除(五)——通过DuplicateHandle获取日志文件句柄删除当前系统单条日志记录

0x00 前言

Windows单条日志清除系列文章的第五篇,介绍第三种删除当前系统单条日志记录的方法:枚举当前系统的所有进程,获得指定日志文件的句柄,通过DuplicateHandle复制句柄,获得权限,利用该句柄实现日志文件的修改

Windows XML Event Log (EVTX)单条日志清除(四)——通过注入获取日志文件句柄删除当前系统单条日志记录

Windows XML Event Log (EVTX)单条日志清除(三)——通过解除文件占用删除当前系统单条日志记录

Windows XML Event Log (EVTX)单条日志清除(二)——程序实现删除evtx文件的单条日志记录

Windows XML Event Log (EVTX)单条日志清除(一)——删除思路与实例

0x01 简介

本文将要介绍以下内容:

  • 利用思路
  • 程序实现
  • 枚举所有进程,获得指定文件句柄
  • 通过DuplicateHandle复制句柄
  • 开源实现代码

0x02 利用分析


上篇文章《Windows XML Event Log (EVTX)单条日志清除(四)——通过注入获取日志文件句柄删除当前系统单条日志记录》提到,某些条件下,高版本的Windows系统不允许注入保护进程svchost.exe,而我们又不想停掉日志服务,那么该怎么办呢?

2、使用WinAPI EvtExportLog,过滤出想要删除的内容

https://github.com/3gstudent/Eventlogedit-evtx--Evolution/blob/master/DeleteRecordbyGetHandleEx.cpp

代码实现了读取指定路径下的日志文件内容,用来覆盖系统日志

测试如下图

windows事件日志包括安全日志(WindowsXMLEvent)(1)

通常做法是先将日志线程挂起,使得系统无法继续收集日志,代码地址如下:

https://github.com/3gstudent/Eventlogedit-evtx--Evolution/blob/master/SuspendorResumeTid.cpp

接着读取系统日志内容,删除指定日志,将新日志保存,代码如下:

https://github.com/3gstudent/Eventlogedit-evtx--Evolution/blob/master/DeleteRecord-EvtExportLog.cpp

最后使用DeleteRecordbyGetHandleEx读取新日志,覆盖系统日志,实现日志删除

注:

对于以上两种方法,删除setup.evtx是没有问题的,删除system.evtx和security.evtx会存在因为竞争条件导致删除失败的情况

0x05 小结

本文介绍了第三种删除当前系统单条日志记录的方法:枚举当前系统的所有进程,获得指定日志文件的句柄,通过DuplicateHandle复制句柄,获得权限,利用该句柄实现日志文件的修改

优点是不需要注入进程svchost.exe,也就不需要考虑保护进程的注入绕过,并且不需要考虑进程间的信息传递,效率更高。

作者:3gstudent

欢迎来安全脉搏查看更多的干货文章和我们一起交流互动哦!

脉搏地址:安全脉搏 | 分享技术,悦享品质

微博地址:Sina Visitor System

猜您喜欢: