使用 Sysmon 检测恶意计划任务
概述
攻击者滥用 Windows 任务计划程序(schtasks.exe、at.exe)进行持久化(T1053.005) 和横向移动。Sysmon 事件 ID 1 捕获 schtasks.exe 进程创建及完整命令行参数, 事件 ID 11 捕获写入 C:\Windows\System32\Tasks\ 的任务 XML 文件。 Windows 安全事件 4698 记录任务注册详情。 本技能涵盖构建关联这些事件的检测规则,以识别从可疑路径创建、带编码 payload 或针对远程系统的恶意计划任务。
前置条件
- 安装了以检测为重点配置的 Sysmon(如 SwiftOnSecurity 或 Olaf Hartong)
- Windows 事件日志转发至 SIEM(Splunk、Elastic 或 Sentinel)
- 启用 PowerShell ScriptBlock 日志(事件 4104)
步骤
- 配置 Sysmon 以记录带任务相关过滤器的事件 ID 1、11、12、13
- 为带可疑参数的 schtasks.exe /create 构建检测规则
- 将事件 4698(任务注册)与 Sysmon 事件 1(进程创建)关联
- 狩猎从公共目录执行或使用编码命令的任务
- 对远程任务创建(schtasks /s)发出告警,用于横向移动检测
预期输出
[CRITICAL] 检测到可疑计划任务
Task: \Microsoft\Windows\UpdateCheck
Command: powershell.exe -enc SQBuAHYAbwBrAGUALQBXAGUAYgBSAGU...
Created By: DOMAIN\compromised_user
Parent Process: cmd.exe (PID 4532)
Source: \\192.168.1.50(远程创建)
MITRE: T1053.005 - 计划任务/作业