BruceSec平台整合实践——资产与信息收集
BruceSec 平台整合实践(二):资产与信息收集
系列文章:把自建安全平台的功能版块,一期一期整理成技术博客,内容全部基于本机真实运行实例,附真实截图。
第 2 期:资产与信息收集 —— 从测绘数据源到资产库的闭环。
0. 声明
本文是个人技术实践记录。平台基于开源项目CyberStrikeAI二次开发,上游项目版权归原作者所有;本文所有截图、数据均来自本人本机实例,内容聚焦个人化整合与使用实践,与上游官方文档、宣传材料无关,不构成对上游项目的替代性描述。文中出现的真实路径、密钥、公网资产均已做脱敏处理(截图中涉密列已遮挡)。
1. 为什么先写"资产与信息收集"
做安全测试,第一步永远是搞清楚目标长什么样:有哪些主机、开放了哪些端口、跑着什么服务、暴露了什么指纹。这一步做不扎实,后面漏洞扫描、渗透测试全是空中楼阁。
自建平台的价值恰恰在这里:把"信息收集 → 资产入库 → 持续监控"串成一条闭环,而不是让工具散落在各处、结果躺在临时文件里。本期把 BruceSec 的资产管理与信息收集两个版块完整跑一遍,并展示真实执行数据。
2. 资产概览:一屏看清资产态势
平台「资产管理 → 资产概览」页面,聚合了当前资产库的全局统计(本机实测截图):
截图时点(2026-08-16 上午)的真实统计:
| 指标 | 实测值 |
|---|---|
| 资产总数 | 110(IP 11 / 域名 64 / 端口 14) |
| 协议分布 | https 55(50%)、http 55(50%) |
| 近 7 天发现 | 110(100%) |
| 风险态势 | 新增漏洞 0、高危/严重 0 |
对个人运维来说,这个页面回答三个问题:有多少资产、新发现了什么、有没有被扫描覆盖。"近 7 天发现 110"说明这批资产是最近一次测绘导入的成果——资产入库只是起点,后续扫描任务才能把风险态势从 0 拉起来。
3. 资产库:资产的结构化管理
「资产库」是资产数据的主战场(本机实测截图,目标列已脱敏遮挡):
真实界面要素:
- 操作:刷新、批量导入、+新增资产;
- 筛选:全部状态(活跃/停用)、全部项目、高级筛选、搜索、重置,支持保存筛选视图;
- 表格列:目标 / 服务 / 所属项目 / 归属 / 上次扫描 / 相关漏洞 / 风险等级 / 状态 / 操作(扫描 / 编辑 / 删除);
- 分页:每页 10 / 20 / 50 / 100(当前 110 条、每页 20、共 6 页)。
资产编辑弹窗(本机实测截图,输入值已脱敏遮挡):
资产库背后的数据模型来自平台本机 SQLiteassets表,核心字段如下:
| 维度 | 字段示例 |
|---|---|
| 标识 | 唯一去重键、host、ip、port、domain |
| 暴露面 | protocol、title、server、country/province/city |
| 归属 | 项目、责任人、部门、业务系统、环境(如测试/生产)、重要程度 |
| 风险 | 漏洞数、风险评分、风险等级(默认未评估) |
| 生命周期 | 来源、来源查询、状态(默认活跃)、首次发现时间、最后发现时间 |
| 扫描关联 | 上次扫描时间、扫描会话/队列/任务 ID |
| 标签 | 标签集合(tags) |
资产来源有 4 类:手工录入、网络空间测绘 API 搜索导入(FOFA / ZoomEye / Quake / Shodan)、HTTP API、Agent 任务;同时支持 XLSX/CSV 批量导入(上限 10 万行 / 100MB,导入时去重并统计新增/更新/跳过),也支持导出。
这套结构对后续工作流很重要:资产一旦带上了"项目、责任人、风险等级、标签",漏洞管理、扫描任务、权限控制都能挂在这棵树上。
4. 信息收集:把测绘数据源接进来
「信息收集」页面是一个四步配置向导,目标是把外部测绘数据源变成平台可消费的资产(本机实测截图):
真实界面要素:
| 步骤 | 内容 |
|---|---|
| 01 数据源 | FOFA / ZoomEye / Quake / Shodan 四家测绘平台 |
| 02 查询方式 | 自然语言 AI 解析 / 原始语法 |
| 03 返回配置 | 返回数量、页码、完整模式 |
| 04 返回字段名 | 最小字段 / Web 常用 / 情报增强 |
配置层面:四家测绘 API 的 base_url 与 key 配置在平台config.yaml,同时支持FOFA_API_KEY/ZOOMEYE_API_KEY/QUAKE_API_KEY/SHODAN_API_KEY环境变量覆盖(优先级更高)。密钥统一由后端代理解析,前端不直接接触,避免 Key 暴露。本机目前只配置了 FOFA 一家 Key,其余留空,不影响演示。
"自然语言 AI 解析"是平台的核心亮点:不用记测绘语法,直接说"帮我查某 IP 段开放的 Web 服务",AI 负责把它翻译成可执行的查询(/api/fofa/parse仅生成语法不执行,安全可控)。
5. 实战:一次测绘查询到资产入库的完整闭环
用示例查询执行一次真实的信息收集(本机实测结果页,host/ip/domain/title 列已脱敏遮挡):
真实执行过程:
- 数据源:FOFA;查询方式:原始语法
domain="example.com"(示例域名,已脱敏); - 返回结果:表格展示 host / ip / port / domain / title / protocol / country / province / city / server,共 55 行;
- 结果操作:导出 CSV / JSON / XLSX、入库所选、批量扫描。
这一步是"信息收集 → 资产管理"的闭环关键,且有真实数据变化可验证:
- 查询:从测绘平台拿回 55 条原始数据;
- 入库所选:勾选目标写入资产库,自动去重、继承来源标记;
- 结果验证:资产库总量从截图时的110 条增长到 164 条(来源分布
fofa163 /manual1,状态全部active); - 留痕:每条入库资产的
source_query字段记录了当时的 FOFA 查询语法,可随时回溯这批资产"从哪来"。
平台内部实现为:查询接口POST /api/fofa/search(按 provider 分发四家测绘源)→searchResultToAsset把结果行映射为资产对象 →autoImportSearchResults自动导入资产库,形成"测绘查询 → 资产入库"闭环。
6. 工具整合:我的信息收集武器库
第 1 期讲过,我把多年搜集的工具整合进了平台统一调度体系。本期展示它们在信息收集场景下的实际分工。
6.1 平台内已注册的信息收集工具配方
平台tools/目录下已注册12 个信息收集相关工具配方:threatbook_query、tscanplus、spear、fofa_search、dnsenum、dnslog、fscan、masscan、nbtscan、nmap、rustscan、amass。其中三个自集工具的分工:
| 工具 | 形态 | 信息收集能力 |
|---|---|---|
| TscanPlus(无影) | GUI 综合工具 | 端口探测、服务识别、URL 指纹(内置 5.2W+ 指纹、130+ 红队 CMS/框架标注)、POC 验证(内置 1300+,未认证可用 420)、34 种服务弱口令、目录扫描、子域枚举(可对接 FOFA/Quake/Hunter 等 9 种测绘 API) |
| Spear(SSP 渗透集成工具箱) | GUI 集成平台 | 内置 40+ 工具,信息收集类含 FofaSearch、WebFinder、ScanDir、XrayGUI 等;Webshell 管理含哥斯拉/蚁剑/冰蝎;框架利用含 Shiro/Struts2/Weblogic/ThinkPHP 系列 |
| threatbook_query | 自研脚本 | 微步在线 IP 情报查询:返回恶意判定、威胁标签(Zombie/Scanner/Compromised/C2 等)、位置/运营商/ASN;支持多 IP 批量查询;不传参默认查询监测名单 |
threatbook_query这类脚本型配方,AI 可以直接调度:给定一批资产 IP,自动批量跑情报查询,输出结构化 JSON 供平台解析入库。这正是"工具即配方"机制的实战价值。
6.2 本地工具库 01-信息收集 分类
本地工具库<工具库根目录>/01-信息收集/沉淀了完整的信息收集工具族(实测递归文件 1500+):
| 类别 | 代表性工具 |
|---|---|
| 综合资产测绘 | Goby(资产测绘/攻击面管理,含 Helper/Plugin 变体) |
| 子域名/资产发现 | Hawkeye、Web-Scanner、Cwebscanner、FindSomething |
| 指纹识别 | P1finger(darwin_arm64)、woodpecker-framework |
| 端口扫描 | 御剑高速 TCP 全端口扫描器、SharpHostInfo、qscan |
| 专项信息收集 | jbossScan、whoiscl、burp 插件 TsojanScan |
6.3 cybersec 统一命令行入口
本机维护的<工具集>/cybersec统一入口脚本,覆盖信息收集高频操作:
| 命令 | 能力 |
|---|---|
cybersec scan <host> [ports] | TCP 端口扫描,默认 22,80,443,3306,3389,8080,8443,仅输出 OPEN 端口 |
cybersec fp <url> | Web 指纹:提取 Server / X-Powered-By / Set-Cookie / X-Frame-Options / CSP / HSTS 响应头 |
cybersec search <keyword> | 按分类检索本地工具库 |
cybersec notes/list | 搜索笔记、列出全部分类 |
6.4 信息收集的推荐组合拳
测绘数据源(FOFA 查询 / 自然语言 AI 解析) │ ▼ 平台信息收集向导 → 结果导出 / 入库所选 │ ▼ 资产库(去重、标注来源、分配项目/责任人) │ ▼ 情报核验(threatbook_query 批量查失陷/C2) │ ▼ 深度信息收集(TscanPlus 端口/指纹/子域 或 cybersec scan/fp)这套组合把"外部测绘 + 本地工具 + 威胁情报"串在一起,最后全部落到资产库统一管理。
7. 执行留痕:每次工具调用都可回溯
平台「能力中心 → MCP → 状态监控」记录每一次工具调用的真实执行情况(本机实测截图):
真实执行数据(截图时点):
- 工具类型:18 种,累计调用67 次,成功率 29.9%;
- 调用 TOP:nmap 19 次、exec 18 次、http-framework-test 9 次、rustscan 5 次;
- 与信息收集直接相关:
threatbook_query2 次(成功 2)、fofa_search1 次(成功 1)、create_asset2 次(成功 2)。
平台留痕采用双表机制:
tool_executions:每次调用一行(tool_name / arguments / status / result / error / 起止时间 / 耗时 / 部分输出 / 会话 ID);tool_stats:按工具聚合 total_calls / success_calls / failed_calls / last_call_time。
这意味着任何一次信息收集动作都可以回溯:谁在什么会话里、调了哪个工具、参数是什么、成没成功、花了多久。
8. 角色与工作流:让 AI 自己跑信息收集
平台内置的角色(Role)机制可以把上述流程固化成"人设 + 工具链":
- 信息收集角色:资产发现与信息搜集专家,专注测绘查询与资产整理;
- 内网资产搜集角色:自动执行 nmap 扫描 → 调用资产工具链(create_asset / get_asset / query_assets / update_asset / delete_asset / complete_asset_scan)把结果写入资产库。
也就是说,信息收集不一定非要手动操作:在对话里下达"对内网某网段做资产搜集并入库",Agent 会按角色预设的工具链自动完成扫描、写库、更新扫描状态。这为第 3 期"工作流编排实战"埋下伏笔。
9. 安全边界与脱敏说明
- 本文所有测绘查询均为示例查询(
domain="example.com"),结果截图中的 host/ip/domain/title 列已做遮挡处理; - 真实公网 IP、本机绝对路径、API Key 明文、GitHub 用户名/仓库名均未出现,路径统一使用
<...>占位符泛化; - 信息收集工具仅用于自有系统与已授权测试环境;
- 平台不对外网开放,默认本机访问。
10. 系列规划
| 期数 | 主题 | 状态 |
|---|---|---|
| 第 1 期 | 平台总览与工具生态 | 已发布 |
| 第 2 期 | 资产与信息收集实践 | 本篇 |
| 第 3 期 | 工作流编排实战 | 待整理 |
| 第 4 期 | 漏洞与项目管理 | 待整理 |
| 第 5 期 | MCP 工具管理实战 | 待整理 |
| 第 6 期 | 知识与技能体系 | 待整理 |
| 第 7 期 | WebShell 与 C2 | 待整理 |
| 第 8 期 | 安全治理与审计 | 待整理 |
本文为个人技术实践记录,不构成任何工具使用指导;请遵守当地法律法规,仅在授权范围内进行安全测试。
