AD域启用使用命令创建进程时记录详细命令行
AD域启用使用命令创建进程时记录详细命令行
0X01 前言
要记录Windows域控制器(DC)上通过 cmd
执行的命令及启动程序的完整命令行信息,可以通过以下步骤配置系统审核策略和日志记录功能:
方法 1:通过组策略启用命令行审核(建议配置)
启用进程创建审核策略
打开 组策略管理编辑器(
gpmc.msc
),定位到域控制器的组策略对象(GPO)。导航路径:
1
计算机配置 > 策略 > Windows 设置 > 安全设置 > 高级审核策略配置 > 审核策略 > 详细跟踪
启用 审核进程创建,勾选 成功 和 失败。
确保勾选 包括命令行(关键步骤)。
启用命令行参数记录
在组策略中启用以下策略:
1
计算机配置 > 管理模板 > 系统 > 审核进程创建
启用 在创建事件时包括命令行,并设置为 已启用。
应用组策略
在域控制器上以管理员身份运行命令更新组策略:
1
gpupdate /force
方法 2:通过PowerShell脚本块日志记录(可选)
若需记录PowerShell命令,可补充配置:
启用脚本块日志记录:
1
2
3
4# 启用模块日志记录
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging" -Name "EnableModuleLogging" -Value 1
# 启用脚本块日志记录
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" -Name "EnableScriptBlockLogging" -Value 1
查看日志
通过事件查看器定位日志
打开 事件查看器(
eventvwr.msc
),导航到:1
Windows 日志 > 安全
筛选事件ID
4688
(进程创建事件),查看详细信息中的Process Command Line
字段。
使用XML筛选器快速定位
在事件查看器中自定义筛选器,使用以下XML查询:
1
2
3
4
5
6
7<QueryList>
<Query Id="0">
<Select Path="Security">
*[EventData[Data[@Name='CommandLine']]
</Select>
</Query>
</QueryList>
方法 3:使用Sysmon增强日志(推荐)
微软的 Sysinternals Sysmon 工具可提供更详细的日志记录(包括哈希、签名信息):
下载并安装Sysmon:
1
sysmon.exe -i -accepteula
配置Sysmon规则(示例规则):
1
2
3
4
5<Sysmon schemaversion="4.81">
<EventFiltering>
<ProcessCreate onmatch="exclude"/> <!-- 默认记录所有进程创建事件 -->
</EventFiltering>
</Sysmon>日志将记录在:
1
应用程序和服务日志 > Microsoft > Windows > Sysmon > Operational
验证配置
- 在cmd中执行任意命令(如
ping example.com
),检查事件查看器中是否生成包含完整命令行的日志。
日志管理建议
- 定期归档日志:避免日志文件过大导致磁盘空间不足。
- 配置日志覆盖策略:在事件查看器中设置日志最大大小和覆盖规则。
AD域启用使用命令创建进程时记录详细命令行
https://hesc.info/post/ad-domain-enables-detailed-command-line-when-using-commands-to-create-a-process-zeuety.html