首页/安全/应急响应速查/进程创建审计 4688 排查

进程创建审计 4688 排查

开启审核后 4688 记录进程创建,用它还原入侵者在主机上执行过的程序;命令行参数需额外开启才会出现。

应急响应速查安全更新于 2026-10-13

4688 记录什么

开启进程创建审核后,4688 事件记录每一个新进程:进程名与 PID、父进程,以及额外启用后记录的命令行参数。它是还原「攻击者在本机执行过什么」最直接的一类日志。

为什么看不到命令行

默认情况下命令行不记录,需要在审核策略里单独开启「包含命令行」选项。排查前先用 auditpol 确认策略状态,再判断「日志里没有参数」的原因,避免把配置问题误当成没有活动。

基本信息

事件4688 新进程创建(Security 通道)
关键字段NewProcessName、CommandLine、ParentProcessName、SubjectUserName
前提审核策略开启进程创建;命令行需额外启用
查询方式Get-WinEvent 配合 FilterHashtable
策略检查auditpol /get /subcategory:"Process Creation"
权限要求读取 Security 通道需管理员

典型使用场景

  • 还原攻击者执行的命令与工具链
  • 追踪父进程链,判断入侵入口
  • 与 4104 脚本块日志互相印证
  • 确认清理动作是否被重新触发
  • 复盘时给出进程执行时间线

查询进程创建并确认审计状态

查询进程创建并确认审计状态
auditpol /get /subcategory:"Process Creation"       # 确认审核与命令行开关
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4688; StartTime=(Get-Date).AddHours(-24)} -MaxEvents 100 |
  Select-Object TimeCreated, @{n='Proc';e={$_.Properties[5].Value}}, @{n='Cmd';e={$_.Properties[8].Value}}, @{n='Parent';e={$_.Properties[13].Value}} | Format-Table -AutoSize
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4688} -MaxEvents 1 | ForEach-Object { $_.Properties | ForEach-Object { $_.Value } }
Get-WinEvent -LogName Security -MaxEvents 5000 | Where-Object { $_.Id -eq 4688 } | Where-Object { $_.Message -match 'Temp|AppData|powershell -enc' } | Select-Object -First 20 TimeCreated, Message

输出逐列读法

字段含义正常/异常
NewProcessName新建进程的可执行路径位于临时目录或用户目录需重点核查
CommandLine启动参数出现编码命令、下载参数属高可疑
ParentProcessName创建者的可执行路径父进程为办公软件或 Web 服务说明入口异常
SubjectUserName发起用户服务账号发起交互式命令需核实原因
引用进程字段前先核对字段索引:不同系统与版本的事件结构略有差异,硬编码下标容易读错进程与命令行。
4688 数据量很大:先按时间窗、进程名或父进程过滤再导出,全量导出既慢又难分析,导出后同样要计算哈希并登记。

导出留档与 IOC 整理

导出留档与 IOC 整理
$ev = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4688; StartTime=(Get-Date).AddDays(-1)} -ErrorAction SilentlyContinue
$ev | Select-Object TimeCreated, @{n='Proc';e={$_.Properties[5].Value}}, @{n='Cmd';e={$_.Properties[8].Value}} | Export-Csv C:\evidence\p4688.csv -NoTypeInformation -Encoding UTF8
Get-FileHash C:\evidence\p4688.csv -Algorithm SHA256 | Format-List

分析要点

  • 关注 powershell 与 cmd 的异常调用与父进程
  • 关注临时目录、用户目录下出现的可执行文件
  • 把 4688 与 4624 的登录时间对齐
  • 将可疑命令行整理成 IOC 清单供后续排查

易错点

  • 以为 4688 一定含命令行:默认不记录,需单独启用该审核选项
  • 全量导出不做过滤:数据量极大,分析效率低且容易漏掉关键行
  • 硬编码字段索引:不同系统事件结构不同,取错下标会得到错误结论
  • 只看进程名不看父进程:入口与提权路径往往体现在父进程链上
  • 不核对审核策略生效时间:策略开启之前的活动根本不在日志里

数据来源与参考

  • Microsoft Learn:4688 事件说明
  • Microsoft Learn:auditpol 进程创建审核

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌