Kisaca-Enes/Anti-Stealer

GitHub: Kisaca-Enes/Anti-Stealer

专注于Windows平台窃密器恶意软件的多层检测分析平台,集静态分析、内存扫描、网络行为监控与规则生成于一体。

Stars: 3 | Forks: 0

# Anti-Stealer # Anti-Stealer (NO-Stealer) ![Anti-Stealer Logo](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/4949af0556221834.png) **Anti-Stealer (NO-Stealer)** 是一个全面的 PowerShell 7+ 扫描引擎,旨在检测 Windows 系统上的 Stealer(窃密器)类恶意软件。它按家族对 Stealer 进行分类,执行精确分析,协助改进 AV/AM 检测规则,并维护最新的签名和 C2 数据库。该引擎执行链式的静态、内存和网络行为分析,收集遥测数据,生成 YARA / Sigma / JSON (NO-ST) 规则,并生成详细的日志和报告。 以下是一份详细的 README,说明了它为何重要、如何使用,以及对研究人员的价值。 # 目录 1. 项目概述 2. 为什么使用它?(优势) 3. 解决的问题 4. 谁能受益?(研究人员、AV 工程师、SOC 团队) 5. 快速开始 6. 工作原理(模块详情 + 阈值) 7. 研究人员分步指南 8. 配置与示例片段 9. 理解报告 10. 最佳实践与安全建议 11. 道德与法律声明 12. 贡献与版本控制 13. 常见问题解答 14. 致谢 # 1. 项目概述 Anti-Stealer 提供了用于检测和分类 Stealer 家族(例如 RedLine, Vidar, Perion, Myth)的工具,具有多重检测层: * 基于哈希的检测 (SHA256) * 静态字符串 / 相似度分析(辅以 YARA) * 运行进程的内存扫描 * C2 IP/域名检测 * 网络行为分析(进程连接模式) * 基于行为的检测(精确匹配 + Jaccard 相似度) * 基于 JSON 的 NO-ST 规则(API 调用、注册表、文件操作遥测) * 报告:每个发现生成 JSON + 日志文件 ![Ekran Görüntüsü](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3850abc25c221843.png) # 2. 为什么使用它?(优势) * **基于家族的分类:** 根据行为和签名而非仅靠文件哈希来确定 Stealer 家族,减少误报并提高 AV 规则的准确性。 * **多层检测:** 结合哈希、静态字符串、内存、网络和行为分析,以检测复杂和多态变种。 * **研究与共享导向:** 生成 YARA / Sigma / NO-ST 规则,并为 AV/AM 或开源威胁情报数据库做贡献。 * **最新的签名与 C2 数据库:** SHA 和 C2 表允许快速检测和预防(防火墙规则)。 * **遥测与取证:** 为事件响应和威胁分析提供详细的进程、网络和内存遥测数据。 * **自动化报告:** 所有发现均以 JSON 格式保存,易于集成到流水线或仪表板中。 # 3. 解决的问题 * 正确分类来自同一代码库的 Stealer 变种。 * 检测基于哈希检测失效的多态或加壳变种。 * 发现隐藏在内存中但不在磁盘上的恶意代码。 * 检测活动的 C2 通信和可疑的网络行为。 * 利用基于行为的检测捕获低频或复杂的攻击模式。 # 4. 谁能受益? * **恶意软件研究人员:** 逆向工程、编写和验证 YARA/Sigma 规则。 * **威胁情报团队:** 扩展 C2 和签名数据库,共享情报。 * **AV/AM 工程师:** 签名生成、验证和测试自动化。 * **SOC / 事件响应团队:** 快速扫描、遥测收集和优先级警报。 * **学术研究人员:** 行为分析、ML 数据集创建、模式建模。 # 5. 快速开始 1. 确保已安装 **PowerShell 7+**。 2. 以管理员身份运行 PowerShell。 3. 克隆仓库或下载脚本。 4. 运行: ``` Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass .\Anti-Stealer.ps1 ``` 5. 报告:`%APPDATA%\Anti-Stealer\FullScanReport.json` 日志:`%APPDATA%\Anti-Stealer\Log\`(每个发现)。 # 6. 工作原理(模块详情 + 阈值) **模块(按顺序执行):** 1. **基于哈希的检测 (Hash-Based Detection):** SHA256 精确匹配。结果:`Confirmed`(已确认)。 2. **静态相似度检测:** 根据签名数据库分析文件中的可打印字符串。 * 相似度 = `matchCount / signatureCount` * 风险阈值: * `Potential-Stealer`:相似度 > 0.08 或 matchCount > 20 * `High`:相似度 > 0.06 * `Medium`:相似度 > 0.03 * `Low`:相似度 > 0.01 * `Clean`:其他情况 3. **内存扫描:** 扫描运行进程的内存区域,并与内存签名进行比较。 4. **网络 C2 检测:** 将活动的 TCP 连接与已知的 C2 IP/域名进行比较。如果匹配则为 `Confirmed-C2`。 5. **网络行为检测:** 基于规则的检查,针对 TLD、多域名、非标准端口、可疑进程名。 6. **行为检测:** * **精确匹配:** ≥2 个规则项匹配 → 发现。 * **Jaccard 相似度:** 跨遥测数据的加权相似度(命令行、文件、注册表、API 调用、网络)。 * 示例权重:CommandLine=0.25, APIcalls=0.25, WrittenFiles=0.15, RegistryWrites=0.15, OpenFiles=0.10, Network=0.10 * 阈值:≥0.3 → 发现;≥0.6 → 高风险 # 7. 研究人员分步指南 ### A. 实验室环境搭建 * 隔离的 VM(带快照)+ 主机专用 / 受控网络 * 网络监控:sinkhole 或 pcap 收集 (Wireshark, Zeek) * 磁盘/注册表/内存遥测:快照 & 内存转储工具(例如 procdump, volatility) ### B. 样本收集与预处理 1. 收集 SHA256 / 元数据(来源、日期、样本 ID)。 2. 静态分析:字符串、PE 头、导入函数。 3. 动态分析:网络 URI、创建的文件、注册表更改。 4. 内存转储:提取内存中的字符串、注入、加壳载荷。 ### C. 规则创建 * **YARA:** 针对静态字符串和字节模式。使用 `yarac`/`yara` 进行测试。 * **Sigma:** 规范化行为模式以用于基于日志的检测。 * **NO-ST (JSON):** 存储 API 调用、注册表、打开的文件、网络遥测;通过 BehaviorBasedDetection.ps1 进行匹配。 ### D. 规则验证 * 在阳性样本上进行验证。 * 针对良性软件进行测试以避免误报。 * 使用 ROC 风格的分析调整 Jaccard / 相似度阈值,以实现最佳检测。 ### E. 自动化与 CI * 每次 PR 运行自动测试:已知的恶意 + 良性测试语料库。 * 确保新签名在单元测试中产生预期的发现。 ### F. 数据共享 * 以匿名、符合道德规范的格式共享 C2、SHA 和规则元数据。 * 将结构化的 JSON/YARA/Sigma 提交给 AV 供应商或开源情报平台。 # 8. 配置与示例片段 ### 示例 NO-ST 规则 (JSON) ``` { "id": "no-st-0001", "family": "RedLine", "apicalls": ["CreateFileA", "WriteFile", "RegSetValueExA"], "writtenfiles": ["C:\\Users\\%USERNAME%\\AppData\\Roaming\\*\\logs.dat"], "registry": ["HKCU\\Software\\*\\Config"], "openfiles": ["C:\\Users\\%USERNAME%\\AppData\\Roaming\\*\\cookies"], "notes": "Behavioral rule from memory-sample-2025-09-12" } ``` ### 示例行为规则 (YAML) ``` family: Myth commandlines: - "-steal -exfil -cfg" writtenfiles: - "%APPDATA%\\Myth\\cache.dat" registry: - "HKCU\\Software\\MythSec\\*" apicalls: - "InternetOpenUrlA" network: - host: "malicious.example.com" port: 443 ``` # 9. 理解报告 每个发现的 JSON 对象包括: * `Module` — 检测模块 (HashBased, StaticSimilarity, MemoryScan, NetworkC2, NetworkBehavior, BehaviorExact, BehaviorJaccard) * `Risk` — `Confirmed`, `Confirmed-C2`, `High`, `Medium`, `Low`, `Potential-Stealer`, `Clean` * `Path`, `PID`, `ProcessName`, `MatchCount`, `Similarity/JaccardScore` — 检测详情 * `DominantFamily` / `MatchFamily` — 家族分类 **建议:** 优先处理 `Confirmed`/`Confirmed-C2`;调查 `Potential-Stealer` 或 `High` 风险。 # 10. 最佳实践与安全建议 * **隔离环境:** 在虚拟机中运行所有分析;保护主机系统。 * **网络控制:** 使用 sinkhole 或虚拟网络;阻止真实的 C2 连接。 * **快照与回滚:** 在实验前拍摄快照。 * **版本控制:** 跟踪样本和规则的版本、来源及引用。 * **测试语料库:** 维护大量的良性/恶意数据集以评估误报。 * **更新与自动化:** 定期更新签名/C2 列表并运行 CI 测试。 # 11. 道德与法律声明 * **仅**用于经许可的研究和分析。 * 未经授权在活动网络或第三方系统上使用是非法的。 * 以匿名且合法合规的方式共享 IoC/C2 数据。 * 在共享规则或遥测数据时尊重隐私。 # 12. 贡献与版本控制 * Fork → 分支 → 修改 → PR * 添加新签名/规则时,请包含样本元数据、测试结果和参考资料。 * 维护包含测试说明和道德准则的 `CONTRIBUTING.md`。 # 13. 常见问题解答 **问:如何减少误报?** 答:收窄 YARA/Sigma 模式,调整 Jaccard 权重和阈值,要求多个 NO-ST 匹配。 **问:发现新的 Stealer 样本该怎么办?** 答:在隔离的 VM 中分析 → 编写 YARA/NO-ST 规则 → 测试 → 向仓库提交 PR → 如果需要协同披露,请通知 AV 供应商。 **问:推荐的阈值是多少?** 答:代码默认值:Jaccard 相似度 ≥0.3(行为),静态相似度阈值:0.01/0.03/0.06/0.08(低→潜在)。请根据您的数据集进行优化。 # 14. 致谢 感谢所有协助分析和逆向工程的贡献者和朋友。该项目源于对 Stealer、作弊器和 Mod 的分析,分享给安全研究社区以造福大众。
标签:C2 监控, DAST, DNS 反向解析, DNS解析, EDR, Homebrew安装, HTTP工具, IPv6, IP 地址批量处理, Libemu, PowerShell, RFI远程文件包含, Sigma 规则, Windows 安全, YARA 规则, 云安全监控, 内存扫描, 勒索软件, 域名分析, 威胁情报, 开发者工具, 开源项目, 恶意软件分析, 数据展示, 样本分析, 窃密软件检测, 红队, 红队检测, 网络安全, 网络安全审计, 脆弱性评估, 自动化响应, 行为检测, 隐私保护, 静态分析