文章目录
前言
本文主要介绍了如何利用命令行来获取或者清除文件执行记录等日志。对日志的删除需要在管理员权限下才可以,图形化界面查看日志的命令为eventvwr。
日志查看
1. 进程创建记录
进程创建记录事件id一般为(592/4688),可以通过命令行的命令进行查看:
wevtutil qe security /rd:true /f:text /q:"Event[System[(EventID=4688)]]"
2.Program Inventory Event Log
主要用于记录软件活动摘要、安装的程序、安装的Internet Explorer加载项、更新的应用程序、已删除的应用程序,相关事件id如下:
800 (summary of software activities)
900 & 901 (new Internet Explorer add-on)
903 & 904 (new application installation)
905 (updated application)
907 & 908 (removed application)
查询命令:
wevtutil qe /f:text Microsoft-Windows-Application-Experience/Program-Inventory
3.Program-Telemetry Event Log
在应用程序启动时为应用程序处理应用程序兼容性缓存请求,相关事件id:500/505
wevtutil qe /f:text Microsoft-Windows-Application-Experience/Program-Telemetry
4.查询特定类别日志
日志一共分五种:
application
security
setup
system
forwarded events
#查询应用日志的方法
wevtutil qe /f:text Application
#查询应用日志的整体状态信息
wevtutil gli Application
日志删除
1.删除全部的某类日志
#删除全部的应用日志
wevtutil gli Application
wevtutil cl Application
wevtutil gli Application
2.逐条删除日志
2.1 导出Security
#这条命令可以导出日志文件,下面的wevtutil epl命令也会导出,所以执行下面的命令的时候不用事先导出日志文件。
wevtutil.exe epl Security 1.evtx
2.2批量删除指定条目的日志
#删除security下指定eventrecordID的日志记录
wevtutil epl Security 1.evtx "/q:*[System [(EventRecordID>13032) or (EventRecordID<13030)]]"
#删除指定systemtime区间的日志
1.查询最新的一条日志的事件
wevtutil.exe qe Security /f:xml /rd:true /c:1
wevtutil.exe qe Security /f:text /rd:true /c:1
发现一个是早晨9.09,一个是下午的17.09。我们删除这两个时间段之间的所有日志,并将结果保存为1.evtx:
wevtutil epl Security 1.evtx "/q:*[System [TimeCreated[@SystemTime >'2020-12-28T09:09:35' or @SystemTime <'2020-12-28T17:09:35']]]"
2.3 还原evtx文件
没找到方案。
绕过windows的日志记录功能
绕过原理:
Windows日志对应于eventlog服务,找到该服务对应的进程svchost.exe,进而筛选出svchost.exe进程中具体实现日志功能的线程,调用TerminateThread结束线程,破坏日志记录功能,实现日志功能的线程都有个共同点,那就是调用了wevtsvc.dll。
工具实现:
Invoke-Phant0m
执行命令Invoke-Phant0m
即可:
powershell -exec bypass "Import-Module C:\Users\test\Desktop\Invoke-Phant0m.ps1;Invoke-Phant0m"
恢复net start eventlog
参考文章
windows取证——文件执行记录的获取和清除
渗透技巧——Windows单条日志的删除
渗透技巧——Windows日志的删除与绕过