schnehowebking/NeuroCTF
GitHub: schnehowebking/NeuroCTF
NeuroCTF 是一个基于 .NET 构建的模块化 CTF 自动化框架,通过递归分析管线智能链式解码数据并自动提取 Flag。
Stars: 2 | Forks: 0
# NeuroCTF
NeuroCTF 是一个使用 C# 和 .NET 构建的可扩展 CTF 自动化框架。它旨在帮助贡献者构建模块化的命令行工具集,用于在多个 CTF 领域对未知输入进行解码、提取、检查和评分。
该仓库旨在通过开源协作不断壮大。当前的代码库已包含结构清晰的运行时、插件加载、递归分析流水线、CLI/REPL、测试工具,以及日益丰富的内置模块,涵盖密码学、取证、逆向工程、Pwn 辅助工具、Web 分析、网络检查、隐写术和 OSINT 风格的侦察。
## 项目状态
NeuroCTF 正在积极开发中。
目前已实现:
- 清晰的架构,划分为 `Core`、`Application`、`Infrastructure`、`Modules`、`CLI`、`Plugins` 和 `Tests`
- 具有评分和已访问状态保护的递归分析流水线
- 用于常见解码、归档遍历、Artifact 提取、JWT 检查、轻量级逆向/Pwn 辅助工具、PCAP-lite 检查、URL/域侦察等的内置模块
- 基于反射的插件加载及模块描述符
- 人类可读和 JSON 报告输出
- 自托管的单元测试、Fuzz 工具和基准测试工具
仍需贡献者参与:
- 更深入的解析器和协议支持
- 更好的启发式算法和评分模型
- 更完整的 Web/网络/逆向/Pwn 工作流
- 文档、示例和插件生态系统的增长
## 为何贡献
如果您想为以下内容做出贡献,NeuroCTF 是一个不错的选择:
- 现代 .NET 中的攻击性安全工具架构
- 可插拔的 CLI 系统
- 二进制/文件/网络解析
- 启发式分析流水线
- 面向 CTF 的实用模块
- Fuzzing、基准测试和健壮性工作
该项目的结构经过刻意设计,使贡献者可以在不先了解整个代码库的情况下,专注于独立的模块或基础设施部分。
## 快速开始
```
dotnet build .\NeuroCTF.slnx
.\neuroctf.cmd modules
.\neuroctf.cmd analyze --input "ZmxhZ3tuZXVyb30="
dotnet run --project .\tests\NeuroCTF.Tests\NeuroCTF.Tests.csproj
```
在 Linux 或 macOS 上:
```
chmod +x ./neuroctf
./neuroctf modules
./neuroctf analyze --input "ZmxhZ3tuZXVyb30="
```
## 示例命令
```
.\neuroctf.cmd analyze --file .\sample.bin
.\neuroctf.cmd decode --module base64 --input "ZmxhZ3t0ZXN0fQ=="
.\neuroctf.cmd bruteforce --module xor --input "..."
.\neuroctf.cmd exploit --module elf-sec --file .\a.out
.\neuroctf.cmd scan --file .\capture.pcap
.\neuroctf.cmd recon --input "https://ctf.example.com/challenge?id=42"
.\neuroctf.cmd extract --file .\archive.zip --out .\artifacts
.\neuroctf.cmd shell
```
## 示例分析输出
```
Source: inline
Timestamp (UTC): 2026-04-11T09:16:51.1771334+00:00
File type: unknown
Entropy: 4.715
Printable ratio: 1.000
Top candidates:
Score=0.987 Depth=1 Pipeline=[jwt]
Preview={"flag":"flag{jwt}"}
Flags:
flag{jwt} (confidence 0.98)
Pipeline visualization:
[jwt]
```
## 仓库布局
```
.
|-- Directory.Build.props
|-- NeuroCTF.slnx
|-- README.md
|-- plugins
| `-- NeuroCTF.SamplePlugin
|-- src
| |-- NeuroCTF.Application
| |-- NeuroCTF.Cli
| |-- NeuroCTF.Core
| |-- NeuroCTF.Infrastructure
| `-- NeuroCTF.Modules
`-- tests
|-- NeuroCTF.Tests
|-- NeuroCTF.Benchmarks
`-- NeuroCTF.Fuzz
```
## 架构概览
### Core
`src/NeuroCTF.Core`
包含:
- 领域契约
- 不可变分析模型
- 模块/插件抽象
- 共享选项和执行上下文
关键文件:
- [Contracts.cs](/src/NeuroCTF.Core/Abstractions/Contracts.cs)
- [AnalysisModels.cs](/src/NeuroCTF.Core/Models/AnalysisModels.cs)
### Application
`src/NeuroCTF.Application`
包含:
- 分析编排
- 检测启发式算法
- 评分
- 流水线遍历
- 共享模块执行服务
关键文件:
- [PipelineEngine.cs](/src/NeuroCTF.Application/Services/PipelineEngine.cs)
- [ModuleExecutionService.cs](/src/NeuroCTF.Application/Services/ModuleExecutionService.cs)
### Infrastructure
`src/NeuroCTF.Infrastructure`
包含:
- 配置连线
- 流式输入检查
- 插件发现和加载
- 报告格式化
- 会话持久化
关键文件:
- [StreamingInspector.cs](/src/NeuroCTF.Infrastructure/Input/StreamingInspector.cs)
- [ReflectionPluginLoader.cs](/src/NeuroCTF.Infrastructure/Plugins/ReflectionPluginLoader.cs)
### Modules
`src/NeuroCTF.Modules`
包含以下内置模块:
- Crypto(密码学):Base32、Base64、hex、XOR、Caesar、JWT
- Forensics(取证):carving(提取)、递归归档遍历、归档密码提示
- Reverse(逆向):PE/ELF 检查、.NET 指标、轻量级反汇编、轻量级 CFG
- Pwn:循环模式、偏移查找器、ELF 安全检查、轻量级 ROP gadget
- Network/Web:PCAP-lite、HTTP 请求重放解析、参数发现
- Stego(隐写):LSB 提取
- OSINT:URL 和域侦察
### CLI
`src/NeuroCTF.Cli`
包含:
- 顶级命令路由
- 报告渲染
- REPL shell
- 模块列出和导出流程
关键文件:
- [CliRouter.cs](/src/NeuroCTF.Cli/Commands/CliRouter.cs)
- [InteractiveShell.cs](/src/NeuroCTF.Cli/Shell/InteractiveShell.cs)
### Plugins
`plugins/NeuroCTF.SamplePlugin`
包含一个最小示例插件,演示如何以外部方式提供模块并动态加载。
### Tests
`tests`
包含:
- `NeuroCTF.Tests`:自托管的单元/集成风格测试
- `NeuroCTF.Benchmarks`:可重复的性能冒烟测试基准
- `NeuroCTF.Fuzz`:格式错误和重度二进制输入的健壮性检查
## 开发工作流
### 前置条件
- .NET SDK 10 目前与已签入的工作区和本地验证流程相匹配
- Windows 或 Linux shell
本仓库中的项目目标是 `.NET 10`,因为这是验证期间使用的最新安装的 SDK/reference-pack 集。该设计仍保持与最初 `.NET 8+` 意图的兼容性。
### 构建
```
dotnet build .\NeuroCTF.slnx
```
### 简单的本地运行命令
从仓库根目录:
```
.\neuroctf.cmd [options]
```
示例:
```
.\neuroctf.cmd modules
.\neuroctf.cmd analyze --input "ZmxhZ3tuZXVyb30="
.\neuroctf.cmd recon --input "https://ctf.example.com/challenge?id=42"
```
在 Linux 或 macOS 上:
```
./neuroctf [options]
```
### 运行单元测试
```
dotnet run --project .\tests\NeuroCTF.Tests\NeuroCTF.Tests.csproj
```
### 运行 Fuzz 工具
```
dotnet run --project .\tests\NeuroCTF.Fuzz\NeuroCTF.Fuzz.csproj
```
### 运行基准测试
```
dotnet run --project .\tests\NeuroCTF.Benchmarks\NeuroCTF.Benchmarks.csproj
```
## 路线图领域
对贡献者而言的高价值下一步:
- 更丰富的 PE/ELF 解析和真正的符号提取
- 更强大的 Web 和 PCAP 工作流
- 更深入的隐写/图像/音频分析
- 更好的启发式评分和语言模型
- 更丰富的流水线图可视化
- 持久化 REPL 历史记录和会话书签
- 更完整的归档/容器遍历
## 许可证
本仓库目前不存在许可证文件。
如果该项目旨在进行广泛的开源协作,则应将添加许可证视为近期的优先事项。
标签:DNS解析, ESC4, JWT分析, OSINT, Web安全, 二进制模式, 云资产清单, 单元测试, 多人体追踪, 夺旗赛, 密码学, 开源项目, 手动系统调用, 数字取证, 文档结构分析, 模块化架构, 漏洞利用辅助, 网络侦查, 网络调试, 自动化, 自动化脚本, 蓝队分析, 解码, 逆向工程, 递归分析, 隐写术