Secbot 虚拟测试环境使用指南
本文档面向在 VMware 中搭建的 Ubuntu 目标机 进行 secbot 功能验证与测试。提供可直接使用的 prompt 示例,确保各功能能触发对应的推理与工具调用。文档中示例 IP 使用占位符 192.168.x.x 或 192.168.56.10,请替换为你实际的目标机 IP。
一、虚拟测试环境搭建
1.1 VMware 网络配置
| 模式 | 说明 | 适用场景 |
|---|---|---|
| NAT | 虚拟机通过宿主机共享上网,与宿主机互通 | 宿主机与目标机在同一网段(如 VMnet8) |
| 仅主机 (Host-Only) | 虚拟机与宿主机组成独立网段,不通外网 | 纯内网测试,推荐 |
| 桥接 (Bridged) | 虚拟机与宿主机同处物理网络 | 需要与物理机同网段时使用 |
建议:使用 仅主机 或 NAT,并固定网段(如 192.168.56.0/24 或 192.168.xxx.0/24),便于在 prompt 中使用固定示例 IP。
- 宿主机与目标机需能互相 ping 通。
- 在宿主机上运行 secbot,目标为 VMware 内的 Ubuntu 虚拟机 IP(如
192.168.56.10)。
1.2 Ubuntu 目标机
- 推荐版本:Ubuntu 22.04 LTS。
- 建议安装:
- SSH:便于远程控制与授权测试
sudo apt update && sudo apt install -y openssh-server - 可选 Web 服务:用于 Web 类 prompt(端口扫描、漏洞扫描、目录扫描等)
sudo apt install -y nginx或sudo apt install -y apache2
- SSH:便于远程控制与授权测试
- 记录目标机 IP(在虚拟机内执行
ip a或hostname -I),下文示例中统一用192.168.56.10表示,请自行替换。
1.3 连通性检查
在宿主机(运行 secbot 的机器)上执行:
ping -c 2 192.168.56.10
能收到回复即表示网络正常。若使用其他网段,请将 192.168.56.10 改为你的目标机 IP。
二、Secbot 前置准备
2.1 安装与启动 Secbot
# 克隆并安装
git clone https://github.com/iammm0/secbot.git
cd secbot
npm install
# 启动(后端 + TUI)
npm start
# 或
npm run start:stack
要求 Node.js 24+ 和 npm。
启动后进入交互式界面,底部有输入框。
2.2 选择 LLM 模型
输入斜杠命令:
/model
按提示选择 Ollama 或 DeepSeek 等后端,并确保:
- 使用 Ollama 时:本机已启动
ollama serve,且已 pull 所需模型(默认llama3.2;当前模型列表接口不会自动拉取模型)。 - 使用 DeepSeek 等 API 时:按提示配置 API Key。
2.3 目标授权(可选但推荐)
对虚拟机目标进行授权后,部分工具与流程会检查授权状态。
- 方式一:在交互中说「将 192.168.56.10 加入授权」或由 agent 引导添加授权。
- 方式二:直接编辑
data/authorizations.json(若不存在可先创建data目录),添加目标 IP 的授权记录。 - 查看授权:在交互中输入
/list-authorizations可列出当前已授权目标。
进行漏洞扫描、攻击测试等操作前,建议先完成对目标 IP 的授权。
三、按功能分类的 Prompt 示例
以下每类给出 目的、可直接输入的 prompt 以及 预期行为(会调用的工具或步骤),便于自检。
3.1 内网发现 / 侦察
目的:发现 VMware 内网中的存活主机与开放端口。
| Prompt(直接复制到输入框) | 预期行为 |
|---|---|
| 扫描当前主机所在内网环境 | 推断本机网段,执行内网发现与端口扫描(如 ping_sweep、port_scan、recon) |
| 扫描 192.168.56.0/24 网段,找出存活主机和开放端口 | 对指定网段做存活探测与端口扫描 |
3.2 单机端口与服务识别
目的:对指定 Ubuntu 目标做端口扫描、服务版本检测。
| Prompt | 预期行为 |
|---|---|
| 对 192.168.56.10 做端口扫描 | 调用 port_scan,列出开放端口 |
| 检测 192.168.56.10 的 22、80、443 端口上的服务版本 | 调用 service_detect 或 port_scan,识别服务类型与版本 |
3.3 漏洞扫描
目的:触发漏洞扫描工具(VulnScanTool),对目标或 Web 进行漏洞检测。
| Prompt | 预期行为 |
|---|---|
| 对 192.168.56.10 进行漏洞扫描 | 端口/服务扫描后执行 vuln_scan |
| 对 http://192.168.56.10 做 Web 漏洞扫描 | 针对 Web 服务做漏洞扫描(含 Web 漏洞检测) |
3.4 Web 检测
目的:目录扫描、WAF 检测、技术栈识别等。
| Prompt | 预期行为 |
|---|---|
| 对 http://192.168.56.10 做目录扫描 | 调用 dir_bruteforce 或类似 Web 目录发现工具 |
| 检测 http://192.168.56.10 是否部署 WAF | 调用 waf_detect 等工具 |
3.5 多步任务(直接描述)
目的:一次输入完成多步编排(先扫描再漏洞扫描再报告),由 Agent 自动规划并执行。
操作:在输入框直接输入完整任务描述,例如:
- 对 192.168.56.10 先做端口扫描,再对开放的服务做漏洞扫描,最后生成简要报告
预期行为:Planner 生成多步任务,依次调用 port_scan → vuln_scan → 报告生成相关工具。
3.6 授权与目标管理
目的:查看已授权目标、已发现目标等。
| 操作 | 说明 |
|---|---|
/list-authorizations | 列出当前已授权目标(对应 data/authorizations.json) |
/list-targets | 列出已发现的目标主机 |
| 列出当前已授权目标 | 自然语言,agent 可能调用授权相关能力或引导查看 |
3.7 防御 / 巡检(本机)
目的:对本机(运行 secbot 的宿主机)做安全扫描、查看防御状态。
| Prompt 或命令 | 预期行为 |
|---|---|
/defense-scan | 执行完整防御扫描(defense_manager 相关) |
| 执行完整安全扫描 | 可能触发 defense_scan 或 vuln_scan 等 |
| 查看防御系统状态 | 查看防御模块状态;或使用 /defense-status |
3.8 报告与审计
目的:生成安全报告、查看操作留痕。
| Prompt 或命令 | 预期行为 |
|---|---|
| 生成刚才扫描的安全报告 | 根据本轮对话中的扫描结果生成报告(report_generator 等) |
/audit | 查看操作留痕列表 |
/audit export | 导出审计报告 |
3.9 问答自动分流
目的:验证 agent 理解与建议能力,不执行任何扫描或工具。
- 输入:针对一台只开放 22 端口的 Ubuntu 服务器,建议做哪些安全检查?
预期行为:仅返回文字建议,不调用 port_scan、vuln_scan 等工具。
3.10 专家模式与敏感操作(SuperHackbot)
目的:使用 superhackbot 进行需确认的攻击测试/漏洞利用类操作。
- 输入:
/agent superhackbot切换到专家模式。 - 输入示例:对已授权的 192.168.56.10 进行 SQL 注入检测(或其它漏洞验证类描述)。
- 若 agent 请求确认,输入:
/accept或按提示选择确认。
预期行为:可能调用 AttackTestTool、ExploitTool 等高级工具,敏感操作会要求用户 /accept 确认。
四、最小测试集(快速冒烟)
若只想用最少步骤验证「内网发现 → 单机端口 → 漏洞扫描 → 报告」链路,可依次执行:
- 扫描当前主机所在内网环境 — 确认内网发现与端口扫描正常。
- 对 192.168.56.10 做端口扫描 — 将
192.168.56.10改为你的目标机 IP。 - 对 192.168.56.10 进行漏洞扫描 — 确认漏洞扫描工具被调用。
- 生成刚才扫描的安全报告 — 确认报告生成与上下文理解。
直接输入多步任务也可一条龙完成:例如「对 192.168.56.10 先做端口扫描,再对开放服务做漏洞扫描,最后生成简要报告」。
五、故障排查
| 现象 | 建议检查 |
|---|---|
| 扫描无结果、超时 | 宿主机与目标机是否互通(ping);目标机防火墙是否放行相应端口(如 22、80、443) |
| 提示未授权 | 是否已对目标 IP 授权(/list-authorizations、data/authorizations.json) |
| 模型无响应或报错 | 是否已用 /model 选好后端;Ollama 是否已启动;API Key 是否已配置 |
六、安全与合规声明
- 仅限授权目标:仅对您拥有或已获得书面授权的系统进行测试。
- 建议环境:所有攻击与漏洞验证均在虚拟机或隔离测试环境(如 VMware 内的 Ubuntu)中进行,避免影响生产或他人资产。
- 请遵守所在地法律法规;未经授权的渗透测试可能违法。