端点无文件攻击检测指南基于 Anthropic-Cybersecurity-Skills 的 API 参考与实战落地方案【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills导读本文围绕 Anthropic-Cybersecurity-Skills 仓库中detecting-fileless-attacks-on-endpoints技能的 API 参考文档 展开系统讲解面向完全驻留内存、不落盘写文件的无文件Fileless攻击的检测工程方法。你将掌握关键事件源PowerShell Script Block、Sysmon、WMI的选取与解析、可疑脚本模式的正则设计、Splunk SPL 检测查询、AMSI 状态核查以及如何结合仓库内附的 agent.py 与 process.py 自动化分析 EVTX 与 CSV 日志输出带 MITRE ATTCK 编号与严重级别的检测结果。无文件攻击的检测思路为什么传统 AV 会失手无文件恶意软件Fileless Malware的典型特征是攻击载荷只存在于内存、注册表或 WMI 仓库中从不以可执行文件形式落盘从而绕过以文件扫描为核心的传统防病毒产品。检测这类攻击必须转变思路——不盯文件是什么而是盯进程在做什么、脚本在说什么、系统的遥测在记什么。从本技能的 SKILL.md 可以看出其核心检测路径覆盖四类主流无文件手法PowerShell 驱动的攻击编码命令执行、下载器download cradle、AMSI 绕过反射式 DLL 注入Reflective DLL InjectionDLL 直接从内存加载不经过磁盘进程注入Process Injection包括进程镂空hollowing、APC 注入等WMI 持久化通过 WMI 事件订阅实现重启后的自动执行。其参考的标准映射见 standards.md覆盖 MITRE ATTCK 的 T1059.001PowerShell 执行、T1055进程注入全子技术、T1546.003WMI 事件订阅持久化与 T1620反射式代码加载。仓库的 ATTACK_COVERAGE.md 与 mappings/attack-navigator-layer.json 中亦记录了 T1055、T1059.001 等技术的技能映射关系可作为威胁建模时的交叉参考。关键事件源六类必须开的遥测api-reference 文档以表格形式给出了无文件攻击检测的核心事件源这是整套检测体系的地基。下表为原文完整内容并补充了每个事件对应的检测用途说明SourceEvent IDDetectionPowerShell Script Block4104Malicious script contentSysmon Process Create1Encoded command executionSysmon CreateRemoteThread8Reflective DLL injectionSysmon WMI EventFilter19WMI persistenceSysmon WMI EventConsumer20WMI persistenceSysmon WMI Binding21WMI persistence结合 SKILL.md 中Step 1: Enable Required Telemetry的内容可以补充如下关键点Event ID 1进程创建记录进程的完整 CommandLine是捕获powershell -enc ...、下载器拼接命令等编码执行的关键入口Event ID 7镜像加载用于发现从不寻常路径加载的 DLL是反射注入的重要旁证Event ID 8CreateRemoteThread远程线程创建直接指向注入行为Event ID 10进程访问捕捉对 LSASS 等敏感进程的访问Event ID 19/20/21WMI 三件套分别对应 EventFilter、EventConsumer 与二者的绑定任何非预期的 WMI 事件订阅创建都应视为可疑。开启这些遥测的 PowerShell 命令来自 SKILL.md属于 GPO 或注册表配置路径# Enable PowerShell Script Block Logging (GPO or registry) New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging -Name EnableScriptBlockLogging -Value 1 -PropertyType DWORD -Force # Enable PowerShell Module Logging New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging -Name EnableModuleLogging -Value 1 -PropertyType DWORD -Force # Enable PowerShell Transcription New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\Transcription -Name EnableTranscripting -Value 1 -PropertyType DWORD -Force注意Script Block Logging 之所以至关重要是因为它记录的是去混淆后的脚本内容Event 4104攻击者精心编码的命令在执行前会被 PowerShell 引擎还原从而被完整留存。若此项关闭防御方将对去混淆后的命令失明。解析 PowerShell 事件日志python-evtx 实操api-reference 文档给出了用python-evtx读取PowerShell-Operational.evtx并提取 Event 4104 中ScriptBlockText的最小示例import Evtx.Evtx as evtx with evtx.Evtx(PowerShell-Operational.evtx) as log: for record in log.records(): xml record.xml() # Parse Event 4104 ScriptBlockText仓库中的 agent.py 将其落地为完整实现parse_powershell_scriptblock()遍历记录先以EventID4104/EventID粗筛事件再用正则从 XML 中提取ScriptBlockText与SystemTime随后逐条匹配可疑模式并生成结构化 finding# 摘自 scripts/agent.py 的解析核心逻辑 script_block re.search(rData NameScriptBlockText([^]), xml) ... for pattern, (mitre, severity, desc) in SUSPICIOUS_PS_PATTERNS.items(): if re.search(pattern, script, re.IGNORECASE): findings.append({ event_id: 4104, timestamp: time_match.group(1) if time_match else , pattern: desc, mitre: mitre, severity: severity, script_excerpt: script[:300], })这里的script_excerpt截取前 300 字符用于告警上下文展示既能辅助研判又避免告警体量过大。依赖未安装时parse_powershell_scriptblock会返回{error: python-evtx not installed: pip install python-evtx}提示先执行pip install python-evtx。可疑 PowerShell 模式库正则即检测逻辑api-reference 文档定义了五类核心正则模式覆盖无文件攻击中最具代表性的手法# Dynamic execution rInvoke-Expression|IEX\s*\( # Reflective loading rSystem\.Reflection\.Assembly.*Load # Memory injection APIs rVirtualAlloc|VirtualProtect|CreateThread # WMI persistence rRegister-WMI|__EventFilter|__EventConsumer # Encoded commands r-enc\s|-encodedcommand\s在 agent.py 中这套模式被扩展为带 MITRE 编号与严重级别的完整映射表SUSPICIOUS_PS_PATTERNS检测语义比 api-reference 更为丰富正则模式节选MITRE严重级别检测语义Invoke-Expression\|IEX\s*\(T1059.001HIGH动态代码执行Invoke-Mimikatz\|Invoke-KerberoastT1003CRITICAL凭据窃取工具System\.Reflection\.Assembly.*LoadT1620HIGH反射式程序集加载Net\.WebClient.*Download(String\|Data\|File)T1105HIGH远程下载VirtualAlloc\|VirtualProtect\|CreateThreadT1055CRITICAL内存注入 API-enc\s\|-encodedcommand\sT1027HIGH编码 PowerShellRegister-WMI\|__EventFilter\|__EventConsumerT1546.003CRITICALWMI 持久化HKCU:\\.*\\Run\|HKLM:\\.*\\RunT1547.001HIGH注册表 Run 键Add-MpPreference.*ExclusionPathT1562.001HIGHDefender 排除项与 api-reference 中的示例对应关系-enc/-encodedcommand是编码命令检测Event 1 视角与 Event 4104 视角通用VirtualAlloc系列直接命中内存注入Register-WMI/__EventFilter/__EventConsumer则对应 WMI 持久化的三类关键对象。SKILL.md 还补充了 AMSI 绕过模式的检测建议(AmsiUtils) OR (amsiInitFailed) OR SetValue.*amsi。另外仓库提供了面向 CSV 导出的轻量扫描器 process.py其FILELESS_PATTERNS采用(?i)不区分大小写写法将模式归为七类encoded_command、download_cradle、amsi_bypass、reflection、wmi_abuse、credential_access、invoke_expression。用法python process.py powershell_logs.csv脚本会按技术类型统计命中次数并在日志同级目录生成fileless_detection_report.json默认最多保留 100 条检测明细。Splunk SPL把检测规则部署进 SIEMapi-reference 给出了一个精简的 Splunk 检测查询indexpowershell EventCode4104 | where match(ScriptBlockText, (?i)(Invoke-Expression|IEX|VirtualAlloc|FromBase64)) | stats count by ScriptBlockText, Computer, UserIDSKILL.md 中提供了更完整的版本二者结合可组成检测 审计双层查询indexwindows sourceWinEventLog:Microsoft-Windows-PowerShell/Operational EventCode4104 | where match(ScriptBlockText, (?i)(iex|invoke-expression|downloadstring|net\.webclient|frombase64|bypass|amsi.utils)) | table _time host ScriptBlockText区别在于match()正则支持更细粒度的模式net.webclient、amsi.utils、bypass等table输出便于研判stats count则适合做聚合告警与基线统计。若环境中启用 Sysmon 并收集注册表写事件还可叠加 SKILL.md 中的 Event 13 查询识别写入 Run 键的超长 Base64 内容indexsysmon EventCode13 | where match(Details, [A-Za-z0-9/]{100,}) | table _time host TargetObject Details ImageAMSI脚本执行前的安检门核查api-reference 给出了 AMSI 的两条运维命令# Enable AMSI logging Set-MpPreference -EnableNetworkProtection Enabled # Check AMSI status Get-MpComputerStatus | Select AMServiceEnabled, AntispywareEnabledAMServiceEnabled反映 AMSI 服务是否开启AntispywareEnabled反映反间谍软件保护是否生效。需要强调的是AMSI 的价值在于脚本内容在执行前即被安全产品检查但成熟攻击者会先尝试绕过 AMSI 再投递载荷常见手法即 api-reference/SKILL.md 中模式库所覆盖的amsiutils、amsiInitFailed字符串。因此检测 AMSI 绕过尝试本身应作为高优先级告警而不是只依赖 AMSI 的拦截结果。WMI 持久化检测三类对象的主动巡查WMI 持久化依赖三个根命名空间root\Subscription下的对象__EventFilter触发条件、__EventConsumer执行动作、__FilterToConsumerBinding二者绑定。api-reference 提供了完整的三条 PowerShell 巡查命令# List WMI event subscriptions Get-WMIObject -Namespace root\Subscription -Class __EventFilter Get-WMIObject -Namespace root\Subscription -Class __EventConsumer Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding在 agent.py 中parse_sysmon_wmi_persistence()实现了对 Sysmon Event 19/20/21 的自动解析通过事件 ID 分发到WMI_PERSISTENCE_EVENTS字典19EventFilter 创建、20EventConsumer 创建、21EventConsumerToFilter 绑定并从 XML 提取Name、Operation、Destination、User等字段统一标记为CRITICAL级别、MITRE T1546.003。SKILL.md 中给出的人工排查建议是任何 WMI 事件订阅的创建都应视为可疑尤其当Consumer包含CommandLineEventConsumer或ActiveScriptEventConsumer时——这两个 Consumer 类分别用于执行命令行与脚本是恶意持久化的高发载体。CLI 实战一键跑通 EVTX 检测流程api-reference 文档末尾给出了 agent 的两种 CLI 调用方式二者分别对应纯 PowerShell 日志分析与多开关组合分析python agent.py --ps-log PowerShell-Operational.evtx python agent.py --sysmon-log Sysmon.evtx --check-wmi --check-injection对照 agent.py 的参数定义可完整解释其行为--ps-log指定 PowerShell EVTX 路径触发 Event 4104 脚本块扫描parse_powershell_scriptblock--sysmon-log指定 Sysmon EVTX 路径本身不直接触发分析需配合下面两个开关--check-wmi解析 Event 19/20/21检测 WMI 持久化parse_sysmon_wmi_persistence--check-injection解析 Event 8检测 CreateRemoteThread 注入迹象parse_sysmon_injection。parse_sysmon_injection()对每个 Event 8 提取SourceImage与TargetImage统一标记HIGH严重级别、MITRE T1055描述为 CreateRemoteThread - possible reflective injection。执行结果以 JSON 输出包含生成时间戳、findings数组与total_findings计数便于直接接入下游告警管道或脚本解析。SKILL.md 还提示了 KQLMDE侧的等价检测通过CreateRemoteThreadApiCall、NtAllocateVirtualMemoryApiCall动作类型排除MsMpEng.exe、svchost.exe等已知合法来源后聚焦可疑进程。从检测到运营工作流与模板化交付本技能还提供了两条运营化支撑端到端工作流workflows.md[Enable telemetry] → [Build detection rules per technique] → [Deploy rules in SIEM] → [Threat hunt for historical fileless indicators] → [Triage alerts] → [Investigate memory for confirmed incidents] → [Extract IOCs from memory analysis] → [Tune detections]。即遥测开启 → 按技术逐条建规则 → 部署 SIEM → 回溯狩猎历史指标 → 告警分级研判 → 对确认事件做内存取证如 Volatility 3→ 提取 IOC 反馈 → 迭代调优规则。检测模板assets/template.md提供三张表用于工程交付——Telemetry Status记录 Sysmon、PowerShell Script Block、AMSI 是否启用及对应事件 ID、Detection Rules规则名、技术编号、SIEM 查询、状态、Sign-Off检测工程师与 SOC 负责人签字。这使检测能力从一段查询升级为可评审、可交接的工程资产。常见陷阱与规避要点结合 SKILL.md 的 Common Pitfalls 与 api-reference 的事件源设计落地时需警惕四类典型失误只依赖文件型 AV文件扫描对纯内存攻击完全失效必须叠加行为检测EDR与 AMSI 脚本内容检查关闭 PowerShell 日志没有 Script Block LoggingEvent 4104去混淆后的命令对防御方完全不可见检测等于盲打漏掉 AMSI 绕过信号攻击者会在执行载荷前先绕过 AMSI应将amsiutils、amsiInitFailed等绕过特征作为最高优先级告警而非普通噪声不监控 WMI 事件WMI 持久化是 APT 组织偏爱的驻留手法Sysmon 19–21 必须启用否则持久化路径对 SIEM 不可见。结语无文件攻击检测的本质是遥测驱动以 PowerShell Script Block Logging4104与 Sysmon1/7/8/10/19/20/21为数据底座以 AMSI 为脚本执行前的检查关口以正则模式库为检测语义以 Splunk/KQL/Python 为落地载体。Anthropic-Cybersecurity-Skills 的该技能将这条链路打包为可复用的 API 参考、源码脚本与运营模板检测工程师既可通过 agent.py 快速扫描历史 EVTX 验证规则效果也可借 assets/template.md 将规则纳入工程化评审从而把检测规则真正变成可运营的防御能力。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考