ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

端点无文件攻击检测实战:基于 Anthropic-Cybersecurity-Skills 的遥测配置、检测规则与内存取证工作流

端点无文件攻击检测实战:基于 Anthropic-Cybersecurity-Skills 的遥测配置、检测规则与内存取证工作流 端点无文件攻击检测实战基于 Anthropic-Cybersecurity-Skills 的遥测配置、检测规则与内存取证工作流【免费下载链接】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无文件Fileless攻击完全在内存中执行恶意负载、不向磁盘写入可执行文件从而系统性绕过传统杀软的文件扫描。本文以 detecting-fileless-attacks-on-endpoints 技能为核心从 workflows.md 定义的端到端流水线出发完整讲解 Sysmon / PowerShell 日志 / AMSI 遥测的启用方法、针对 PowerShell 滥用、进程注入、WMI 持久化与注册表驻留执行的检测规则、SIEM 落地查询以及内存取证与 IOC 提取。读完你将获得一套可直接复制运行的检测规则、SPL/KQL 查询和配套 Python 自动化脚本的使用方法。一句话看懂 workflows.md从遥测到调优的八步流水线该技能的核心工作流定义在 references/workflows.md它把无文件攻击检测拆解为一条线性流水线每一步都对应一个可独立交付的产物[启用遥测 (Sysmon、PS logging、AMSI)] → [按技术构建检测规则] → [在 SIEM 中部署规则] → [对历史无文件指标进行威胁狩猎] → [分诊告警] → [对已确认事件进行内存调查] → [从内存分析中提取 IOC] → [调优检测]这条流水线揭示了无文件检测的完整生命周期先解决看得见遥测再解决认得清规则随后跑起来SIEM 部署与狩猎最后挖得深内存取证并形成越用越准调优的闭环。下文各小节即按此流水线展开。适用范围与边界该技能在 SKILL.md 中明确了适用场景为完全在内存中运行、不落地文件的无文件恶意软件构建检测规则狩猎 PowerShell 攻击、反射式 DLL 注入与 WMI 滥用配置端点遥测Sysmon、AMSI、PowerShell 日志以捕获无文件指标调查传统 AV 未发现任何恶意文件的安全事件。明确不适用的场景是基于文件的恶意软件检测和恶意软件逆向工程。技能元数据将其归类为endpoint-security子域标签为endpoint、fileless-malware、memory-attacks、PowerShell、detection-engineering对应 NIST CSF 功能PR.PS-01、PR.PS-02、DE.CM-01、PR.IR-01并在前置元数据中关联 MITRE ATTCK 的T1055进程注入、T1547启动或登录自动启动执行、T1059命令与脚本解释器、T1036伪装、T1053计划任务/作业。前置条件无文件检测的遥测底座根据 SKILL.md 的 Prerequisites 章节检测无文件攻击的前提是四种遥测能力同时就位遥测源作用Sysmon启用进程创建与 WMI 事件日志提供进程创建、DLL 加载、远程线程、WMI 订阅等内核级行为PowerShell Script Block Logging 与 Module Logging捕获去混淆后的脚本内容Event 4104AMSIAntimalware Scan Interface在脚本执行前提供内容检查能力具备行为检测能力的 EDRMDE、CrowdStrike、SentinelOne行为层面的无文件技术检测缺一不可没有 Script Block Logging去混淆后的 PowerShell 命令对防御方完全不可见没有 Sysmon进程注入与 WMI 持久化行为无从记录。Step 1启用关键遥测workflows 流水线的第一环是遥测。SKILL.md 提供了 PowerShell 侧完整的注册表/GPO 启用命令# 启用 PowerShell Script Block LoggingGPO 或注册表 New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging -Name EnableScriptBlockLogging -Value 1 -PropertyType DWORD -Force # 启用 PowerShell Module Logging New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging -Name EnableModuleLogging -Value 1 -PropertyType DWORD -Force # 启用 PowerShell Transcription New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\Transcription -Name EnableTranscripting -Value 1 -PropertyType DWORD -ForceSysmon 侧需要关注的关键事件 ID 如下对应 SKILL.md 注释及 api-reference.md 中的事件源表事件 ID含义无文件检测价值1进程创建捕获 CommandLine编码命令执行、下载执行雏形7镜像加载DLL 加载从内存/非标准路径加载 DLL8CreateRemoteThread远程线程注入、APC 注入10进程访问对 LSASS 等敏感进程的访问13注册表值设置注册表驻留的编码负载19 / 20 / 21WMI 事件订阅活动WMI 持久化全链路Step 2检测 PowerShell 攻击PowerShell 是生活在地形之外Living-off-the-Land攻击的最常见载体。SKILL.md 给出了三类核心检测模式编码命令执行Event 1 进程创建EventID: 1 CommandLine contains: powershell AND (-enc OR -e OR -encodedcommand OR FromBase64String)下载执行雏形Download CradleCommandLine contains: IEX AND (Net.WebClient OR DownloadString OR Invoke-WebRequest) CommandLine contains: Invoke-Expression AND New-ObjectAMSI 绕过尝试Event 4104 脚本块ScriptBlock contains: (AmsiUtils) OR (amsiInitFailed) OR SetValue.*amsi对应的 Splunk 查询原文可复制运行indexwindows sourceWinEventLog:Microsoft-Windows-PowerShell/Operational EventCode4104 | where match(ScriptBlockText, (?i)(iex|invoke-expression|downloadstring|net\.webclient|frombase64|bypass|amsi.utils)) | table _time host ScriptBlockTextapi-reference.md 补充了 Python 侧的正则模式集用于离线分析 PowerShell EVTX# 动态执行 rInvoke-Expression|IEX\s*\( # 反射式加载 rSystem\.Reflection\.Assembly.*Load # 内存注入 API rVirtualAlloc|VirtualProtect|CreateThread # WMI 持久化 rRegister-WMI|__EventFilter|__EventConsumer # 编码命令 r-enc\s|-encodedcommand\sStep 3检测进程注入技术进程注入让攻击者在合法进程的地址空间内运行恶意代码。SKILL.md 针对三种主流注入手法给出了各自的检测思路反射式 DLL 注入——DLL 不落盘直接由内存加载。检测要点是 Sysmon Event 7ImageLoaded中镜像路径异常EventID: 7 ImageLoaded NOT starts with: C:\Windows\ AND NOT starts with: C:\Program Files进程镂空Process Hollowing——以挂起状态创建合法进程并替换其内存。检测思路是 Event 1 Event 10 关联进程被创建后随即被以PROCESS_VM_WRITE权限访问。APC 注入——将代码排入线程的异步过程调用队列。检测重点是来自非系统进程的 CreateRemoteThreadEventID: 8 SourceImage NOT IN (known_legitimate_sources)Microsoft Defender for EndpointMDE侧给出 KQL 查询DeviceEvents | where ActionType in (CreateRemoteThreadApiCall, NtAllocateVirtualMemoryApiCall) | where InitiatingProcessFileName !in (MsMpEng.exe, svchost.exe) | project Timestamp, DeviceName, ActionType, InitiatingProcessFileName, InitiatingProcessCommandLine, FileNameStep 4检测 WMI 持久化WMI 事件订阅是 APT 组织偏爱的持久化手段。Sysmon 通过三个事件 ID 覆盖完整链路EventID: 19 # WmiEventFilter activity detected事件过滤器创建 EventID: 20 # WmiEventConsumer activity detected事件消费者创建 EventID: 21 # WmiEventConsumerToFilter activity detected过滤器-消费者绑定SKILL.md 指出任何 WMI 事件订阅创建都应在无预期时视为可疑尤其当消费者为Consumer contains: CommandLineEventConsumer OR ActiveScriptEventConsumer也可通过 osquery 或 PowerShell 直接查询订阅对象Get-WMIObject -Namespace root\Subscription -Class __EventFilter Get-WMIObject -Namespace root\Subscription -Class __EventConsumer Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBindingStep 5检测注册表驻留执行恶意负载以编码形式存储于注册表值、再由 PowerShell 动态加载。检测锚点是 Sysmon Event 13注册表值设置EventID: 13 TargetObject contains: CurrentVersion\Run Details: unusually long value or Base64-encoded content对应的 Splunk 查询通过超长 Base64 特征筛出异常注册表值indexsysmon EventCode13 | where match(Details, [A-Za-z0-9/]{100,}) | table _time host TargetObject Details Image事件源速查核心事件一览api-reference.md 将全技能最关键的检测事件收敛为一张速查表来源事件 ID检测目标PowerShell 脚本块4104恶意脚本内容Sysmon 进程创建1编码命令执行Sysmon CreateRemoteThread8反射式 DLL 注入Sysmon WMI EventFilter19WMI 持久化Sysmon WMI EventConsumer20WMI 持久化Sysmon WMI 绑定21WMI 持久化同时提供基于 python-evtx 的离线解析骨架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以及一条综合性的 Splunk 检测查询indexpowershell EventCode4104 | where match(ScriptBlockText, (?i)(Invoke-Expression|IEX|VirtualAlloc|FromBase64)) | stats count by ScriptBlockText, Computer, UserID在 SIEM 中部署与威胁狩猎workflows 流水线的第三、四环是在 SIEM 中部署规则与威胁狩猎。SKILL.md 中散落的 SPL 查询、KQL 查询即为可直接部署的规则雏形而狩猎阶段关注的是历史无文件指标即不依赖实时告警而是在全量历史 PowerShell/Sysmon 日志中回扫编码命令、下载执行雏形、AMSI 绕过特征与 WMI 订阅创建。对 AMSI 的状态核查与开启api-reference.md 给出# 启用 AMSI 网络保护 Set-MpPreference -EnableNetworkProtection Enabled # 检查 AMSI 状态 Get-MpComputerStatus | Select AMServiceEnabled, AntispywareEnabled内存调查与 IOC 提取确认事件后的取证闭环workflows 流水线的第六、七环是调查内存与从内存分析中提取 IOC。SKILL.md 的 Tools Systems 一节将Volatility 3指定为事件后取证工具——对已确认的无文件攻击事件进程与注入代码只存在于内存镜像中必须用内存取证而非磁盘取证来还原。典型做法是在内存镜像中定位注入的进程、转储可疑进程内存或恶意模块从中提取 C2 域名、加密密钥、payload 哈希等 IOC。这些 IOC 反过来会流入流水线最后一环调优检测形成检测能力的持续增强。源码级自动化agent.py 与 process.py 的调用链该技能目录下提供两个可直接运行的 Python 脚本把上述检测规则工程化。其一是 scripts/agent.py它内置了 13 组可疑 PowerShell 模式到 MITRE 技术与严重级别的映射例如Invoke-Expression|IEX\s*\(→ T1059.001HIGH动态代码执行VirtualAlloc|VirtualProtect|CreateThread→ T1055CRITICAL内存注入 APIRegister-WMI|__EventFilter|__EventConsumer→ T1546.003CRITICALWMI 持久化Invoke-Shellcode|Invoke-ReflectivePEInjection→ T1055CRITICAL注入框架Add-MpPreference.*ExclusionPath→ T1562.001HIGHDefender 排除从源码结构看agent.py的主流程agent.py按三个独立解析函数并行工作parse_powershell_scriptblock()读取 PowerShell EVTX仅过滤 Event 4104用正则提取ScriptBlockText并逐模式匹配产出事件 ID、时间戳、MITRE 编号、严重级别与脚本摘录parse_sysmon_wmi_persistence()匹配 Sysmon Event 19/20/21提取过滤器名、操作、目标消费者与用户统一标记为 CRITICAL / T1546.003parse_sysmon_injection()匹配 Event 8CreateRemoteThread记录 SourceImage 与 TargetImage标记 HIGH / T1055。CLI 用法python agent.py --ps-log PowerShell-Operational.evtx python agent.py --sysmon-log Sysmon.evtx --check-wmi --check-injection输出为 JSON 格式的发现结果包含total_findings汇总。注意依赖python-evtx未安装时会返回pip install python-evtx提示见 agent.py。其二是 scripts/process.py面向导出的 CSV 格式 PowerShell 日志内置 7 类模式编码命令、下载执行雏形、AMSI 绕过、反射、WMI 滥用、凭据访问、Invoke-Expression输出按技术统计的报告python process.py powershell_logs.csv # 生成 fileless_detection_report.json该脚本会把命中脚本摘录截断为 300 字符并按技术维度聚合计数by_technique适合批处理历史日志做大规模回溯狩猎。其模式集中在FILELESS_PATTERNS字典中见 process.py与 SKILL.md 的检测指标一一对应可作为上述 Splunk 查询的离线等价实现。报告与调优把检测沉淀为可交接资产目录下的 assets/template.md 提供了检测交付模板覆盖三块内容遥测状态表逐项确认 Sysmon1,7,8,10,19,20,21、PowerShell Script Block4104、AMSI1116是否启用检测规则表记录规则名、对应技术如 T1059.001、SIEM 查询与状态Active/Draft签署表由检测工程师与 SOC Lead 完成签署。该模板与 workflows 流水线首尾呼应——遥测状态即第一环的交付物规则表即第二环的交付物签署则意味着规则正式进入 SIEM 生产环境并接受持续调优。调优阶段应关注的输入包括误报率正常运维中Get-WMIObject的基线频率、合法脚本中的 Base64 使用、新出现的绕过手法以及内存取证阶段提取的新 IOC。常见误区与规避建议SKILL.md 的 Common Pitfalls 章节总结了四类高频失误直接影响检测效果依赖基于文件的 AV只扫描磁盘文件的传统杀软会完全漏掉无文件攻击行为检测与 AMSI 必不可少禁用 PowerShell 日志没有 Script Block Logging去混淆后的 PowerShell 命令对防御方完全不可见不检测 AMSI 绕过老练的攻击者在执行 payload 前会先绕过 AMSI应把 AMSI 绕过尝试列为高优先级告警不监控 WMI 事件WMI 持久化是 APT 群体的常用手段Sysmon 事件 19-21 必须启用。框架与标准映射references/standards.md 将该技能的核心手法映射到 MITRE ATTCK便于在检测工程与红蓝对抗报告中对齐标准术语T1059.001PowerShell 执行T1055进程注入全部子技术T1546.003WMI 事件订阅持久化T1620反射式代码加载结合 SKILL.md 前置元数据T1055、T1547、T1059、T1036、T1053与 NIST CSF 映射PR.PS-01、PR.PS-02、DE.CM-01、PR.IR-01本技能覆盖了从预防/保护PR到检测DE再到响应IR的完整防御链条可作为企业端点安全检测体系中无文件攻击专项的落地基线。总结八步流水线的落地要点回到 workflows.md 的八步流水线落地本技能的关键在于遥测先行Sysmon 事件 1/7/8/10/13/19-21 PowerShell 4104 AMSI规则对号入座每类技术至少一条可运行查询SIEM 与狩猎双轨推进实时告警 历史回扫内存取证兜底Volatility 3 提取 IOC最终以模板化交付与持续调优收口。配套的 agent.py 与 process.py 则把上述规则工程化让检测能力可以离线复现、批量回扫并沉淀为报告形成规则—验证—调优的闭环。【免费下载链接】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),仅供参考
返回列表