DIRB MCP服务器
提供运行工具的模型上下文协议(MCP)服务器 DIRB web内容通过SSH扫描到Kali Linux机器。
DIRB是一个基于字典的web内容扫描程序,通过对web服务器发起字典攻击并分析响应来发现隐藏的目录和文件。
特性
- 目录扫描:发现web服务器上的隐藏目录和文件
- 多个单词列表:支持20多个内置单词表,包括特定于漏洞的单词表
- 身份验证支持:HTTP基本身份验证和代理身份验证
- 代理集成:通过Burp Suite、OWASP ZAP或其他代理进行路由扫描
- 技术特定扫描:针对Apache、IIS、Tomcat、SharePoint等的目标单词表
- 完整DIRB选项:访问所有DIRB命令行功能
先决条件
- Kali Linux 安装了DIRB的机器(可通过SSH访问)
- 基于SSH密钥的身份验证 配置到Kali机器
- Node.js 运行MCP服务器的机器上的18+
安装
git clone https://github.com/schwarztim/sec-dirb-mcp.git
cd sec-dirb-mcp
npm install
npm run build配置
设置环境变量以配置SSH连接:
| 变量 | 描述 | 默认值 |
|---|---|---|
KALI_SSH_HOST | Kali Linux主机名或IP | kali |
KALI_SSH_USER | SSH用户名 | (使用SSH配置) |
KALI_SSH_PORT | SSH端口 | 22 |
DIRB_WORDLIST_PATH | 默认单词表路径 | /usr/share/dirb/wordlists/common.txt |
SSH配置
为了实现无缝连接,请配置您的 ~/.ssh/config:
Host kali
HostName 192.168.1.100
User kali
IdentityFile ~/.ssh/id_rsaMCP客户端配置
克劳德桌面版
添加到您的Claude Desktop配置(~/.config/claude/claude_desktop_config.json 在Linux或 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"dirb": {
"command": "node",
"args": ["/path/to/sec-dirb-mcp/dist/index.js"],
"env": {
"KALI_SSH_HOST": "kali",
"KALI_SSH_USER": "kali"
}
}
}
}Claude 代码命令行界面
添加到用户MCP配置(~/.claude/user-mcps.json):
{
"mcpServers": {
"dirb": {
"command": "node",
"args": ["/path/to/sec-dirb-mcp/dist/index.js"],
"env": {
"KALI_SSH_HOST": "kali"
}
}
}
}可用工具
dirb_scan
对目标URL进行标准目录扫描。
Parameters:
- url (required): Target URL (e.g., http://example.com)
- wordlist: Wordlist name or path (default: common)
- extensions: File extensions to append (e.g., ".php,.html,.bak")
- recursive: Enable recursive scanning (default: true)
- delay: Delay in ms between requests
- caseInsensitive: Case-insensitive search
- ignoreCode: HTTP status code to ignore
- timeout: Scan timeout in seconds (default: 300)dirb_scan_auth
使用HTTP基本身份验证进行扫描。
Parameters:
- url (required): Target URL
- username (required): HTTP Basic Auth username
- password (required): HTTP Basic Auth password
- wordlist, extensions, timeout: Same as dirb_scandirb_scan_proxy
通过代理进行扫描(例如,Burp Suite)。
Parameters:
- url (required): Target URL
- proxy (required): Proxy address (e.g., "127.0.0.1:8080")
- proxyAuth: Proxy authentication (username:password)
- wordlist, extensions, timeout: Same as dirb_scandirb_vuln_scan
使用特定技术的单词表进行以漏洞为重点的扫描。
Parameters:
- url (required): Target URL
- technology (required): Target technology
Options: apache, iis, tomcat, weblogic, frontpage, netware, cgis, sap, sharepoint
- extensions, delay, timeout: Same as dirb_scandirb_scan_custom
高级扫描,可完全控制所有DIRB选项。
Parameters:
- All parameters from other tools, plus:
- cookie: Cookie string for requests
- userAgent: Custom User-Agent
- showLocation: Show Location header
- noEndingSlash: Don't force ending slash
- silentMode: Don't show tested words
- showNotFound: Show NOT_FOUND pages
- noWarnings: Don't stop on warnings
- customHeader: Custom HTTP header
- clientCert: Client certificate path
- fineTuning404: Fine tuning of 404 detectiondirb_list_wordlists
列出所有可用的预设单词表。
dirb_check_status
检查SSH连接和DIRB安装状态。
单词列表
将军
common-标准通用目录名big-大型综合单词表small-使用常用名称快速扫描
特定漏洞
vulns_apache-Apache漏洞vulns_iis-IIS漏洞vulns_tomcat-Tomcat路径vulns_weblogic-WebLogic路径vulns_frontpage-FrontPage路径vulns_sharepoint-SharePoint路径vulns_cgis-常见CGI漏洞vulns_sap-SAP路径vulns_netware-NetWare路径
特定语言的
catala,euskera,spanish
使用示例
基本扫描
"Scan http://target.local for directories"使用扩展进行扫描
"Scan http://target.local looking for .php, .html, and .bak files"漏洞扫描
"Run an Apache vulnerability scan against http://target.local"经过身份验证的扫描
"Scan http://target.local with username admin and password secret123"代理扫描
"Scan http://target.local through Burp proxy at 127.0.0.1:8080"安全考虑
- 授权:只有您有明确权限测试的扫描系统
- 速率限制:使用
delay避免压倒性目标的参数 - 代理使用情况:通过代理进行交通检查和证据收集
- 凭证:避免硬编码凭证;使用环境变量
故障排除
SSH连接问题
- 手动测试SSH:
ssh kali "echo hello"- 验证是否添加了SSH密钥:
ssh-add -l- 检查SSH配置权限:
chmod 600 ~/.ssh/config
chmod 700 ~/.ssh找不到DIRB
在Kali Linux上安装DIRB:
sudo apt update && sudo apt install dirb超时问题
增加大型单词表或慢速网络的超时参数:
timeout: 600 # 10 minutes许可证
MIT许可证-请参阅 许可证 文件。
贡献
欢迎投稿!请随时提交拉取请求。
免责声明
此工具仅用于授权的安全测试。未经授权访问计算机系统是非法的。在扫描任何系统之前,始终获得适当的授权。
