krishsheth23/reconx

GitHub: krishsheth23/reconx

ReconX 是一个生产级攻击面管理(ASM)与自动化侦察平台,通过多源子域名枚举、DNS 情报分析、技术栈指纹识别和端口扫描,帮助安全团队持续测绘与监控互联网暴露资产。

Stars: 0 | Forks: 0

# ReconX:自动化资产发现与侦察仪表板 ReconX 是一个生产级的攻击面管理和资产发现仪表板,专为安全研究人员、漏洞赏金猎人和企业组织设计,旨在对其面向互联网的资源进行测绘、剖析和监控。 ``` _____ __ __ | __ \ \ \ / / | |__) |___ ___ ___ _ __ \ V / | _ // _ \/ __/ _ \| '_ \ > < | | \ \ __/ (_| (_) | | | | / . \ |_| \_\___|\___\___/|_| |_|/_/ \_\ [ Attack Surface Mapping Operations ] ``` ## 🚀 核心功能 1. **用户身份验证与 RBAC**:安全的基于 JWT 的会话 token 和 API 密钥轮换,用于自动化扫描配置。 2. **授权范围验证引擎**:扫描控件通过 DNS TXT 记录或 HTTP `.well-known` 文件挑战在执行扫描前强制进行目标所有权验证。 3. **子域名枚举引擎**:结合被动证书日志查询(crt.sh API)和主动字典暴力破解。 4. **DNS 情报模块**:解析复杂的 DNS 链(A、AAAA、MX、CNAME、TXT、NS)并突出显示常见的安全配置错误(例如缺失防欺骗策略)。 5. **技术剖析引擎**:检查 HTTP 响应、cookie 和 header 以索引 runtime 技术栈(React、Next.js、Nginx、Cloudflare)。 6. **端口与服务发现**:使用非阻塞 socket 检查扫描目标主机 IP 地址上的暴露端口和服务。 7. **交互式拓扑图**:使用自定义的 HTML5 canvas 图表可视化地渲染和导航资产。 ## 🛠️ 系统架构 ReconX 采用现代解耦架构: * **前端 UI**:Next.js 15、Tailwind CSS、Lucide 图标和 Canvas 拓扑渲染。 * **后端 API**:Node.js、Express、TypeScript 和 Prisma。 * **Scan Runner**:非阻塞后台 worker 队列(在生产环境中支持 BullMQ/Redis,在本地执行时支持直接异步 worker 降级方案)。 ## ⚙️ 快速开始安装 ReconX 支持直接在 container 中运行或在本地进行开发。 ### 方法一:Docker Compose(生产环境配置) 使用一行命令构建并启动整个 cluster(PostgreSQL、Redis、Express、Next.js 前端): ``` docker compose up --build ``` * **前端仪表板**:`http://localhost:3000` * **后端 REST API**:`http://localhost:5001` ### 方法二:本地运行(开发环境配置) #### 1. 配置后端 1. 进入 `backend` 目录: cd backend 2. 安装 npm 包: npm install 3. 初始化 Prisma 数据库客户端: npx prisma generate 4. 启动服务器: npm run start #### 2. 配置前端 1. 打开一个新的终端并进入 `frontend` 目录: cd frontend 2. 安装依赖包: npm install 3. 启动 Next.js 开发服务器: npm run dev 4. 打开浏览器并导航至 `http://localhost:3000`。 ## 🛡️ 目标授权范围挑战流程 要验证域名所有权,请在弹窗中按照以下步骤操作: 1. 注册目标域名(例如:`example.com`)。 2. 添加一条 DNS TXT 记录,包含: * **Host**:`_reconx.example.com` * **Value**:`reconx-verification=` 3. 点击“Verify Challenge”。后台服务将查询目标 DNS 服务器以批准扫描权限。 ## 📖 API Endpoints | Method | Endpoint | Description | Auth Required | | :--- | :--- | :--- | :--- | | **POST** | `/api/auth/register` | 注册新的安全分析师 | No | | **POST** | `/api/auth/login` | 登录并获取 JWT token | No | | **GET** | `/api/auth/profile` | 获取用户资料和当前的 API 密钥 | Yes | | **POST** | `/api/projects` | 创建授权范围项目 | Yes | | **POST** | `/api/domains` | 注册新的授权范围目标域名 | Yes | | **POST** | `/api/domains/:id/verify` | 验证域名挑战文本 | Yes | | **POST** | `/api/scans/trigger` | 将资产扫描任务加入队列 | Yes | | **GET** | `/api/reports/export` | 下载 CSV 或 JSON 格式的报告指标 | Yes | ## 👨‍💻 作品集展示 ReconX 被设计为一个作品集项目。如果您正在展示此项目,请重点突出: * **解耦架构**:后端 API、后台 worker 和响应式 SOC 仪表板的清晰划分。 * **域名所有权安全防护**:展示防止未经授权扫描资产的安全策略的实用案例。 * **Canvas 渲染性能**:高效的自定义渲染引擎,能够处理高密度的网络布局。
标签:DInvoke, GitHub, GNU通用公共许可证, MITM代理, Node.js, 子域名枚举, 安全管理平台, 实时处理, 搜索引擎查询, 数据统计, 测试用例, 端口扫描, 系统安全, 自动化攻击, 请求拦截, 资产测绘