Decepticon YARA 威胁狩猎技能实战:从恶意样本到规则,再到 VirusTotal / ANY.RUN 大规模回溯狩猎 【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载本篇技术指南完整讲解 Decepticon 红队 Agent 内置的ti-yara-hunting分析师技能SKILL.md如何从恶意样本、行为观察记录与威胁情报TI报告中提炼特征编写并调优 YARA 规则最终部署到 VirusTotal Retrohunt / LiveHunt 与 ANY.RUN 进行 500M 文件与 2TB 恶意样本语料库的猎杀。读完本文你将掌握 YARA / YARA-X 规则语法、yarGen 自动化生成与人工收紧流程、条件优化与误报控制以及一套可直接复用的端到端回溯狩猎工作流。技能定位分析师情报链中的一环在 Decepticon 的技能体系中ti-yara-hunting归属于analyst子域subdomainallowed-tools仅声明Bash、Read、Write意味着它是一份纯工作流方法论技能不依赖特殊工具集成。技能 frontmatter 中的when_to_use声明了触发关键词yara、yara rule、yara-x、yargen、retrohunt、retrohunting、virustotal hunting、anyrun yara search、malware signature、threat hunting rules、livehunt等。Agent 在执行任务时会依据这些关键词与当前目标做匹配命中后才通过load_skill()加载完整技能正文。从源码看这一匹配与加载机制由 SkillsMiddleware 实现它按subdomain把技能分组展示并把when_to_use关键词作为独立triggers:行渲染进系统提示词供 Agent 做目标匹配tools/skills.py中的load_skill工具则负责按 slug 或路径返回技能全文。这意味着本文讲述的规则编写方法在实际运行中会作为 Agent 的操作手册在分析阶段被按需调用。该技能与情报链上下游紧密衔接构成完整闭环上游ti-ioc-extractionSKILL.md负责从报告、日志、原始文本中提取 IOCs再作为 YARA 规则的素材来源同层ti-anyrun-lookupSKILL.md用 TI Lookup 查询关联样本的沙箱执行轨迹与 YARA 回溯结果交叉验证姊妹技能reverser/yara-huntingSKILL.md从逆向工程视角补充了pe/elf/hash/math模块与能力级规则capability rules编写思路下游编写好的规则还可经 defense/tools.py 中的yara_to_defender_xdr_custom_detection、yara_to_crowdstrike_ioa工具转换为 Microsoft Defender XDR 自定义检测与 CrowdStrike IOA实现生产化落地。技能本体同时映射到 MITRE ATTCK 的 T1588.005获取能力漏洞利用其完整战术映射如下技术ID相关度说明获取能力漏洞利用Obtain Capabilities: ExploitsT1588.005YARA 用于识别攻击者武器库中的利用工具/载荷开发能力恶意软件Develop Capabilities: MalwareT1587.001规则基于独有字符串/结构检测定制恶意软件收集受害者主机信息软件Gather Victim Host Information: SoftwareT1592.002YARA 扫描可发现受害者主机上已安装的恶意软件主机上的痕迹清除Indicator Removal on HostT1070回溯狩猎可找到攻击者试图抹除的样本1. 环境准备与快速参考在开始编写规则前先完成工具链安装。技能给出的 Quick Reference 覆盖四类工具经典 YARA、YARA-X、yarGen 与规则编译验证# 安装 YARA规则扫描引擎 apt-get install -y yara || pip install yara-python # 安装 YARA-XRust 重写版——更快、解析更严格 cargo install yara-x # 安装 yarGen自动化规则生成器 git clone https://github.com/Neo23x0/yarGen.git /opt/yarGen cd /opt/yarGen pip install -r requirements.txt python3 yarGen.py --update # 下载 goodware 字符串数据库仅首次运行 # 用规则扫描一个文件/目录 yara /workspace/rules/suspect.yar /workspace/samples/ # 编译规则以加速扫描 yarac /workspace/rules/*.yar /workspace/rules/compiled.yarc yara /workspace/rules/compiled.yarc /workspace/samples/ # 校验规则语法YARA-X 解析器更严格 yr check /workspace/rules/suspect.yar其中yarac将规则编译为二进制形式扫描时无需重复解析文本规则适合规则库庞大的场景yr check对应 YARA-X 的严格校验能发现经典 YARA 会忽略的真实语法错误。规则文件的目录建议固定在/workspace/rules/下管理样本统一放在/workspace/samples/这与 Decepticon 沙箱工作区的组织方式一致。2. YARA 规则语法结构、字符串与条件2.1 最小规则结构一个完整的 YARA 规则由meta、strings、condition三个区块构成。技能给出的最小模板如下rule Malware_FamilyName_Variant { meta: author Decepticon TI date 2025-01-01 description Detects FamilyName variant based on unique strings hash e3b0c44298fc1c149afbf4c8996fb924... reference https://report-url tlp WHITE strings: $s1 unique_string_from_sample ascii wide $s2 { 4D 5A 90 00 03 00 00 00 } // MZ header specific bytes $s3 /https?:\/\/[a-z0-9\-\.]\/gate\.php/ nocase condition: uint16(0) 0x5A4D and // PE file check filesize 5MB and 2 of ($s*) }值得强调的是meta区块并非装饰Decepticon 的 EDR 转换工具见 edr.py正是通过正则meta\s*:\s*...解析meta中的key value键值对抽取sha256/hash字段用于生成 Defender XDR 的 KQL 查询或抽取indicator_type/indicator_value生成 CrowdStrike IOA。因此meta中标注 hash、TLP、作者、引用链接不仅是文档规范更是后续自动化部署的数据契约。2.2 字符串类型字符串是规则检测的核心技能按类型列举了完整用法strings: // 文本字符串 $text1 CreateRemoteThread // ASCII 精确匹配 $text2 CreateRemoteThread ascii wide // 两种编码都匹配 $text3 http://c2.evil.com nocase // 忽略大小写 $text4 cmd /c fullword // 词边界匹配 // 十六进制字符串字节模式 $hex1 { 48 8B 05 ?? ?? ?? ?? } // ?? 任意字节通配符 $hex2 { 4D 5A [0-200] 50 45 00 00 } // 跳过 0-200 字节 $hex3 { ( 74 | 75 ) 0? } // 分支je 或 jne // 正则字符串 $re1 /https?:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d)?\/[a-z]\.php/ $re2 /[A-Za-z0-9\/]{50,}{0,2}/ // Base64 大块数据 // XOR 编码字符串YARA 4.0 $xor1 This program cannot xor // 全部单字节 XOR 密钥 $xor2 config_url xor(0x01-0xFF) // 指定 XOR 密钥范围 // Base64 编码字符串YARA 4.0 $b64 powershell base64 base64wide几点实战含义ascii wide组合覆盖了恶意软件最常见的两种字符串编码能显著降低规则编译通过但匹配不到的概率——这正是技能错误处理表中第一行的典型成因十六进制字符串中的??通配符与[0-200]跳转是字节级模式匹配的主力但通配符过多会带来指数级匹配开销应控制在每串 2~3 个以内姊妹技能 reverser/yara-hunting 的陷阱表也强调了这一点xor与base64修饰符是 YARA 4.0 起的特性用于对抗常见的字符串混淆手段但会显著增加扫描时间需结合误报风险权衡见第 9 节检测特征表。2.3 条件condition要点条件是规则的火力闸门技能按用途分类列举condition: // 文件类型守卫总是放在最前面 uint16(0) 0x5A4D // PEMZ 头 uint32(0) 0x464C457F // ELF uint16(0) 0x4B50 // ZIP/DOCX/XLSXPK // 字符串匹配 all of them // 所有字符串都必须匹配 any of them // 至少一个 2 of ($s*) // $s 组中命中 2 个以上 3 of ($api*) and 1 of ($str*) // 混合组计数 #s1 5 // $s1 出现 5 次以上 // 大小与偏移约束 filesize 1MB $mz at 0 // $mz 必须位于偏移 0 $s1 in (0..1024) // $s1 在前 1KB 内 // PE 模块import pe pe.imports(kernel32.dll, VirtualAlloc) pe.number_of_sections 6 // 数学模块import math math.entropy(0, filesize) 7.0 // 高熵疑似加壳 // 典型的组合条件 uint16(0) 0x5A4D and filesize 2MB and (2 of ($s*) or all of ($api*))条件编写遵循两个原则先廉价后昂贵——文件类型守卫、filesize检查这类纯字节读取的判定放在最前可快速淘汰不相关文件避免后续正则与模块计算的开销用计数替代全匹配——N of ($s*)容忍变种突变避免单字符串失效导致整条规则失明。for循环与hash模块hash.sha256(0, filesize)、hash.imphash()等进阶语法可进一步参考姊妹技能reverser/yara-hunting。3. 从恶意样本编写规则3.1 样本到规则的五步流程技能给出了一套完整的命令行工作流覆盖字符串提取、独有特征筛选、十六进制模式、PE 导入表与熵分析五个步骤# Step 1: 从样本提取字符串 strings -n 6 /workspace/samples/SAMPLE /workspace/rules/strings_raw.txt strings -n 6 -el /workspace/samples/SAMPLE /workspace/rules/strings_raw.txt # 宽字符字符串 # Step 2: 识别独有字符串常见二进制中不出现的 # 关注C2 URL、互斥体名、PDB 路径、自定义错误消息、 # 注册表键、文件路径、加密密钥、配置标记 grep -iP (http|ftp|\.php|\.aspx|mutex|pdb|\\\\Users|HKEY_|config|beacon|payload) \ /workspace/rules/strings_raw.txt | sort -u /workspace/rules/strings_interesting.txt # Step 3: 在关键偏移处提取十六进制模式 xxd /workspace/samples/SAMPLE | head -50 # 文件头 xxd -s 0x400 -l 256 /workspace/samples/SAMPLE # 代码段起始 # Step 4: 检查 PE 导入表如果是 PE 文件 python3 -c import pefile pe pefile.PE(/workspace/samples/SAMPLE) for entry in pe.DIRECTORY_ENTRY_IMPORT: dll entry.dll.decode() for imp in entry.imports: name imp.name.decode() if imp.name else str(imp.ordinal) print(f{dll}:{name}) /workspace/rules/imports.txt # Step 5: 按节检查熵 python3 -c import pefile, math pe pefile.PE(/workspace/samples/SAMPLE) for s in pe.sections: name s.Name.rstrip(b\x00).decode(errorsreplace) data s.get_data() if data: ent sum(-p*math.log2(p) for p in [data.count(bytes([b]))/len(data) for b in range(256)] if p 0) print(f{name}: entropy{ent:.2f} size{len(data)}) Step 1 的strings -n 6过滤掉过短字符串低于 6 字符-el提取 UTF-16LE 宽字符Step 2 的 grep 模式覆盖了恶意软件最常见的特征载体C2 地址、互斥体名、PDB 路径、注册表持久化键、配置标记Step 4 的导入表分析用于判断样本具备哪些能力网络通信、注入、持久化是后续编写能力级规则的依据Step 5 的逐节熵值用于判断是否加壳/加密某节熵接近 8 意味着该节几乎不可压缩高熵通常对应加壳或加密载荷。3.2 行为观察规则模板当样本来自红队行动中的行为观察而非静态文件时技能提供了直接可套用的模板。该模板把动态分析观察到的事实逐条映射为字符串C2 通信路径、UA、互斥体、文件落地路径、注册表持久化、DNS 外渗模式与反汇编字节rule APT_Backdoor_ObservedBehavior { meta: author Decepticon TI date 2025-01-01 description Backdoor observed during engagement — drops to %TEMP%, contacts C2 over HTTPS, exfiltrates via DNS TXT tlp AMBER strings: // 观察到的 C2 通信模式 $c2_uri /api/v1/check ascii $c2_ua Mozilla/5.0 (compatible; MSIE 10.0) ascii // 观察到的互斥体来自动态分析 $mutex Global\\{8A4E2C- ascii // 观察到的文件落地 $drop1 \\AppData\\Local\\Temp\\svchost32.exe ascii wide $drop2 \\ProgramData\\Microsoft\\updater.dll ascii wide // 观察到的注册表持久化 $reg Software\\Microsoft\\Windows\\CurrentVersion\\Run ascii wide // DNS 外渗模式十六进制编码子域名 $dns_exf /[0-9a-f]{16,}\.data\.[a-z0-9\-]\.(com|net|org)/ // 加密例程字节来自反汇编 $crypto { 8B 45 ?? 33 45 ?? 89 45 ?? 8B 4D ?? 03 4D ?? } condition: uint16(0) 0x5A4D and filesize 3MB and ($mutex or $crypto) and 2 of ($c2_*, $drop*, $reg, $dns_exf) }该模板的设计亮点在于条件的结构性($mutex or $crypto)作为身份锚点必须命中其一而通信类特征只需2 of计数命中这既保证了家族特异性又容忍了变种对部分字符串的改动。注意字符串标识符使用了$c2_*、$drop*这类带通配符前缀的分组名可直接在of表达式中引用。4. yarGen 自动化规则生成4.1 生成命令当样本量较大或需要快速产出候选规则时使用 yarGen 自动生成再人工收紧# 从单个样本生成规则 python3 /opt/yarGen/yarGen.py \ -m /workspace/samples/SAMPLE \ -o /workspace/rules/yargen_output.yar \ --excludegood # 从一组相关样本目录生成规则同攻击活动样本集 python3 /opt/yarGen/yarGen.py \ -m /workspace/samples/campaign_x/ \ -o /workspace/rules/campaign_x.yar \ --excludegood \ -a Decepticon TI \ -r https://engagement-reference # AI 辅助模式v0.24.0——借助 AI prompt 生成扩展字符串集 python3 /opt/yarGen/yarGen.py \ -m /workspace/samples/SAMPLE \ -o /workspace/rules/yargen_ai.yar \ --ai # 反向匹配——为良性软件生成规则检测干净文件 python3 /opt/yarGen/yarGen.py \ -m /workspace/samples/SAMPLE \ -o /workspace/rules/yargen_output.yar \ --inverse --excludegood # 生成后审查并收紧规则 # yarGen 会过度选择字符串——修剪到 5-15 条高置信度指标 # 添加文件类型检查uint16(0) 0x5A4D与大小约束参数说明-m指定样本或样本目录-o指定输出文件--excludegood依据 goodware 字符串数据库剔除通用字符串首次使用前需执行python3 yarGen.py --update下载该数据库-a设置作者、-r设置参考链接--ai启用 AI 辅助字符串扩展--inverse生成检测良性文件的逆规则可用于蓝队校验自己的工具是否存在被识别的风险。4.2 输出审查清单yarGen 的默认行为是把能匹配的都塞进去因此产出规则必须人工收紧。技能给出六条审查要点删除通用字符串——Microsoft、Windows、kernel32.dll这类字符串毫无区分度保留独有工件——PDB 路径、互斥体名、自定义头、C2 URI 是高价值特征添加文件类型守卫——PE 用uint16(0) 0x5A4DELF 用uint32(0) 0x464C457F添加大小约束——filesize 10MB防止扫描巨型压缩包时拖垮性能收紧条件——把all of them改为N of ($s*)以容忍变种用良性软件测试——扫描/usr/bin/、C:\Windows\System32\验证误报。这六条与第 5 节的条件优化原则一脉相承是保证规则既有检出率、又低误报的核心纪律。5. 条件优化与性能调优规则的质量不仅取决于能否命中目标还取决于在大规模语料上的扫描效率。技能给出六条优化原则始终以廉价检查开头uint16(0) 0x5A4D and filesize 5MB and ...——把文件类型守卫与大小约束放在and链最前面让不相关文件在付出高昂匹配代价前就被淘汰把字符串锚定到偏移$mz at 0、$config in (filesize - 4096 .. filesize)——限制字符串的出现位置既提高特异性又缩小匹配范围约束正则的宽度/.{0,1000}evil/会造成灾难性回溯应改为/evil[a-z]{0,20}\.php/这类受限模式字节模式优先于正则{ 4D 5A [0-500] 50 45 }的性能优于/\x4D\x5A.{0,500}\x50\x45/——确定性状态机匹配比正则引擎更可控使用阈值匹配3 of ($s*)而非all of them——容忍变种突变的同时减少单一字符串失效的风险用 PE 模块替代字符串匹配导入表pe.imports(ws2_32.dll, connect)比匹配 DLL 名字符串更可靠DLL 名易混淆、大小写敏感。验证环节有两把标尺# 对良性软件测试误报 yara -r /workspace/rules/suspect.yar /usr/bin/ 2/dev/null | wc -l # 目标0 # YARA-X 性能剖析 yr scan --profile /workspace/rules/suspect.yar /workspace/samples/yara -r递归扫描良性目录并统计命中数目标必须为 0yr scan --profile则输出每条规则的扫描耗时分布用于定位性能瓶颈。姊妹技能reverser/yara-hunting还补充了批量扫描的工程手段yara -r rules/ /samples/ -m -p 4-m输出元数据、-p多线程以及先用capa做能力级预筛再跑规则的分层扫描策略。6. 从威胁情报报告转 YARA当手里只有 TI 报告、没有样本时先调用ti-ioc-extraction技能SKILL.md从报告中提取 IOCs再按映射规则构建 YARA 特征哈希值→ 放入meta:区块用于关联参考不用于检测——哈希是文件级精确匹配无法覆盖变种域名/URL→ 文本字符串加ascii nocase修饰符文件路径→ 文本字符串加ascii wide注意转义反斜杠Snort/Suricata 的 content 匹配→ 转为 YARA 文本字符串例如content:/gate.php→$uri /gate.php ascii。这一环节的关键是理解IOC 与规则的分工哈希、域名等 IOCs 是精确证据适合做关联与标记而 YARA 规则的价值在于把报告中描述的行为特征与结构特征泛化为可扫描的模式从而发现尚未被报告覆盖的变种。如果后续需要验证规则命中的样本行为可联动ti-anyrun-lookup技能查询沙箱执行轨迹完成交叉确认。7. 回溯狩猎工作流7.1 VirusTotal Retrohunt历史回溯Retrohunt 让规则在 VirusTotal 的历史文件语料库500M 文件约 680TB上执行通常 2~3 小时完成扫描# 提交 retrohunt 任务通过 API VT_API_KEYAPI_KEY # 上传规则 curl -s -X POST https://www.virustotal.com/api/v3/intelligence/retrohunt_jobs \ -H x-apikey: $VT_API_KEY \ -H Content-Type: application/json \ -d { data: { type: retrohunt_job, attributes: { rules: rule test { strings: $s \unique_marker\ condition: $s }, notification_email: analystexample.com, corpus: main, time_range: { start: 1700000000, end: 1710000000 } } } } /workspace/hunting/retrohunt_job.json # 查询任务状态 JOB_ID$(python3 -c import json; print(json.load(open(/workspace/hunting/retrohunt_job.json))[data][id])) curl -s https://www.virustotal.com/api/v3/intelligence/retrohunt_jobs/$JOB_ID \ -H x-apikey: $VT_API_KEY | python3 -m json.tool # 获取匹配结果任务完成后——通常 2-3 小时 curl -s https://www.virustotal.com/api/v3/intelligence/retrohunt_jobs/$JOB_ID/matching_files?limit40 \ -H x-apikey: $VT_API_KEY /workspace/hunting/retrohunt_matches.json请求体中的time_range用 Unix 时间戳限定回溯窗口例如 1700000000~1710000000 对应 2023-11~2023-12。VirusTotal Retrohunt 平台限制以当前技能文档记载为准语料库500M 文件约 680TB扫描耗时 2~3 小时Hunting Pro 支持 12 个月回看窗口Standard 支持 3 个月回看窗口单个任务最多 300 条规则规则文本总量小于 1MB单个任务最多 10,000 个匹配结果LiveHunt实时模式规则对所有新上传文件实时测试。7.2 VirusTotal LiveHunt实时监控LiveHunt 让规则持续运行在 VT 的新上传流上用于对已知活动的持续监控# 创建 LiveHunt 规则集——规则针对每个新上传的 VT 文件测试 curl -s -X POST https://www.virustotal.com/api/v3/intelligence/hunting_rulesets \ -H x-apikey: $VT_API_KEY \ -H Content-Type: application/json \ -d {data:{type:hunting_ruleset,attributes:{name:Campaign_X_Tracker,enabled:true,rules:rule Campaign_X { strings: $c2 \evil-c2.example.com\ condition: uint16(0) 0x5A4D and $c2 },notification_emails:[analystexample.com]}}}注意这里的规则体同样遵循第 2 节的原则——以uint16(0) 0x5A4D文件类型守卫开头避免对非 PE 文件产生噪音。7.3 ANY.RUN YARA SearchANY.RUN 提供面向沙箱语料库约 2TB 恶意样本的 YARA 搜索与静态文件库不同其结果直接链接到可交互回放的沙箱会话# Web 界面https://yara.any.run/ # 1. 将 YARA 规则粘贴到编辑器支持语法高亮、多标签页 # 2. 点击 Search——扫描 2TB 恶意样本语料库 # 3. 结果链接到沙箱会话交互式执行回放 # 4. 免费套餐20 次 YARA Search 请求与 TI Lookup 配额共享 # API 提交 curl -s https://api.any.run/v1/yara/search \ -H Authorization: API-Key ANYRUN_API_KEY \ -H Content-Type: application/json \ -d { rule: rule test { strings: $s \unique_marker\ ascii condition: $s } } /workspace/hunting/anyrun_yara_results.json # 结果中包含沙箱会话 UUID——可打开进行完整分析 # https://app.any.run/tasks/UUIDANY.RUN 的独特价值在于规则命中后立刻获得执行证据链点击会话 UUID 即可查看进程树、网络连接、落地文件与注册表修改这为规则命中的样本提供了动态分析佐证。相关查询语法、免费配额约束与结果解析方法可进一步参考ti-anyrun-lookup技能文档。7.4 回溯狩猎端到端闭环技能把整个流程串成六步闭环这也是分析师技能的推荐执行顺序# 1. 从行动样本编写规则第 3 节 # 2. 本地验证——必须命中已知样本且不得命中良性软件 yara /workspace/rules/campaign.yar /workspace/samples/ yara /workspace/rules/campaign.yar /usr/bin/ 2/dev/null # 期望 0 命中 # 3. 提交到 VT Retrohunt历史回溯 ANY.RUN YARA Search沙箱语料库 # 4. 部署为 VT LiveHunt 进行持续监控 # 5. 收集并去重两个平台的匹配结果 # 6. 下载新样本进行深入分析第 5 步的去重尤为关键同一家族样本可能同时被 VT 与 ANY.RUN 命中去重后按哈希聚类才能准确评估攻击活动的真实规模。8. YARA-X 差异与迁移YARA-X 是 YARA 的 Rust 重写版提供更严格的解析、更好的性能以及 0.4.0 版本的多行 meta 支持。核心命令cargo install yara-x # 安装 yr check /workspace/rules/*.yar # 校验能发现经典 YARA 忽略的 bug yr scan /workspace/rules/*.yar /workspace/samples/ # 扫描技能给出了一条明确的操作准则如果经典 YARA 接受某条规则而 YARA-X 拒绝请修复规则本身——YARA-X 的更严格解析器往往能抓住真实的语法问题例如正则中未转义的特殊字符、废弃的语法结构。这条准则的工程意义在于以 YARA-X 作为规则的质量门确保规则不仅在本地可用也能在部署目标如 VirusTotal 等严格要求语法合法的平台上稳定运行。9. 检测特征库模式、检出目标与误报风险技能沉淀了一张常用检测特征表直接可作为规则编写的配方库规则模式检出目标误报风险uint16(0) 0x5A4D and pe.imports(ntdll.dll, NtCreateThreadEx)通过直接系统调用进行的进程注入低——合法使用罕见$s xor(0x01-0xFF)单字节 XOR 编码字符串中——扫描时间增加math.entropy(0, filesize) 7.5加壳/加密载荷中——压缩归档也会命中pe.number_of_signatures 0 and pe.timestamp X未签名的近期 PE 文件高——大量合法未签名二进制filesize 50KB and pe.imports(ws2_32.dll)小型网络通信二进制低——shellcode 投放器通常体积小这张表的用法是按需取用、叠加约束例如进程注入检测模式本身误报极低可单独成规则而未签名近期 PE这类宽泛模式误报很高必须叠加文件大小、导入表、字符串等多重条件后才能落地。结合第 2.3 节的条件组合技巧如pe.number_of_signatures 0 and filesize 1MB and 2 of ($s*)可显著降低高误报模式的风险。10. 错误处理与边界情况技能把实战中最高频的故障模式整理为排查表每条都给出成因与解法问题成因解决方案规则编译通过但匹配不到任何东西字符串不存在于目标编码中为文本字符串添加ascii wide检查十六进制的字节序误报过多字符串过于通用添加文件类型守卫、大小约束收紧为N of ($s*)yarGen 生成 100 字符串的规则默认行为——包含所有可匹配项修剪到 5-15 条高置信度字符串手动添加条件回溯狩猎任务超时规则太复杂或正则过宽简化正则添加filesize 守卫拆分为多个任务YARA-X 拒绝合法的 YARA 规则解析器更严格修复废弃语法如正则中未转义的特殊字符十六进制??匹配过宽通配符缺少锚定添加周边固定字节改用[N-M]跳转沙箱中 PE 模块不可用YARA 编译时未包含 PE 模块改用uint16(0) 0x5A4D兜底用yara --help检查模块列表LiveHunt 通知延迟VT 处理积压高流量期属正常现象检查仪表盘本地正常但 VT 上不工作模块版本不匹配检查 VT 支持的 YARA 版本与模块其中规则编译通过但匹配不到与??匹配过宽两条互为镜像前者通常是编码修饰符缺失字符串以 wide 存储但规则只配了 ascii后者通常是模式缺乏锚定通配符过多又没有固定字节约束。两者都是规则编写阶段的高频陷阱值得在每次生成规则后主动自查。11. 工具链全景技能把整套工具链汇总如下表中 URL 均为对应工具的官方入口安装与使用方式以官方文档为准工具用途安装方式yara规则扫描引擎apt install yarayarac将规则编译为二进制随 yara 一同安装YARA-XRust 重写版——更严格、更快cargo install yara-xyarGen从样本自动生成规则克隆 yarGen 仓库后安装依赖yarGen-GoyarGen 的 Go 重写版克隆 yarGen-Go 仓库构建yara-pythonPython 绑定pip install yara-pythonVT Retrohunt扫描 500M 历史文件VirusTotal 平台付费VT LiveHunt上传文件的实时规则匹配VirusTotal 平台付费ANY.RUN YARA Search扫描 2TB 恶意样本语料库yara.any.run 在线服务YARA rules repo (ANY.RUN)社区检测规则集ANY.RUN 维护的规则仓库awesome-yara精选规则/工具列表InQuest 维护的精选清单从 Decepticon 视角看这套工具链与仓库内既有能力的衔接点在于规则产出后可调用 defense/tools.py 中的yara_to_defender_xdr_custom_detection将 YARA 规则推送为 Microsoft Defender XDR 自定义高级狩猎检测前提是meta区块含sha256/hash字段与yara_to_crowdstrike_ioa从meta的indicator_type/indicator_value提取指标并推送为 CrowdStrike IOA。也就是说回溯狩猎发现变种 → 编写 YARA 规则 → 部署到 SIEM/EDR 生产监控的完整链路在 Decepticon 内部是闭环的。12. 决策门何时用哪种方案技能以决策门形式收束全文明确了不同输入场景下的处理路径这也是 Agent 在运行时遵循的选择逻辑IF 磁盘上有一个恶意样本 → 提取字符串 导入表 → 手动编写规则第 3 节 → 再运行 yarGen 补充字符串候选第 4 节 IF 有 TI 报告但无样本 → 提取 IOCsti-ioc-extraction 技能→ 构建基于字符串的规则第 6 节 IF 需要发现野外的攻击活动变种 → 提交规则到 VT Retrohunt历史 ANY.RUN YARA Search第 7 节 IF 需要对新变种进行持续监控 → 部署为 VT LiveHunt 规则第 7 节 IF 规则产生误报 → 添加文件类型检查、大小约束、提高字符串阈值第 5 节 IF yarGen 输出过于嘈杂 → 修剪到 5-15 条独有字符串添加 PE/ELF 头检查用良性软件测试 IF 大规模语料上性能不佳 → 条件开头用 uint16/filesize 检查用十六进制模式替代正则第 5 节 IF 经典 YARA 接受但 YARA-X 拒绝 → 修复规则——YARA-X 能发现真实 bug更严格的解析器是正确的这个决策门把前面所有章节串联成一个可执行的判断流程无论输入是样本、报告还是已有规则都能找到明确的下一步动作并指向对应章节的完整操作细节。在 Decepticon 的实际运行中该技能由load_skill按需加载加载机制见 tools/skills.py 与 middleware/skills.py作为分析师角色在威胁狩猎阶段的操作手册直接指导 Agent 的 Bash/Read/Write 动作序列。小结ti-yara-hunting技能的完整价值链条是样本/报告 → 规则 → 本地验证 → 大规模回溯 → 持续监控 → 证据收集。掌握本文的语法要点、样本特征提炼方法、yarGen 收紧纪律与优化原则后即可在 Decepticon 的狩猎流程中产出高质量、低误报、可规模化的 YARA 规则并借助 VT 与 ANY.RUN 的平台能力把单样本分析扩展为跨时空的家族级追踪。赞分享【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载相关推荐Arkime威胁狩猎实战基于YARA规则检测网络中的恶意流量Arkime威胁狩猎实战基于YARA规则检测网络中的恶意流量 Arkime是一个强大的开源大规模全流量捕获、索引和数据库系统能够帮助企业安全团队进行高效的威网络安全网络后端数据可视化7天精通Sigma规则从新手到威胁狩猎专家7天精通Sigma规则从新手到威胁狩猎专家 你是否还在为手动编写安全检测规则而烦恼是否因规则误报率高而备受质疑本文将通过7天实战训练带你从Sigma规则网络安全应用安全终极威胁狩猎实战指南从日志分析到恶意IP检测的完整路径终极威胁狩猎实战指南从日志分析到恶意IP检测的完整路径 h4/h4cker项目是一个由Omar Santos维护的全面网络安全资源库包含数千个与道德黑客、漏网络安全渗透测试密码学创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考