文章目录
引言
本文基于一次真实的安全日志审计排查过程整理而成,系统讲解如何利用 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-Process 的 StartTime 列可直接回答"这个程序是什么时候启动的",是日常排错最快的手段。
3. 历史审计:开启审核进程创建(Event ID 4688)
当需求变为"过去某时段谁启动了什么程序",就要用到 Windows 的"高级审核策略"。
3.1 开启审核策略(关键前置)
Win + R→ 输入secpol.msc回车。- 依次展开:高级审核策略配置 → 系统审核策略 - 本地组策略对象 → 详细跟踪 → 审核进程创建

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\System32 | C:\Users\...\AppData\Local\Temp、C:\ProgramData 下可疑目录 |
| 父进程关系 | 父子关系符合常识(chrome→chrome、服务→代理) | 非常规父进程(如 winword.exe 启动 powershell.exe) |
| 完整性级别 | Medium / Low | High(非预期地拿到管理员权限) |
| 账户 | 当前登录用户 / SYSTEM(服务) | 异常账户、服务账户被用于交互式启动 |
| 命令行 | 为空或符合程序常规参数 | 含 -enc / -encoded / -nop / -w hidden 等 PowerShell 混淆特征 |
| 签名 | 微软 / 知名厂商签名 | 无签名或签名无效 |
实践中建议结合 Process Explorer 的"数字签名"列与 VirusTotal 信誉检查交叉验证可疑镜像。
6. 总结
- 实时看进程用任务管理器 / Process Explorer /
Get-Process,无需配置。 - 历史审计依赖 Event ID 4688,必须提前开启"审核进程创建",且不具备追溯性。
- 4688 日志的研判核心在于:镜像路径 + 父进程关系 + 完整性级别(Mandatory Label)+ 启动账户 + 命令行。
- Medium/Low 完整性级别通常代表正常降权运行;Low = 浏览器/沙箱隔离是安全设计而非威胁;真正需要重点关注的非预期获得 High 完整性级别的进程。
- 对不确定来源的进程,先通过签名、路径、父进程关系做合法性判定,再决定保留或卸载清理。
附录:常用命令速查
# 实时:按启动时间倒序列出进程
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 / 安全管理员授权。
:技术解析与实战&spm=1001.2101.3001.5002&articleId=163834059&d=1&t=3&u=a5e9a7d2d5114eed93c98f9ed5e3f13e)
344

被折叠的 条评论
为什么被折叠?



