sec积累mcp
  
一种模型上下文协议(MCP)服务器 OWASP Amass -用于子域枚举和攻击面映射的首要开源工具。该服务器使AI助手能够通过自然语言进行全面的侦察和资产发现。
概述
此MCP服务器在AI助手和OWASP Amass之间提供桥梁,通过SSH在远程Kali Linux系统上执行命令。它公开了Amass的所有主要功能,包括子域枚举、情报收集、变更跟踪和可视化生成。
主要特点
- 子域枚举 -被动(OSINT)、主动(DNS)和暴力发现
- 情报收集 -反向WHOIS、ASN查找、CIDR调查
- 攻击面跟踪 -监控基础设施随时间的变化
- 图数据库 -查询和管理发现的资产
- 可视化导出 -D3.js、Vis.js、Maltego、GEXF格式
- 可配置数据源 -支持50多个OSINT API
先决条件
1.Kali Linux与Amass
Amass必须安装在Kali Linux系统上:
# Option 1: Package manager
sudo apt update && sudo apt install amass
# Option 2: Go install (latest version)
go install -v github.com/owasp-amass/amass/v4/...@master2.SSH访问配置
需要对Kali系统进行基于密钥的SSH身份验证。在中配置主机别名 ~/.ssh/config:
Host kali
HostName 192.168.1.100
Port 22
User your-username
IdentityFile ~/.ssh/id_ed25519测试连接性:
ssh kali amass -version3.可选:Sudoers配置
如果Amass需要提升Kali系统的权限:
echo "your-username ALL=(ALL) NOPASSWD: /usr/bin/amass" | sudo tee /etc/sudoers.d/amass安装
git clone https://github.com/schwarztim/sec-amass-mcp.git
cd sec-amass-mcp
npm install
npm run build配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
AMASS_SSH_HOST | kali | Kali系统的SSH主机别名 |
AMASS_TIMEOUT | 600000 | 命令超时(毫秒)(默认值为10分钟) |
Claude桌面配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"amass": {
"command": "node",
"args": ["/path/to/sec-amass-mcp/dist/index.js"],
"env": {
"AMASS_SSH_HOST": "kali",
"AMASS_TIMEOUT": "600000"
}
}
}
}Amass配置(可选)
为了获得增强的结果,请在中配置API密钥 ~/.config/amass/config.yaml 在Kali系统上:
scope:
domains:
- example.com
options:
resolvers:
- 8.8.8.8
- 1.1.1.1
data_sources:
- name: SecurityTrails
credentials:
apikey: your-api-key
- name: Shodan
credentials:
apikey: your-api-key可用工具
amass_enum
执行DNS枚举和子域发现。
参数:
domain(必需)-要枚举的目标域passive-仅OSINT模式(无DNS查询,更隐蔽)active-启用DNS解析验证brute-启用暴力子域发现wordlist-自定义单词表路径以进行暴力破解recursive-递归暴力发现子域json-以JSON格式输出结果src-显示每个结果的数据源ip-在输出中包含IP地址asn-按ASN编号筛选cidr-按CIDR范围筛选timeout-自定义超时(毫秒)
amass_intel
收集有关组织攻击面的情报。
参数:
domain-调查目标域org-用于反向WHOIS查找的组织名称asn-要调查的ASN号码ip-要调查的IP地址cidr-待调查的CIDR范围whois-启用反向WHOIS查找active-启用主动情报收集
amass_track
跟踪攻击面随时间的变化。
参数:
domain(必需)-要跟踪的目标域last-与最后N个枚举进行比较since-自日期比较(格式:2006-01-02)history-显示完整的枚举历史记录
amass_db
查询和管理Amass图形数据库。
参数:
domain-按域筛选names-显示发现的子域名ip-显示发现的IP地址asn-显示ASN信息cidr-显示CIDR范围summary-显示摘要统计信息list-列出可用枚举
amass_viz
从枚举数据生成可视化。
参数:
domain-按域筛选d3-D3.js HTML可视化的输出路径visjs-Vis.js HTML可视化的输出路径maltego-Maltego CSV的输出路径gexf-GEXF图形格式的输出路径
amass_brute
专用暴力子域发现。
参数:
domain(必填)-目标域wordlist(必需)-单词表文件的路径recursive-递归蛮力发现min_for_recursive-递归前的最小子域
amass_config
检查Amass配置和可用数据源。
参数:
check-验证配置文件list_sources-列出所有可用数据源
amass_version
获取已安装的Amass版本。
使用示例
被动枚举(隐形)
{
"tool": "amass_enum",
"arguments": {
"domain": "example.com",
"passive": true,
"src": true
}
}具有IP解析的主动枚举
{
"tool": "amass_enum",
"arguments": {
"domain": "example.com",
"active": true,
"ip": true,
"json": true
}
}综合蛮力
{
"tool": "amass_enum",
"arguments": {
"domain": "example.com",
"brute": true,
"recursive": true,
"wordlist": "/usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt"
}
}组织智能
{
"tool": "amass_intel",
"arguments": {
"org": "Example Corporation",
"whois": true
}
}跟踪基础设施变更
{
"tool": "amass_track",
"arguments": {
"domain": "example.com",
"last": 5
}
}生成D3可视化
{
"tool": "amass_viz",
"arguments": {
"domain": "example.com",
"d3": "/tmp/example-graph.html"
}
}安全考虑
- 此工具专为 仅限授权安全测试
- 在扫描任何域之前,始终获得适当的授权
- 被动模式(
-passive)将检测风险降至最低 - 主动和暴力模式会产生大量DNS流量
- 通过Amass配置配置速率限制以避免检测
故障排除
SSH连接问题
# Test SSH connectivity
ssh kali echo "Connection successful"
# Test Amass availability
ssh kali amass -version超时错误
对于大范围,增加超时时间:
{
"arguments": {
"domain": "example.com",
"timeout": 1800000
}
}无结果
- 检查是否可以从Kali访问DNS解析器
- 验证API密钥配置是否正确
- 首先尝试被动模式来测试OSINT源
参考文献
许可证
MIT许可证-请参阅 许可证 了解详情。
免责声明
此工具仅用于教育和授权的安全测试目的。用户有责任确保在扫描任何系统或网络之前获得适当的授权。未经授权的扫描可能违反法律法规。
