跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

Windows事件查看器日志(EVT)单一日志清除(一)——删除的思路和实例

精选回复

发布于

0x00 前言

Windows事件查看器日志(evt),清除单条日志系列文章的第一篇,重点介绍EVT日志文件的基础知识以及删除单条日志的实现思路和实例。

Windows事件查看器日志(EVT)适用于以下windows系统:

Windows NT 4

Windows 2000

Windows XP

Windows 2003

注:

Windows XML事件日志(EVTX)在Win7和更高版本系统中的应用在前面已经介绍过了。

0x01 简介

本文将介绍以下内容:

Evt文件格式

关于删除单条日志的思考

删除单个日志的实例

0x02 基础知识

Ev文件格式是指Windows Vista之前用来保存系统日志信息的文件,最常见的是XP和Server2003系统。

日志的默认保存位置:%systemroot%\system32\config

通用日志文件:

应用程序日志:AppEvent。等粘温度

安全日志:SecEvent。等粘温度

系统日志:SysEvent。等粘温度

查看日志的方法

(1) 通过界面

cmd -事件

(2) 通过命令行

查询系统日志并输出详细信息:

cscript c:\ windows \ system32 \ event query . VBS/l system/v

查询指定时间(2017.12.05,01:00:00AM到2018.01.02,10:00:00AM)的系统日志:

cscript c:\ windows \ system32 \ event query . VBS/l system/fi '日期时间eq 12/05/2017,01:00:00AM-01/02/2018,10:00:00AM '

官方参数描述:

https://docs . Microsoft . com/en-us/previous-versions/windows/it-pro/windows-XP/bb 490900(v=TechNet . 10)

evt文件格式

参考资料:

https://github . com/libyal/lib evt/blob/master/documentation/Windows事件日志(EVT) format.asciidoc

Evt文件结构由三部分组成:

文件标题

事件记录

文件记录结束

尾随空值

注:

Header保存了evtx文件的基本信息,特别是文件结束记录偏移量、最后(最新)记录号和最大文件大小。

事件记录对应于每个日志的内容,值得注意的是记录编号。

文件结束记录的固定结构,特别是文件结束记录偏移量和最后(最新)记录号。

尾随空值是一个尾随空值,用于填充文件长度。内容是任意的,不会影响evtx文件的有效性。

(1) file header

格式可以参考:

https://github . com/libyal/lib evt/blob/master/documentation/Windows事件日志(EVT)format . asciidoc # 2-file-header

前48位没有校验和标志位。

以下五项需要正确配置:

第一个(最早的)记录偏移量

文件记录结束偏移量

最后(最新)记录号

第一个(最早的)记录号

最大文件大小

(2) event records

格式可以参考:

https://github . com/libyal/lib evt/blob/master/documentation/Windows事件日志(evt)格式. asciidoc # 3-事件记录

修改记录号(即使重复)不影响日志文件的正常识别。

(3) end of file record

格式可以参考:

https://github . com/libyal/lib evt/blob/master/documentation/Windows事件日志(EVT)format . asciidoc # 4-文件结束记录

与文件头相同,需要正确配置以下四项:

第一个(最早的)记录偏移量

文件记录结束偏移量

最后(最新)记录号

第一个(最早的)记录号

0x03 删除思路

由于evt文件中没有检查值,我们可以在删除单个日志时使用以下过程:

直接删除日志内容。

日志稍后更新记录号(减1)

更新文件头中的五个项目。

更新文件记录末尾的四个项目。

0x04 删除实例

查看日志:

cmd -事件

在system下总共得到9个日志,如下图所示

2-1.png

选择系统,右键单击,然后选择将日志文件另存为.将日志文件另存为sys1.evt

注:

复制文件SysEvent。%systemroot%\system32\config下的Evt,生成的日志文件无法正常打开。

原因:

%systemroot%\system32\config下的evt文件的文件头没有同步更新,导致打开evt文件时出现格式错误。

修复文件头后,文件可以正常打开。

Sys1.evt已上传,下载地址为:

https://github.com/3gstudent/Eventlogedit-evt-通用/blob/master/sys1.evt

打开eventvwr中的日志,日志类型,选择系统,成功打开。

该文件包含9个日志。尝试删除下面的第五条日志,如下图所示。

2-2.png

1、定位第5条日志

搜索4c664c6505000000

4c664c65是ELF_LOG_SIGNATURE,结构固定。

0000000是记录号。

2、删除第5条日志

起始位置为4c664c6505000000的前4个字节

删除长度为4c664c6505000000的前4个字节。

如下图

3-1.png

起始位置是0x320h。

删除长度为0x00000070h(即112)。

补充:

通过UltraEdit的操作:

选择0x320h作为起始位置,右键单击并选择十六进制插入/删除。

选择删除并填写删除字节数112。

3、后面日志更新Record number(减1)

即第6、7、8和9个日志的记录号。

4、更新file header中的三项

(1) End of file record offset

文件头偏移量20处的4个字节

保存的内容是文件结束记录的起始地址。

两种计算方法:

原始地址-第5条日志的长度(112)

找到文件记录的结尾并直接获取它。

新的文件记录结束偏移量是0x00000640h。

(2) Last (newest) record number

文件头偏移量24处的4个字节

该值减1,并从0x0000000A变为0x0000009。

(3) Maximum file size

文件头偏移量32处的4个字节

的新最大文件大小为0x00000668h。

5、同步更新end of file record中的两项

文件记录结束偏移量

最后(最新)记录号

修改后另存为新文件sys2.evt。

下载地址:

https://github.com/3gstudent/Eventlogedit-evt-通用/blob/master/sys2.evt

成功删除第5条日志。

如下图

3-2.png

0x05 小结

介绍了evt日志文件的基础知识和删除单个日志的实现思路。一个示例展示了如何修改evt文件并隐藏其中一个日志。

下一篇文章将介绍如何根据前面的研究思路写一个程序自动删除指定日期的日志。

留下回复

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。