Windows 进程创建审计(事件 ID 4688):技术解析与实战

引言

本文基于一次真实的安全日志审计排查过程整理而成,系统讲解如何利用 Windows 自带的"审核进程创建"(Event ID 4688)机制,区分"实时进程查看"与"历史进程审计"两类需求,并对典型 4688 日志字段做逐条解读与安全性研判。

版本
系统版本 23H2 (OS 内部版本 22631.6199)

1. 背景:两类"查看进程"的需求

在 Windows 故障排查与安全取证中,"查看进程"通常分为两个截然不同的场景:

需求本质是否需预配置典型工具
查看当前正在运行的进程实时态查询否(系统自带)任务管理器 / Get-Process
追溯历史上被打开的进程事后审计(4688)是,需提前开启审核策略事件查看器 / PowerShell

很多用户误以为"Windows 应自动记录所有开过的程序"——事实上默认情况下系统并不记录进程创建事件,必须手动开启"审核进程创建"策略后才会开始记录,且审核不具备追溯性,开启前的历史无法补录。

2. 实时查看:当前运行中的进程

以下工具无需任何配置,适合回答"此刻跑着什么 / 某进程何时启动"。

2.1 图形化工具

  • 任务管理器Ctrl + Shift + Esc,切到"详细信息"视图可看 PID、CPU、内存;"启动"选项卡管理开机自启。
  • 资源监视器(resmon:比任务管理器更深,可看进程级文件句柄、网络连接、磁盘读写。
  • Process Explorer(Sysinternals,微软官方):进程树可视化、父进程关系、数字签名、VirusTotal 信誉检查,堪称任务管理器的"专业版"。

2.2 命令行 / PowerShell

# 列出所有进程,并按启动时间倒序
Get-Process | Select-Object ProcessName, Id, StartTime | Sort-Object StartTime -Descending
:: 命令提示符下列出进程,或按名称过滤
tasklist
tasklist /fi "IMAGENAME eq chrome.exe"

Get-ProcessStartTime 列可直接回答"这个程序是什么时候启动的",是日常排错最快的手段。

3. 历史审计:开启审核进程创建(Event ID 4688)

当需求变为"过去某时段谁启动了什么程序",就要用到 Windows 的"高级审核策略"。

3.1 开启审核策略(关键前置)

  1. Win + R → 输入 secpol.msc 回车。
  2. 依次展开:高级审核策略配置 → 系统审核策略 - 本地组策略对象 → 详细跟踪 → 审核进程创建
    在这里插入图片描述

ps: 其它系统路径可尝试:计算机配置 → Windows 设置 → 安全设置 → 高级审核策略配置 → 系统审核策略 → 详细跟踪 → 审核进程创建
4. 双击,勾选"成功",确定。

3.3 查看 4688 事件

事件查看器: eventvwr.msc → Windows 日志 → 安全 → 右侧"筛选当前日志" → 事件 ID 填 4688
在这里插入图片描述

# PowerShell 一行筛选最近 100 条进程创建事件
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4688} -MaxEvents 100

每条 4688 事件通常包含:时间戳、New Process Name(可执行文件路径)、Creator Process Name(父进程)、Account Name(发起用户)、进程 ID;开启命令行审核后还会附带 Process Command Line。

注意: 4688 不只记录"用户主动打开"的程序,Windows 服务、安装器、后台组件、计划任务都会产生 4688,一次应用启动往往对应多条记录。

4. 4688 日志字段深度解读

下面以真实日志为例,演示如何逐字段研判。

Chrome 渲染器沙箱子进程

新进程名称 : C:\Program Files\Google\Chrome\Application\chrome.exe
创建者进程 : C:\Program Files\Google\Chrome\Application\chrome.exe
创建者账户 : yeahmao\Knine
目标主题   : NULL SID / 登录 ID 0x0
令牌提升   : TokenElevationTypeLimited (3)
完整性级别 : Mandatory Label\Low Mandatory Level ← 关键

研判结论: Chrome 多进程架构下的正常渲染器(Renderer)沙箱子进程。

  • Chrome 采用多进程架构:浏览器主进程(Medium)、渲染器进程(Low)、GPU 进程、扩展进程各司其职。
  • Low Mandatory Level 是 Chrome 沙箱的核心:该进程几乎不能写入用户文件或关键注册表位置,即使网页恶意代码攻破渲染器,也难以影响系统其余部分。
  • 目标主题为 NULL SID / 登录 ID 0x0:因为子进程不建立新登录会话,直接继承父进程登录上下文后降权,属正常格式,并非匿名/隐藏进程。

5. 研判 Checklist:如何快速判断 4688 是否异常

在安全日志审计中,可按下表快速分级:

观察项正常信号需警惕信号
镜像路径C:\Program Files\*C:\Windows\System32C:\Users\...\AppData\Local\TempC:\ProgramData 下可疑目录
父进程关系父子关系符合常识(chrome→chrome、服务→代理)非常规父进程(如 winword.exe 启动 powershell.exe
完整性级别Medium / LowHigh(非预期地拿到管理员权限)
账户当前登录用户 / SYSTEM(服务)异常账户、服务账户被用于交互式启动
命令行为空或符合程序常规参数-enc / -encoded / -nop / -w hidden 等 PowerShell 混淆特征
签名微软 / 知名厂商签名无签名或签名无效

实践中建议结合 Process Explorer 的"数字签名"列与 VirusTotal 信誉检查交叉验证可疑镜像。

6. 总结

  1. 实时看进程用任务管理器 / Process Explorer / Get-Process,无需配置。
  2. 历史审计依赖 Event ID 4688,必须提前开启"审核进程创建",且不具备追溯性。
  3. 4688 日志的研判核心在于:镜像路径 + 父进程关系 + 完整性级别(Mandatory Label)+ 启动账户 + 命令行
  4. Medium/Low 完整性级别通常代表正常降权运行;Low = 浏览器/沙箱隔离是安全设计而非威胁;真正需要重点关注的非预期获得 High 完整性级别的进程。
  5. 对不确定来源的进程,先通过签名、路径、父进程关系做合法性判定,再决定保留或卸载清理。

附录:常用命令速查

# 实时:按启动时间倒序列出进程
Get-Process | Select-Object ProcessName, Id, StartTime | Sort-Object StartTime -Descending

# 审计:读取最近 100 条进程创建事件
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4688} -MaxEvents 100

# 审计:仅看含命令行信息的 4688(需已开启命令行审核)
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4688} -MaxEvents 200 |
    Where-Object { $_.Message -match "Process Command Line" }
:: 列出进程 / 按名称过滤
tasklist
tasklist /fi "IMAGENAME eq chrome.exe"

说明: 本文涉及的操作(如修改组策略、卸载软件、删除服务/证书)请以当前官方文档与最新系统版本为准;在生产或公司配发设备上操作前,建议先取得 IT / 安全管理员授权。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫逐梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值