mcpField
P
Proyecto HTB Agent

Proyecto HTB Agent

ローカル
github.com/sjimnarAI・エージェント273 週間前に更新

Proyecto HTB Agent について

Proyecto HTB Agentは、Hack The BoxのマシンやCTF向けのcline.bot用AIエージェントです。Kali LinuxのMCPサーバーを介してセキュリティテストを実行し、ワークフローを自然言語の文書で定義します。

主な機能

  1. 01自然言語によるワークフロー定義
  2. 02info.jsonからマシン情報を取得
  3. 03NmapやGobusterなどのワークフロー
  4. 04ツールの非同期実行

活用シーン

  1. 01マシン情報を基にHTBテストを開始
  2. 02サービスを列挙して脆弱性を調査
  3. 03長時間スキャンを実行し後で結果を取得

MCP 対応

アクセス可能なKali Linux MCPサーバーの設定が必要です。cline.botはMCPツールを使ってテストワークフローを実行します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

HTB エージェントプロジェクト

このプロジェクトの目的は、Kali Linux の MCP サーバーを利用して、Hack The Box(HTB)のマシンやセキュリティ CTF の攻略を支援する cline.bot 向けの AI エージェントを開発することです。

プロジェクトの理念

このプロジェクトでは、ワークフローを定義するために Python コードではなく、自然言語によるドキュメントを使用するアプローチを採用しています。これにより、追加の抽象化レイヤーを必要とせず、Kali MCP サーバーと直接やり取りできる cline.bot のネイティブ機能を活用できます。

AI エージェントは、以下を解釈します。

  • main_agent.py で定義されたワークフロー全体の構造
  • workflows.md に記載された各ワークフローの詳細な実装
  • info.json ファイルに記載された各マシン固有の情報

プロジェクト構成

  • htb-agent/:エージェントの中核ロジックと設定が含まれています。
    • workflows/:ツールとやり取りするためのワークフローを定義します。
      • workflows.md:各ワークフローを自然言語で詳しく説明したドキュメントです。
    • rules/:AI の意思決定に必要なルールとヒューリスティクスを格納します。
    • ctf_docs/:各 CTF マシンのドキュメントと入出力情報を保存します。
      • [nombre_maquina]/:特定のマシン用のフォルダーです(例:titanic.htb/)。
        • info.json:マシンの情報とエージェントの結果を格納するファイルです。
    • mcp_configs/:Kali MCP サーバーの設定です。
    • agent_scripts/:エージェントの構造を実装する主要なスクリプトです。
      • main_agent.py:ワークフロー全体の構造を定義します。
    • demo_executor.py:エージェントの実行をシミュレートするデモ用スクリプトです。

エージェントの使い方

cline.bot のエージェントに 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)は、エージェントの作業の進行に応じて更新されます。
  3. エージェントを起動します: info.json の準備ができたら、次のような指示を出してエージェントを起動できます。

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

    (例:「Cline, inicia el agente para la máquina 'titanic.htb'」)

    エージェントである私は 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 を参照してください。

解決プロセスのフェーズ

エージェントは、HTB マシンを攻略するため、以下のような構造化されたプロセスに従います。

  1. 環境の準備:VPN 接続、Hosts の設定
  2. 初期偵察:サービスを検出するための Nmap スキャン
  3. サービスの列挙:検出された各サービスの詳細な分析
  4. 初期侵入:脆弱性を利用した初期アクセスの獲得
  5. 侵入後の活動と権限昇格:アクセスの確立と権限の昇格

これらのフェーズは htb-agent/agent_scripts/main_agent.py で定義されていますが、エージェントは各マシンの固有の特徴に応じて調整できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。