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, 云资产可视化, 企业安全, 内存扫描, 内核驱动, 威胁检测, 子域名变形, 安全技术, 安全测试工具, 数据包嗅探, 数据擦除, 端点保护, 终端安全, 网络协议, 网络安全, 网络安全审计, 网络资产管理, 脆弱性评估, 防病毒, 隐私保护