AntonSMarinov/yara-rules-collection

GitHub: AntonSMarinov/yara-rules-collection

一套涵盖五大恶意软件分类的 YARA 规则集合,附带 Python 扫描器,帮助安全分析师快速检测和识别已知威胁家族。

Stars: 0 | Forks: 0

# YARA 规则集合 ## **作者:** Anton Marinov ([@AntonSMarinov](https://github.com/AntonSMarinov)) ## 目录 | 分类 | 规则数 | 覆盖家族 | |----------|-------|-----------------| | [通用恶意软件](rules/malware/generic_malware.yar) | 5 | PE 异常、shellcode 注入、UPX 加壳器、注册表持久化 | | [勒索软件](rules/ransomware/ransomware.yar) | 5 | LockBit, Conti, REvil/Sodinokibi, 通用指标 | | [RAT 与后门](rules/rats_backdoors/rats_backdoors.yar) | 5 | Cobalt Strike, Meterpreter, AsyncRAT, njRAT | | [钓鱼文档](rules/phishing/phishing_docs.yar) | 5 | Office 宏、ClickFix、PDF 漏洞、RTF (CVE-2017-11882) | | [Web Shell](rules/webshells/webshells.yar) | 5 | PHP, ASP/ASPX, JSP, China Chopper, 混淆 shell | **总计:涵盖 5 个分类的 25 条规则** ## 扫描器 内置的 `scanner.py` 脚本允许您直接从命令行扫描文件或目录。 ### 环境要求 ``` pip install yara-python colorama ``` ### 用法 ``` # 扫描单个文件 python scanner.py -f suspicious.exe # 递归扫描目录 python scanner.py -d /tmp/samples # 仅使用特定 category 扫描 python scanner.py -d /var/www/html -c webshells # 按文件扩展名过滤 python scanner.py -d /uploads -e .php .asp .jsp # 输出为 JSON(用于 SIEM/pipeline 集成) python scanner.py -f malware.bin --json > results.json ``` ### 示例输出 ``` ════════════════════════════════════════════════════════════ [!] MATCH: Cobalt_Strike_Beacon File : /tmp/samples/beacon.dll Category : rats Severity : CRITICAL Family : Cobalt Strike Desc : Detects Cobalt Strike Beacon payloads Matched : 3 string(s) @ 0x00004a20 $beacon4 'ReflectiveLoader' @ 0x00008b10 $cs4 'MSSE-' @ 0x0000a240 $pipe1 '\\\\.\\pipe\\MSSE-' ════════════════════════════════════════════════════════════ ``` ## 规则结构 每条规则都遵循一致的元数据 schema: ``` rule Rule_Name { meta: author = "Anton Marinov" description = "What this rule detects" category = "ransomware|malware|webshells|phishing|rats_backdoors" family = "Malware family name (if applicable)" severity = "critical|high|medium|low" date = "YYYY-MM-DD" reference = "https://source-url" strings: // ... condition: // ... } ``` ### 严重程度级别 | 级别 | 描述 | |-------|-------------| | `critical` | 活动威胁,需要立即响应 | | `high` | 强烈的入侵指标 | | `medium` | 可疑行为,需要进一步调查 | | `low` | 低置信度指标,需与其他信号结合使用 | ## 规则分类 ### 🦠 通用恶意软件 检测可疑的 PE 特征、shellcode 注入 API 序列、base64 编码的 payload、UPX 加壳以及基于注册表的持久化机制。 ### 🔒 勒索软件 涵盖主要的勒索软件家族(LockBit、Conti、REvil)及通用指标,包括加密 API 的使用、勒索说明文档特征以及卷影副本删除命令。 ### 🎭 RAT 与后门 包含针对 Cobalt Strike Beacon、Metasploit Meterpreter、AsyncRAT、njRAT 的特征,以及通用的键盘记录/屏幕捕获/网络摄像头访问模式。 ### 📧 钓鱼文档 检测恶意的 Office 宏、ClickFix 社会工程学诱饵、PDF JavaScript 漏洞、RTF 漏洞文档(CVE-2017-11882)以及凭据收集页面。 ### 🐚 Web Shell 涵盖 PHP、ASP/ASPX 和 JSP Web Shell,包括 China Chopper 家族以及使用链式编码进行高度混淆的变种。 ## 集成 ### 与 ClamAV 集成 ``` # 转换为 ClamAV 格式(需要 yara2clamav) yara2clamav rules/webshells/webshells.yar > webshells.ndb ``` ### 与 SIEM 集成(JSON 输出) ``` python scanner.py -d /var/www --json | curl -X POST https://your-siem/api/events \ -H "Content-Type: application/json" -d @- ``` ### 基于 Cron 的定时扫描 ``` # /etc/cron.d/yara-scan 0 */6 * * * root python3 /opt/yara-rules-collection/scanner.py \ -d /var/www/html -c webshells --json >> /var/log/yara-scan.json ``` ## 局限性 - 这些规则是为**检测**目的编写的,在开发环境中可能会产生误报 - 在采取行动之前,请务必结合上下文验证匹配结果 - 勒索软件家族规则基于**已知样本**——新型变种可能会逃避检测 - 随着威胁行为者不断演变其 TTPs,请定期更新规则 ## 资源 - [YARA 文档](https://yara.readthedocs.io/) - [MITRE ATT&CK](https://attack.mitre.org/) - [Any.run](https://any.run/) — 交互式恶意软件沙箱 - [VirusTotal](https://www.virustotal.com/) — 多引擎杀毒扫描 - [MalwareBazaar](https://bazaar.abuse.ch/) — 恶意软件样本库 ## 许可证 这些规则仅供**防御和教育目的**使用。 请勿对您不拥有或未获得明确测试授权的系统使用这些规则。 *由 SOC 分析师构建,专为 SOC 分析师服务。*
标签:DNS 反向解析, YARA, 云资产可视化, 威胁情报, 开发者工具, 规则集合, 逆向工具