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安全, 二进制模式, 云资产清单, 单元测试, 多人体追踪, 夺旗赛, 密码学, 开源项目, 手动系统调用, 数字取证, 文档结构分析, 模块化架构, 漏洞利用辅助, 网络侦查, 网络调试, 自动化, 自动化脚本, 蓝队分析, 解码, 逆向工程, 递归分析, 隐写术