mcpField
P
Proyecto HTB Agent

Proyecto HTB Agent

本地服务
github.com/sjimnarAI 与智能体273 周前更新

关于 Proyecto HTB Agent

Proyecto HTB Agent 是面向 CTF 和 Hack The Box 靶机的 cline.bot AI Agent,通过 Kali Linux MCP 服务执行安全测试工作流,并以自然语言文档定义流程。

主要功能

  1. 01以自然语言定义工作流
  2. 02读取靶机 info.json
  3. 03执行 Nmap、Gobuster 等流程
  4. 04支持工具异步运行

适用场景

  1. 01按靶机信息启动 HTB 测试
  2. 02枚举服务并分析潜在漏洞
  3. 03运行耗时扫描并稍后取回结果

MCP 相关

依赖已配置并可访问的 Kali Linux MCP 服务;cline.bot 通过 MCP 工具执行各项测试工作流。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

HTB Agent 项目

本项目旨在使用 Kali Linux MCP 服务,为 cline.bot 开发一个 AI Agent,协助解决 Hack The Box(HTB)靶机和安全 CTF 挑战。

项目理念

本项目采用自然语言文档而非 Python 代码来定义工作流。这充分利用了 cline.bot 的原生能力,使其能够直接与 Kali MCP 服务交互,无需额外的抽象层。

AI Agent 会解读:

  • main_agent.py 中定义的工作流整体结构
  • workflows.md 中每个工作流的详细实现
  • info.json 文件中每台靶机的具体信息

项目结构

  • htb-agent/:包含 Agent 的核心逻辑和配置。
    • workflows/:定义与工具交互的工作流。
      • workflows.md:以自然语言编写的每个工作流的详细文档。
    • rules/:用于存放 AI 决策规则和启发式方法。
    • ctf_docs/:存储每台 CTF 靶机的文档和输入/输出信息。
      • [nombre_maquina]/:特定靶机的文件夹(例如 titanic.htb/)。
        • info.json:包含靶机信息和 Agent 结果的文件。
    • mcp_configs/:Kali MCP 服务的配置。
    • agent_scripts/:用于实现 Agent 整体结构的主要脚本。
      • main_agent.py:定义工作流的整体结构。
    • demo_executor.py:用于模拟 Agent 执行过程的演示脚本。

如何使用 Agent

若要让 cline.bot Agent 开始处理一台 HTB 靶机:

  1. 准备靶机文件夹:

    • 在 htb-agent/ctf_docs/ 中创建一个以靶机名称命名的新文件夹(例如 htb-agent/ctf_docs/titanic.htb/)。
    • 在此文件夹中创建 info.json 文件,并填写最低限度的必需信息。
  2. info.json 中的最低限度必需信息: info.json 文件至少应包含以下字段:

    {
      "target_ip": "DIRECCION_IP_DE_LA_MAQUINA",
      "hostname": "NOMBRE_DE_HOST_DE_LA_MAQUINA",
      "os": "SISTEMA_OPERATIVO_DE_LA_MAQUINA",
      "initial_scan_results": [],
      "known_vulnerabilities": [],
      "credentials": {},
      "notes": ""
    }
    
    • target_ip:目标靶机的 IP 地址(例如 "10.10.11.55")。
    • hostname:靶机的主机名(例如 "titanic.htb")。
    • os:靶机的操作系统(例如 "Linux"、"Windows")。
    • 其余字段(initial_scan_results、known_vulnerabilities、credentials、notes)会随着 Agent 的工作进展而更新。
  3. 调用 Agent: 准备好 info.json 后,你可以通过向我发送如下指令来调用 Agent:

    Cline, inicia el agente para la máquina '[nombre_maquina]'
    

    (例如:“Cline, inicia el agente para la máquina 'titanic.htb'”)

    我(Agent)会读取 info.json,解读 main_agent.py 中定义的工作流结构,并查阅 workflows.md 中的详细实现,通过我的原生 use_mcp_tool 能力直接执行所需工具。

Kali MCP 服务

此项目需要配置并可访问的 Kali Linux MCP 服务。连接配置位于 htb-agent/mcp_configs/kali_mcp_config.py。

当前 Kali MCP 服务配置:

  • 服务名称: kali-mcp
  • URL: http://10.196.1.68:5000

请确保 Kali 虚拟机已启动、MCP 服务正在运行且可访问,并且已在 VSCode 的 MCP 服务配置中启用。

已实现的工作流

已实现的工作流在 htb-agent/workflows/workflows.md 中有详细说明,包括:

  1. 连接到 HTB VPN
  2. 配置 Hosts 文件
  3. 使用 Nmap 进行初始扫描
  4. 使用 Gobuster 进行 Web 枚举
  5. 使用 Nikto 进行 Web 分析
  6. 使用 SQLMap 搜索 SQL 漏洞
  7. 使用 Hydra 进行暴力破解
  8. 异步执行工具

工作流 #8(异步执行工具)特别适用于 Gobuster 或 Nikto 等需要较长执行时间的工具。此模式允许在后台执行工具,并在之后获取结果,从而避免超时并提高工作流效率。

异步执行示例
# 1. Ejecutar herramientas en segundo plano
mkdir -p /home/kali/scan_results/machine_name && nohup gobuster dir -u http://machine_name.htb -w /usr/share/wordlists/dirb/common.txt -o /home/kali/scan_results/machine_name/gobuster_dirs.txt > /dev/null 2>&1 &

# 2. Verificar estado de herramientas
ps aux | grep -E 'gobuster|nikto' | grep -v grep

# 3. Recuperar resultados cuando estén disponibles
cat /home/kali/scan_results/machine_name/gobuster_dirs.txt

有关每个工作流实现的更多详情,请参阅 workflows.md。

解题流程阶段

Agent 遵循结构化流程来解决 HTB 机器:

  1. 环境准备:连接 VPN、配置 hosts
  2. 初始侦察:使用 Nmap 扫描以发现服务
  3. 服务枚举:详细分析发现的每项服务
  4. 初始利用:利用漏洞获取初始访问权限
  5. 后渗透与权限提升:巩固访问权限并提升权限

这些阶段定义在 htb-agent/agent_scripts/main_agent.py 中,但 Agent 可以根据每台机器的具体特征进行调整。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。