ShadowStrike-Labs/ShadowStrike

GitHub: ShadowStrike-Labs/ShadowStrike

一个从零构建的开源 Windows 端点防护平台项目,旨在提供透明可审计的企业级 EDR/XDR 解决方案。

Stars: 9 | Forks: 2

# ShadowStrike Phantom **下一代 Windows 端点防护平台** 这是一个针对 Windows 10/11 64 位操作系统、从零开始实现的企业级端点防护平台,采用与行业领先者相同的架构原则构建。这并非对现有工具的封装 —— 它是一个完整的 EDR/XDR 平台,包含自定义内核传感器、内存映射数据库、YARA 集成以及实时威胁检测。 ## 项目状态 | 组件 | 状态 | |-----------|--------| | **架构** | 已设计 | | **核心基础设施** | 已完成 | | **内核驱动** | 开发中 | | **用户模式服务** | 开发中 | | **GUI** | 尚未启动 | | **编译** | 暂不可用 | **当前状态:** Pre-alpha。代码库当前无法编译。这是一项长期的开源开发计划。 **为何现在发布?** 为了透明度、责任感以及社区反馈。公开构建有助于保持纪律,并能吸引认同该项目愿景的贡献者。 ## 愿景 ShadowStrike Phantom 旨在成为一个功能完备的开源 Windows 端点防护平台,实现商业 EDR/XDR 解决方案所采用的同类检测技术: - 通过 Windows Filter Manager (minifilter) 实现**内核级文件系统过滤** - 带有注入检测的**实时进程监控** - **行为分析**与启发式检测 - 用于签名匹配的 **YARA 规则集成** - 用于高性能查询的**内存映射数据库** - 针对篡改和规避的**自我保护** - 包含 IOC 管理的**威胁情报源** 这是一个为期 3-5 年的开发计划。目标是在 2028 年前推出生产就绪的测试版。 该平台未来将推出三个版本:**Phantom Home**、**Phantom EDR** 和 **Phantom XDR**。 ## 架构概览 ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ USER MODE │ ├─────────────────────────────────────────────────────────────────────────────┤ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ GUI App │ │ Service │ │ Scanner │ │ Threat Intel │ │ │ │ (Future) │ │ Manager │ │ Engine │ │ Feed Manager │ │ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────────┬──────────┘ │ │ │ │ │ │ │ │ └────────────────┴────────────────┴─────────────────────┘ │ │ │ │ │ ┌──────────────┴──────────────┐ │ │ │ Communication Port │ │ │ │ (FilterConnectPort) │ │ │ └──────────────┬──────────────┘ │ ├───────────────────────────────────┼─────────────────────────────────────────┤ │ KERNEL MODE │ ├───────────────────────────────────┼─────────────────────────────────────────┤ │ ┌──────────────┴──────────────┐ │ │ │ PhantomSensor.sys │ │ │ │ (Minifilter Driver) │ │ │ └──────────────┬──────────────┘ │ │ │ │ │ ┌──────────────────────────────┼──────────────────────────────┐ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌──────────────┐ ┌───────────────────────────┐ ┌──────────────────────┐ │ │ │ File System │ │ Process/Thread/Image │ │ Registry Callback │ │ │ │ Callbacks │ │ Callbacks │ │ (Persistence Det.) │ │ │ └──────────────┘ └───────────────────────────┘ └──────────────────────┘ │ │ │ │ ┌──────────────┐ ┌───────────────────────────┐ ┌──────────────────────┐ │ │ │ Scan Cache │ │ Object Callbacks │ │ Self Protection │ │ │ │ (SHA-256) │ │ (Handle Protection) │ │ (Anti-Tamper) │ │ │ └──────────────┘ └───────────────────────────┘ └──────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` ## 核心技术 ### 内核驱动 - 用于文件系统拦截的 Windows Filter Manager minifilter - 用于注册表监控的 `CmRegisterCallbackEx` - 用于进程创建追踪的 `PsSetCreateProcessNotifyRoutineEx` - 用于基于句柄的自我保护的 `ObRegisterCallbacks` - 用于内核模式 SHA-256 哈希的 CNG (BCrypt) ### 检测引擎 - **SignatureStore**: 自定义 B-tree 索引签名数据库,集成 YARA - **PatternStore**: Aho-Corasick 和 Boyer-Moore 模式匹配,支持 SIMD 加速 - **HashStore**: Bloom filter + 内存映射哈希数据库,实现 O(1) 查询 - **ThreatIntel**: IOC 管理,支持 STIX/TAXII 源 ### 反规避检测 - 调试器检测(硬件断点、时序攻击) - VM/沙箱规避检测 - Process hollowing 和注入检测 - 变形和多态代码分析 - 加壳检测与脱壳 ### 基础设施 - 用于持久化的内存映射文件数据库 - 尽可能使用无锁数据结构 - 全面的日志记录和遥测 - 崩溃处理与恢复 ## 项目结构 ``` ShadowStrike/ ├── bin/ │ ├── debug/ │ └── release/ ├── build/ ├── debug/ ├── docs/ ├── Drivers/ │ ├── Build/ │ ├── Install/ │ ├── PhantomSensor/ │ │ ├── cache/ │ │ ├── callbacks/ │ │ ├── communication/ │ │ ├── core/ │ │ ├── exclusions/ │ │ ├── selfprotection/ │ │ ├── sync/ │ │ ├── tracing/ │ │ ├── utilities/ │ │ └── modules/ │ └── Shared/ ├── include/ │ ├── gmock/ │ ├── gtest/ │ ├── nlohmann/ │ ├── pugixml/ │ ├── SQLiteCpp/ │ ├── FuzzyHasher/ │ ├── tlsh/ │ ├── YARA/ │ └── Zydis/ ├── ShadowStrike/ ├── src/ │ ├── AntiEvasion/ │ ├── Backup/ │ ├── Banking/ │ ├── Communication/ │ ├── Config/ │ ├── Core/ │ ├── CryptoMinersProtection/ │ ├── Database/ │ ├── Email/ │ ├── Exploits/ │ ├── External/ │ ├── Forensics/ │ ├── GameMode/ │ ├── HashStore/ │ ├── IoT/ │ ├── PatternStore/ │ ├── PEParser/ │ ├── Performance/ │ ├── Privacy/ │ ├── RansomwareProtection/ │ ├── RealTime/ │ ├── Security/ │ ├── Service/ │ ├── SignatureStore/ │ ├── ThreatIntel/ │ ├── Update/ │ ├── USB_Protection/ │ ├── Utils/ │ ├── WebProtection/ │ └── Whitelist/ ├── tests/ │ ├── integration/ │ ├── fuzz/ │ └── unit/ └── vendor/ ├── gtest_framework/ ├── openssl_lib/ ├── yara_lib/ └── zydis_lib/ ``` ## 构建 **当前状态:** 无法编译。一旦代码库达到可编译状态,将提供建构说明。 **要求(供未来参考):** - Visual Studio 2022 并支持 C++20 - Windows Driver Kit (WDK) 10.0.22621.0 或更高版本 - Windows SDK 10.0.22621.0 或更高版本 ## 贡献 本项目尚处于早期开发阶段。欢迎贡献,但请理解: 1. **代码状态尚不理想。** 我们正在努力改进。 2. **架构可能会变更。** 早期阶段意味着会发生重构。 3. **文档尚不完整。** 我们正在随开发逐步完善。 如果您有兴趣贡献: - 在提交 PR 之前,请先开启 Issue 进行讨论 - 专注于具体、定义明确的改进点 - 请耐心等待审核 ## 为何开源? 商业杀毒软件产品是黑盒。用户在无法核实其实际行为的情况下,信任它们对系统进行内核级访问。 ShadowStrike Phantom 旨在做到: - **透明**: 每一行代码均可审计 - **教育性**: 了解真正的 EDR/XDR 引擎如何工作 - **值得信赖**: 无隐藏遥测或后门 - **社区驱动**: 由安全社区构建,服务于安全社区 ## 免责声明 **ShadowStrike Phantom 目前处于实验阶段,不应用于生产环境的安全防护。** - 请勿依赖 ShadowStrike Phantom 保护您的系统 - 检测能力尚不完整 - 自我保护机制尚未经过实战检验 - 使用风险自负 ## 许可证 [GNU Affero General Public License v3.0 (AGPL-3.0)](LICENSE.txt) 这意味着: - 您可以自由使用、修改和分发本代码 - 任何衍生作品必须同样采用 AGPL-3.0 - 您必须保留原作者署名 - 您必须分享您的修改 - 如果您通过网络运行修改后的版本,必须向该服务的用户提供源代码 ## 致谢 本项目站在巨人的肩膀上: - Windows Driver Kit 文档和示例 - YARA 项目(用于恶意软件模式匹配) - 安全研究社区(用于检测技术) - 开源项目:SQLite、Zydis 等 ## 联系方式 商务合作请发送邮件至:contact@ShadowStrike.dev *正在构建开源端点防护平台...*
标签:AMSI绕过, C++, Conpot, DNS 解析, EDR, Minifilter, Windows内核开发, Windows安全, YARA, 云资产可视化, 企业安全, 内存扫描, 内核驱动, 威胁检测, 子域名变形, 安全技术, 安全测试工具, 数据包嗅探, 数据擦除, 端点保护, 终端安全, 网络协议, 网络安全, 网络安全审计, 网络资产管理, 脆弱性评估, 防病毒, 隐私保护