Secbot 虚拟测试环境使用指南

本文档面向在 VMware 中搭建的 Ubuntu 目标机 进行 secbot 功能验证与测试。提供可直接使用的 prompt 示例,确保各功能能触发对应的推理与工具调用。文档中示例 IP 使用占位符 192.168.x.x192.168.56.10请替换为你实际的目标机 IP


一、虚拟测试环境搭建

1.1 VMware 网络配置

模式说明适用场景
NAT虚拟机通过宿主机共享上网,与宿主机互通宿主机与目标机在同一网段(如 VMnet8)
仅主机 (Host-Only)虚拟机与宿主机组成独立网段,不通外网纯内网测试,推荐
桥接 (Bridged)虚拟机与宿主机同处物理网络需要与物理机同网段时使用

建议:使用 仅主机NAT,并固定网段(如 192.168.56.0/24192.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 nginxsudo apt install -y apache2
  • 记录目标机 IP(在虚拟机内执行 ip ahostname -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

按提示选择 OllamaDeepSeek 等后端,并确保:

  • 使用 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 理解与建议能力,不执行任何扫描或工具。

  1. 输入:针对一台只开放 22 端口的 Ubuntu 服务器,建议做哪些安全检查?

预期行为:仅返回文字建议,不调用 port_scan、vuln_scan 等工具。

3.10 专家模式与敏感操作(SuperHackbot)

目的:使用 superhackbot 进行需确认的攻击测试/漏洞利用类操作。

  1. 输入:/agent superhackbot 切换到专家模式。
  2. 输入示例:对已授权的 192.168.56.10 进行 SQL 注入检测(或其它漏洞验证类描述)。
  3. 若 agent 请求确认,输入:/accept 或按提示选择确认。

预期行为:可能调用 AttackTestTool、ExploitTool 等高级工具,敏感操作会要求用户 /accept 确认。


四、最小测试集(快速冒烟)

若只想用最少步骤验证「内网发现 → 单机端口 → 漏洞扫描 → 报告」链路,可依次执行:

  1. 扫描当前主机所在内网环境 — 确认内网发现与端口扫描正常。
  2. 对 192.168.56.10 做端口扫描 — 将 192.168.56.10 改为你的目标机 IP。
  3. 对 192.168.56.10 进行漏洞扫描 — 确认漏洞扫描工具被调用。
  4. 生成刚才扫描的安全报告 — 确认报告生成与上下文理解。

直接输入多步任务也可一条龙完成:例如「对 192.168.56.10 先做端口扫描,再对开放服务做漏洞扫描,最后生成简要报告」。


五、故障排查

现象建议检查
扫描无结果、超时宿主机与目标机是否互通(ping);目标机防火墙是否放行相应端口(如 22、80、443)
提示未授权是否已对目标 IP 授权(/list-authorizationsdata/authorizations.json
模型无响应或报错是否已用 /model 选好后端;Ollama 是否已启动;API Key 是否已配置

六、安全与合规声明

  • 仅限授权目标:仅对您拥有或已获得书面授权的系统进行测试。
  • 建议环境:所有攻击与漏洞验证均在虚拟机或隔离测试环境(如 VMware 内的 Ubuntu)中进行,避免影响生产或他人资产。
  • 请遵守所在地法律法规;未经授权的渗透测试可能违法。

相关文档