0%

叫你的 kali 來! - kali MCP

MCP 介紹

MCP(模型上下文協定)是將 AI 應用程式連接到外部系統的開源標準。

使用 MCP,Claude 或 ChatGPT 等 AI 應用程式可以連接到資料來源(例如本機檔案、資料庫)、工具(例如搜尋引擎、計算器)和工作流程(例如專門的提示)——使它們能夠存取關鍵資訊並執行任務。
- modelcontextprotocol.io

MCP

MCP-kali-server 介紹

Kali MCP 伺服器是一個輕量級 API 橋接器,它將 MCP 用戶端(例如:Claude Desktop、5ire)連接到 API 伺服器,從而允許在 Linux 終端上執行命令。

這使得 MCP 能夠運行 nmap、nxc 或任何其他工具等終端命令,並使用 curl、wget、gobuster 等工具與 Web 應用程式互動。

並執行 AI 輔助滲透測試,即時解決 CTF Web 挑戰,幫助解決 HTB 或 THM 中的機器問題。

安裝

kali 端

如果你是舊版的 Kali 使用者,可以直接透過 apt 安裝:

1
2
sudo apt update
sudo apt install mcp-kali-server

Host 端(MCP server)

在 Host OS(例如 macOS、Windows)上部署 mcp-server。

先從 Wh0am123/MCP-Kali-Server 取得 mcp_server.py 腳本。

使用教學

kali-server-mcp 跟 mcp-server,兩個 server 都需開啟才能夠正常使用。

1. 啟動 Kali MCP Server

進入 Kali 終端機,直接輸入: kali-server-mcp

run kali-server-mcp

成功啟動後,你應該會看到服務監聽在本機 5000 port。

2. 設定 Host OS 的 MCP Server

在 Host 端修改 mcp_server.py,讓它知道 Kali 伺服器的位置。

打開檔案,找到以下設定,將 DEFAULT_KALI_SERVER 的 IP 位置修改為你的 kali linux IP:

以上方的例子來說是 192.168.13.129

1
2
3
# Default configuration
DEFAULT_KALI_SERVER = "http://192.168.13.129:5000" # 改成你的 Kali IP
DEFAULT_REQUEST_TIMEOUT = 300 # 預設 Timeout 5 分鐘

3. MCP Client 設定(以 Claude 為例)

MCP-Kali-Server 支援多個 client,包括 Claude、ROO CODE 等。

在這邊我們選擇使用 Claude 作為 Client。

在 Claude Desktop 裡,需要設定 claude_desktop_config.json 來告訴它 MCP server 的位置。

假設你的環境是 macOS,並使用 Python 虛擬環境 uv,設定可以這樣寫:

1
2
3
4
5
6
7
8
9
10
11
12
{
"mcpServers": {
"kali_mcp": {
"command": "python3",
"args": [
"/absolute/path/to/mcp_server.py",
"--server",
"http://192.168.13.129:5000/"
]
}
}
}

完成後重啟 Claude,打開設定頁,你會看到多出一個 MCP server:kali_mcp。

claude mcp tool

實測

在 Claude 介面輸入: 幫我測試 example 作為例子。Claude 會自動挑選合適的工具(例如 nmap),執行掃描,並回傳結果。

執行中畫面

Claude 會根據結果自動解讀輸出,提出後續建議。

分析結果畫面

接下來可以嘗試各式各樣的玩法,讓 AI 幫你打滲透。

結論

MCP-Kali-Server 讓 AI 真正「動手」成為可能,也代表資安工作流程正往半自動化、甚至全自動化的方向演進。實務上,最合適的路徑通常是漸進式的:先自動化高頻、低風險的任務,逐步引入更多控制與審核機制,再視情況放寬或收緊自動化程度。

除了 MCP-Kali-Server 外,還有 PentestGPT 等,同樣是結合 AI 與資安,使工作流程可以在輕鬆一些。

滲透測試如果全部都讓 AI 處理的話就不好玩了:(

參考資料

  1. Model Context Protocol
  2. kali tool - mcp-kali-server
  3. Claude MCP