[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71FZYAERW5YGEXPAEFGFNFS":3,"skill-same:01M71FZYAERW5YGEXPAEFGFNFS":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":14,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M71FZYAERW5YGEXPAEFGFNFS","soc-hunting-schedtasks",null,"5. **Lateral Movement via Tasks**: Remote scheduled task creation using `schtasks \u002Fcreate \u002Fs REMOTE_HOST` for execution on other systems.","DCx7C5\u002Fai-marketplace","DCx7C5","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42419559?v=4","01M71C01G2AZV3NTNGWAWSHJPP","DC","01M71C01GQW6G50S2BYMS7PP3E",0,"MIT","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fsoc-hunting-schedtasks\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"soc hunting schedtasks","soc","hunting","creation","for","execution","remote","host","cybersecurity","scheduled","tasks","task","create","via","lateral movement","systems","2026-11-10 10:12:30",false,"---\nname: soc-hunting-schedtasks\ndescription: \"5. **Lateral Movement via Tasks**: Remote scheduled task creation using `schtasks \u002Fcreate \u002Fs REMOTE_HOST` for execution on other systems.\"\ndomain: cybersecurity\n---\n\n# Hunting for Suspicious Scheduled Tasks\n\n## When to Use\n\n- When proactively hunting for persistence mechanisms in Windows environments\n- After detecting schtasks.exe or at.exe usage in process creation logs\n- When investigating malware that survives reboots and user logoffs\n- During incident response to enumerate all persistence on compromised systems\n- When Windows Security Event ID 4698 (Scheduled Task Created) fires for unusual tasks\n\n## Prerequisites\n\n- Windows Security Event ID 4698\u002F4699\u002F4702 (Task Created\u002FDeleted\u002FUpdated)\n- Sysmon Event ID 1 for schtasks.exe process creation with command lines\n- Windows Task Scheduler operational log (Microsoft-Windows-TaskScheduler\u002FOperational)\n- PowerShell logging for Register-ScheduledTask cmdlet usage\n- Access to Task Scheduler XML definitions on endpoints\n\n## Workflow\n\n1. **Enumerate All Scheduled Tasks**: Collect complete task inventory from target systems using `schtasks \u002Fquery \u002Ffo CSV \u002Fv` or `Get-ScheduledTask` PowerShell cmdlet.\n2. **Monitor Task Creation Events**: Track Event ID 4698 for new task creation, correlating with the creating process and user account context.\n3. **Analyze Task Actions**: Examine what each task executes. Flag tasks running scripts (PowerShell, cmd, wscript), binaries from user-writable paths (TEMP, AppData, Downloads), or encoded\u002Fobfuscated commands.\n4. **Check Task Triggers**: Review trigger conditions. Tasks triggered by system startup, user logon, or short intervals (1-5 minutes) warrant investigation.\n5. **Identify Hidden or Disguised Tasks**: Hunt for tasks with names mimicking legitimate Windows tasks, tasks with Security Descriptor modifications hiding them from standard enumeration, or tasks stored in non-standard registry locations.\n6. **Correlate with Process Execution**: Match scheduled task execution events with process creation logs to confirm what actually runs.\n7. **Baseline and Diff**: Compare current task inventory against known-good baselines to identify new, modified, or unexpected tasks.\n\n## Detection Queries\n\n### Splunk -- Scheduled Task Creation\n```spl\nindex=wineventlog EventCode=4698\n| spath output=TaskName path=EventData.TaskName\n| spath output=TaskContent path=EventData.TaskContent\n| where NOT match(TaskName, \"(?i)(\\\\\\\\Microsoft\\\\\\\\|\\\\\\\\Windows\\\\\\\\)\")\n| table _time Computer SubjectUserName TaskName TaskContent\n```\n\n### Splunk -- Schtasks.exe Suspicious Usage\n```spl\nindex=sysmon EventCode=1 Image=\"*\\\\schtasks.exe\"\n| where match(CommandLine, \"(?i)\u002Fcreate\")\n| where match(CommandLine, \"(?i)(powershell|cmd|wscript|cscript|mshta|rundll32|regsvr32|http|https|\\\\\\\\temp\\\\\\\\|\\\\\\\\appdata\\\\\\\\)\")\n| table _time Computer User CommandLine ParentImage\n```\n\n### KQL -- Microsoft Sentinel\n```kql\nSecurityEvent\n| where EventID == 4698\n| extend TaskName = tostring(EventData.TaskName)\n| extend TaskContent = tostring(EventData.TaskContent)\n| where TaskContent has_any (\"powershell\", \"cmd.exe\", \"wscript\", \"http:\u002F\u002F\", \"https:\u002F\u002F\", \"\\\\Temp\\\\\", \"\\\\AppData\\\\\")\n| project TimeGenerated, Computer, Account, TaskName, TaskContent\n```\n\n## Common Scenarios\n\n1. **Cobalt Strike Persistence**: Creates scheduled tasks via schtasks.exe to execute PowerShell download cradles at user logon intervals.\n2. **Ransomware Staging**: Task created to run encryption payload at a future time, often during off-hours for maximum impact.\n3. **Hidden Task via SD Modification**: Attacker modifies Security Descriptor of scheduled task to hide it from normal enumeration while maintaining execution.\n4. **COM Handler Abuse**: Task uses COM handler rather than direct executable path, making action inspection more complex.\n5. **Lateral Movement via Tasks**: Remote scheduled task creation using `schtasks \u002Fcreate \u002Fs REMOTE_HOST` for execution on other systems.\n\n## Output Format\n\n```\nHunt ID: TH-SCHTASK-[DATE]-[SEQ]\nHost: [Hostname]\nTask Name: [Full task path]\nAction: [Command\u002FScript executed]\nTrigger: [Startup\u002FLogon\u002FTimer\u002FEvent]\nCreated By: [User account]\nCreated From: [Local\u002FRemote]\nCreation Time: [Timestamp]\nRun As: [Execution account]\nRisk Level: [Critical\u002FHigh\u002FMedium\u002FLow]\n```\n","# Hunting for Suspicious Scheduled Tasks\n\n## When to Use\n\n- When proactively hunting for persistence mechanisms in Windows environments\n- After detecting schtasks.exe or at.exe usage in process creation logs\n- When investigating malware that survives reboots and user logoffs\n- During incident response to enumerate all persistence on compromised systems\n- When Windows Security Event ID 4698 (Scheduled Task Created) fires for unusual tasks\n\n## Prerequisites\n\n- Windows Security Event ID 4698\u002F4699\u002F4702 (Task Created\u002FDeleted\u002FUpdated)\n- Sysmon Event ID 1 for schtasks.exe process creation with command lines\n- Windows Task Scheduler operational log (Microsoft-Windows-TaskScheduler\u002FOperational)\n- PowerShell logging for Register-ScheduledTask cmdlet usage\n- Access to Task Scheduler XML definitions on endpoints\n\n## Workflow\n\n1. **Enumerate All Scheduled Tasks**: Collect complete task inventory from target systems using `schtasks \u002Fquery \u002Ffo CSV \u002Fv` or `Get-ScheduledTask` PowerShell cmdlet.\n2. **Monitor Task Creation Events**: Track Event ID 4698 for new task creation, correlating with the creating process and user account context.\n3. **Analyze Task Actions**: Examine what each task executes. Flag tasks running scripts (PowerShell, cmd, wscript), binaries from user-writable paths (TEMP, AppData, Downloads), or encoded\u002Fobfuscated commands.\n4. **Check Task Triggers**: Review trigger conditions. Tasks triggered by system startup, user logon, or short intervals (1-5 minutes) warrant investigation.\n5. **Identify Hidden or Disguised Tasks**: Hunt for tasks with names mimicking legitimate Windows tasks, tasks with Security Descriptor modifications hiding them from standard enumeration, or tasks stored in non-standard registry locations.\n6. **Correlate with Process Execution**: Match scheduled task execution events with process creation logs to confirm what actually runs.\n7. **Baseline and Diff**: Compare current task inventory against known-good baselines to identify new, modified, or unexpected tasks.\n\n## Detection Queries\n\n### Splunk -- Scheduled Task Creation\n```spl\nindex=wineventlog EventCode=4698\n| spath output=TaskName path=EventData.TaskName\n| spath output=TaskContent path=EventData.TaskContent\n| where NOT match(TaskName, \"(?i)(\\\\\\\\Microsoft\\\\\\\\|\\\\\\\\Windows\\\\\\\\)\")\n| table _time Computer SubjectUserName TaskName TaskContent\n```\n\n### Splunk -- Schtasks.exe Suspicious Usage\n```spl\nindex=sysmon EventCode=1 Image=\"*\\\\schtasks.exe\"\n| where match(CommandLine, \"(?i)\u002Fcreate\")\n| where match(CommandLine, \"(?i)(powershell|cmd|wscript|cscript|mshta|rundll32|regsvr32|http|https|\\\\\\\\temp\\\\\\\\|\\\\\\\\appdata\\\\\\\\)\")\n| table _time Computer User CommandLine ParentImage\n```\n\n### KQL -- Microsoft Sentinel\n```kql\nSecurityEvent\n| where EventID == 4698\n| extend TaskName = tostring(EventData.TaskName)\n| extend TaskContent = tostring(EventData.TaskContent)\n| where TaskContent has_any (\"powershell\", \"cmd.exe\", \"wscript\", \"http:\u002F\u002F\", \"https:\u002F\u002F\", \"\\\\Temp\\\\\", \"\\\\AppData\\\\\")\n| project TimeGenerated, Computer, Account, TaskName, TaskContent\n```\n\n## Common Scenarios\n\n1. **Cobalt Strike Persistence**: Creates scheduled tasks via schtasks.exe to execute PowerShell download cradles at user logon intervals.\n2. **Ransomware Staging**: Task created to run encryption payload at a future time, often during off-hours for maximum impact.\n3. **Hidden Task via SD Modification**: Attacker modifies Security Descriptor of scheduled task to hide it from normal enumeration while maintaining execution.\n4. **COM Handler Abuse**: Task uses COM handler rather than direct executable path, making action inspection more complex.\n5. **Lateral Movement via Tasks**: Remote scheduled task creation using `schtasks \u002Fcreate \u002Fs REMOTE_HOST` for execution on other systems.\n\n## Output Format\n\n```\nHunt ID: TH-SCHTASK-[DATE]-[SEQ]\nHost: [Hostname]\nTask Name: [Full task path]\nAction: [Command\u002FScript executed]\nTrigger: [Startup\u002FLogon\u002FTimer\u002FEvent]\nCreated By: [User account]\nCreated From: [Local\u002FRemote]\nCreation Time: [Timestamp]\nRun As: [Execution account]\nRisk Level: [Critical\u002FHigh\u002FMedium\u002FLow]\n```\n",{"name":5,"domain":27,"description":7},"main","a91f1293287ffa9f4f1b8f486cd6e835a1568c84","skills\u002Fsoc-hunting-schedtasks","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace","https:\u002F\u002Fgithub.com\u002FDCx7C5","#Python","2026-09-01 11:21:00",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add DCx7C5\u002Fai-marketplace --skill soc-hunting-schedtasks",{"tool":53,"command":54},"bunx","bunx skills add DCx7C5\u002Fai-marketplace --skill soc-hunting-schedtasks",{"tool":56,"command":57},"pnpm","pnpm dlx skills add DCx7C5\u002Fai-marketplace --skill soc-hunting-schedtasks","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fsoc-hunting-schedtasks\u002FSKILL.md",true,[61],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"index.json","REFERENCE","参考文档",602,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fsoc-hunting-schedtasks\u002Findex.json",[68,93,114,136,157,173],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":35},"01M71HAPZ01KQ30RKTB0FFSQ05","services-wmi-persistence-detect","Detect WMI event subscription persistence by enumerating ActiveScriptEventConsumer, CommandLineEventConsumer, and permanent subscriptions in the WMI repository.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fpersistence\u002Fdetect\u002FSKILL.md",[],[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,27,92],"services","detect","services wmi persistence detect","wmi","persistence","de","cm","process","activescript","event","subscriptions","commandline-consumer","repository","subscription","event-subscription","t1546.003","forensics","process-forensics",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":35},"01M71HAK6JTTTS229T17WJMMCG","services-wmi-exec-exploit","Perform lateral movement across Windows networks using WMI-based remote execution techniques including Impacket wmiexec.py, CrackMapExec, and native WMI commands for stealthy post-exploitation during red team engagements.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fexec\u002Fexploit\u002FSKILL.md",[],[100,75,101,78,102,25,103,27,104,105,106,107,108,109,80,110,33,111,112,113],"exploit","services wmi exec exploit","exec","traffic","Bash","analysis","team","across","crackmapexec","native","command","read","lateral-movement","Impacket",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":35},"01M71HAG6MHKNQV8KDZKMT4886","registry-artifact-extract","Extract and analyze Windows Registry hives to uncover user activity, installed software, autostart entries, and evidence of system compromise.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fregistry\u002Fartifact\u002Fextract\u002FSKILL.md",[],[121,122,123,124,125,126,27,104,127,105,128,129,80,111,130,131,132,133,134,135],"artifact","registry","registry artifact extract","extract","evidence-collection","artifact-analysis","collection","analyze","uncover","software","activity","digital-forensics","windows-registry","regripper","sonnet",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":35},"01M71HACR4A8XTWTTSXK4124AA","processes-token-impersonate-detect","Detect Windows token impersonation and privilege abuse including SeImpersonatePrivilege exploitation via Potato attacks and token stealing techniques.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Ftoken\u002Fimpersonate\u002Fdetect\u002FSKILL.md",[],[76,143,144,145,146,147,148,81,149,27,92,150,151,152,153,154,155,156,32,80],"processes token impersonate detect","token","processes","attacks","windows","escalation","techniques","privilege-escalation","seimpersonate","token-impersonation","printspoofer","exploitation","potato","impersonation",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":35},"01M71HAABSB4Z6QFSXEG00R4RK","processes-thread-injection-detect","Detect Windows thread injection techniques including CreateRemoteThread, QueueUserAPC, NtCreateThreadEx, and thread hijacking via process memory analysis.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fthread\u002Finjection\u002Fdetect\u002FSKILL.md",[],[164,165,76,166,145,147,167,81,168,149,27,92,105,169,170,171,172,32,80,82],"thread","processes thread injection detect","injection","memory","process-injection","api","apc-injection","thread-injection","nt-api",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":179,"publishedAt":35},"01M71HA7H311V5G14WMX58HQSS","processes-hollow-technique-detect","Detect process hollowing (RunPE) by identifying processes with mismatched image paths between PEB and VAD tree, or unmapped PE headers in memory.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fhollow\u002Ftechnique\u002Fdetect\u002FSKILL.md",[],[180,76,145,181,167,81,182,183,27,92,184,185,186,187,188,189,80,82,190,191],"processes hollow technique detect","tree","memory-forensics","process-hollow","peb","runpe","image","pe-header","in memory","with","mismatched","headers"]