内容
# ADEO CTI MCP Server
> 由 ADEO Cybersecurity Services 开发
一个模型上下文协议 (MCP) 服务器,提供对 Shodan 和 VirusTotal API 的访问,以进行全面的安全分析和威胁情报。该服务器由 ADEO Cybersecurity Services 开发和维护,使网络安全分析师能够通过一系列工具和快速模板执行网络情报操作,包括主机信息查找、DNS 操作、漏洞分析、网络扫描和警报管理。
## 关于ADEO网络安全服务
ADEO网络安全服务专注于为网络安全专业人士提供先进的安全解决方案和工具。这个ADEO CTI MCP Server是我们通过创新工具和与行业领先的安全数据源集成来增强网络安全能力的承诺的一部分。
## 特性
### Shodan 功能
- 关于 IP 地址的详细信息,包括开放端口、服务和位置信息
- DNS 查询和反向 DNS 操作
- 域信息检索,包括子域
- 具有面和过滤器的高级搜索功能
- 按需网络扫描
- 网络警报和监控
- 漏洞分析和 CVE(公共漏洞和暴露)跟踪
- 账户和 API 管理
- 历史数据访问
### VirusTotal 集成
- 恶意软件分析与检测
- URL 扫描与声誉检查
- IP 地址声誉分析
- 域名威胁情报
- 文件哈希分析
- 综合威胁报告
### 综合分析功能
- 使用两个平台的统一安全分析
- 关联的威胁情报
- 集成的漏洞评估
- 跨平台数据增强
### 增强功能
- 丰富的数据格式化和展示
- 智能工作流自动化
- 预构建的分析模板
- 自定义搜索过滤器
- 批处理能力
- 实时监控
## 工具
### Shodan 工具
#### 主机信息
1. **host-info**
- 从 Shodan 获取主机的详细信息
- 参数:
- `ip`(必需):要查询的 IP 地址
- `history`(可选):包含历史信息
- `minify`(可选):仅返回基本的主机信息
- 示例:
```
@shodan host-info ip="8.8.8.8" history=true
```
#### DNS 操作
2. **dns-lookup**
- 将主机名解析为 IP 地址
- 参数:
- `hostnames`(必需):要解析的主机名的逗号分隔列表
- 示例:
```
@shodan dns-lookup hostnames="google.com,facebook.com"
```
3. **reverse-dns**
- 查找 IP 地址对应的主机名
- 参数:
- `ips`(必需):要查找的 IP 地址的逗号分隔列表
- 示例:
```
@shodan reverse-dns ips="8.8.8.8,1.1.1.1"
```
4. **domain-info**
- 获取域名的 DNS 记录和子域名
- 参数:
- `domain`(必需):要查找的域名
- 示例:
```
@shodan domain-info domain="example.com"
```
#### 搜索操作
5. **search-host**
- 在 Shodan 中搜索符合特定条件的主机
- 参数:
- `query`(必需):Shodan 搜索查询
- `facets`(可选):用于摘要信息的以逗号分隔的属性列表
- `page`(可选):结果的页码
- 示例:
```
@shodan search-host query="apache country:DE" facets="org,port"
```
6. **search-host-count**
- 获取匹配结果的数量,而不显示完整细节
- 参数:
- `query`(必需):Shodan 搜索查询
- `facets`(可选):以逗号分隔的 facets 列表
- 示例:
```
@shodan search-host-count query="product:nginx"
```
#### 搜索工具
7. **list-search-facets**
- 列出所有可用的搜索面
- 不需要参数
8. **list-search-filters**
- 列出所有可以在搜索时使用的过滤器
- 不需要参数
9. **search-tokens**
- 分析并拆解搜索查询组件
- 参数:
- `query`(必需):要分析的Shodan搜索查询
- 示例:
```
@shodan search-tokens query="apache port:80 country:DE"
```
#### 网络信息
10. **list-ports**
- 列出Shodan正在主动扫描的所有端口
- 不需要参数
11. **list-protocols**
- 列出所有可供扫描的协议
- 不需要参数
#### 扫描操作
12. **request-scan**
- 请求 Shodan 扫描特定目标
- 参数:
- `ips`(必需):以逗号分隔的 IP 地址或 CIDR 表示法的网络列表
- 示例:
```
@shodan request-scan ips="192.168.1.0/24"
```
13. **get-scan-status**
- 检查已提交扫描的状态
- 参数:
- `id`(必需):唯一的扫描 ID
- 示例:
```
@shodan get-scan-status id="SCAN_ID"
```
14. **list-scans**
- 查看所有已提交的扫描
- 不需要参数
#### 警报管理
15. **list-triggers**
- 列出可用的网络警报触发器
- 不需要参数
16. **create-alert**
- 设置网络监控警报
- 参数:
- `name`(必需):警报名称
- `filters`(必需):警报过滤器
- `expires`(可选):过期时间(以秒为单位)
- 示例:
```
@shodan create-alert name="My Alert" filters={"ip":["8.8.8.8"],"port":[80,443]}
```
17. **get-alert-info**
- 获取特定警报的详细信息
- 参数:
- `id`(必需):警报ID
- 示例:
```
@shodan get-alert-info id="ALERT_ID"
```
18. **delete-alert**
- 删除现有的警报
- 参数:
- `id`(必需):要删除的警报ID
19. **edit-alert**
- 修改现有的警报
- 参数:
- `id`(必需):警报ID
- `name`(可选):新警报名称
- `filters`(可选):更新后的过滤器
20. **list-alerts**
- 查看所有活动的警报
- 不需要参数
#### 查询管理
21. **list-queries**
- 查看已保存的搜索查询
- 参数:
- `page`(可选):结果页码
- `sort`(可选):按“votes”或“timestamp”排序
- `order`(可选):“asc”或“desc”
22. **search-queries**
- 在已保存的查询中搜索
- 参数:
- `query`(必需):搜索词
- `page`(可选):页码
23. **list-query-tags**
- 查看热门查询标签
- 参数:
- `size`(可选):返回的标签数量
#### 账户管理
24. **get-profile**
- 查看账户信息
- 不需要参数
25. **get-api-info**
- 检查API订阅状态
- 不需要参数
26. **get-billing**
- 查看账单信息
- 不需要参数
27. **get-http-headers**
- 检查您的请求头
- 不需要参数
28. **get-my-ip**
- 查看您当前的IP地址
- 不需要参数
#### 漏洞分析
29. **cve-lookup**
- 获取CVE详情
- 参数:
- `cve`(必需):CVE ID(例如,CVE-2021-44228)
- 示例:
```
@shodan cve-lookup cve="CVE-2021-44228"
```
30. **cpe-vuln-search**
- 按CPE搜索漏洞
- 参数:
- `cpe`(必需):CPE 2.3字符串
- `minCvss`(可选):最低CVSS分数
- `maxResults`(可选):结果限制
- 示例:
```
@shodan cpe-vuln-search cpe="cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*" minCvss=7.0
```
### VirusTotal 工具
#### URL 分析
1. **virustotal-url-analysis**
- 分析 URL 的安全威胁
- 参数:
- `url`(必需):目标 URL
- 示例:
```
@shodan virustotal-url-analysis url="https://example.com"
```
#### 文件分析
2. **virustotal-file-analysis**
- 检查文件哈希以检测恶意软件
- 参数:
- `hash`(必需):MD5/SHA-1/SHA-256 哈希
- 示例:
```
@shodan virustotal-file-analysis hash="a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
```
#### IP 分析
3. **virustotal-ip-analysis**
- 检查 IP 声誉
- 参数:
- `ip`(必需):目标 IP 地址
- 示例:
```
@shodan virustotal-ip-analysis ip="8.8.8.8"
```
#### 域名分析
4. **virustotal-domain-analysis**
- 分析域名声誉
- 参数:
- `domain`(必需):目标域名
- 示例:
```
@shodan virustotal-domain-analysis domain="example.com"
```
## MCP Server 提示
该服务器提供了一套智能提示,用于全面的网络安全分析工作流程:
### 资产发现
- **名称**: `asset-discovery`
- **描述**: 发现和分析面向互联网的资产和基础设施
- **参数**:
- `target`(必需): 要分析的域名、IP地址或组织名称
- `depth`(可选): 侦察的深度(“basic”或“comprehensive”)
- **示例**:
```
@shodan asset-discovery target=example.com depth=comprehensive
```
### 漏洞评估
- **名称**: `vulnerability-assessment`
- **描述**: 查找与互联网连接的系统中的漏洞
- **参数**:
- `target_type`(必需): 要分析的目标类型("host"、"domain"、"cpe"、"cve")
- `target`(必需): 目标标识符(IP、域名、CPE 字符串或 CVE ID)
- `severity_threshold`(可选): 最小严重性阈值("all"、"medium"、"high"、"critical")
- `include_vt_analysis`(可选): 包含 VirusTotal 安全分析("yes" 或 "no")
- **示例**:
```
@shodan vulnerability-assessment target_type=host target=192.168.1.1 severity_threshold=high
```
### 互联网搜索
- **名称**: `internet-search`
- **描述**: 搜索特定的互联网连接系统或服务
- **参数**:
- `search_type`(必需): 搜索类型("service"、"product"、"vulnerability"、"organization"、"custom")
- `query`(必需): 搜索词或 Shodan 查询字符串
- `filters`(可选): 需要应用的额外 Shodan 过滤器
- **示例**:
```
@shodan internet-search search_type=product query="nginx" filters="country:US port:443"
```
### 网络监控
- **名称**: `network-monitoring`
- **描述**: 设置网络监控和警报
- **参数**:
- `target`(必需): 要监控的IP、网络范围或域名
- `monitor_type`(必需): 要监控的变化类型("new-service"、"vulnerability"、"certificate"、"custom")
- `notification_threshold`(可选): 通知的最低严重性("all"、"high"、"critical")
- **示例**:
```
@shodan network-monitoring target=192.168.0.0/24 monitor_type=vulnerability notification_threshold=high
```
### ICS分析
- **名称**: `ics-analysis`
- **描述**: 分析暴露的工业控制系统和SCADA设备
- **参数**:
- `target_type`(必需): 要分析的目标类型("ip"、"network"、"product"、"country")
- `target`(必需): 目标标识符(IP、网络范围、产品名称或国家代码)
- `protocol`(可选): 关注的特定协议
- **示例**:
```
@shodan ics-analysis target_type=country target=US protocol=modbus
```
### DNS Intelligence
- **名称**: `dns-intelligence`
- **描述**: 分析域名和IP地址的DNS信息
- **参数**:
- `target_type`(必需): 要分析的目标类型("domain"、"ip"、"hostname")
- `target`(必需): 要分析的域名、IP地址或主机名
- `include_history`(可选): 是否包含历史信息("yes"或"no")
- `include_vt_analysis`(可选): 是否包含VirusTotal安全分析("yes"或"no")
- **示例**:
```
@shodan dns-intelligence target_type=domain target=example.com include_vt_analysis=yes
```
### 服务暴露分析
- **名称**: `service-exposure`
- **描述**: 分析在互联网上暴露的特定服务类型
- **参数**:
- `service_type`(必需):服务类型("database"、"webcam"、"industrial"、"remote-access"、"custom")
- `target_scope`(必需):分析范围("global"、"country"、"organization"、"ip-range")
- `target`(可选):基于范围的目标值
- `custom_query`(可选):针对“custom”服务类型的自定义查询
- `include_vt_analysis`(可选):是否包含VirusTotal分析("yes"或"no")
- **示例**:
```
@shodan service-exposure service_type=database target_scope=country target=US
```
### 账户状态
- **名称**: `account-status`
- **描述**: 分析账户信息和API使用状态
- **参数**:
- `info_type`(必需): 要检索的信息类型("profile", "api", "usage", "all")
- **示例**:
```
@shodan account-status info_type=all
```
### 扫描管理
- **名称**: `scan-management`
- **描述**: 管理和分析按需网络扫描
- **参数**:
- `action`(必需): 要执行的扫描操作("initiate"、"check"、"list")
- `target`(可选): 要扫描的目标IP或网络(以逗号分隔)
- `scan_id`(可选): 用于检查状态的扫描ID
- **示例**:
```
@shodan scan-management action=initiate target=192.168.1.0/24
```
### 搜索分析
- **名称**: `search-analytics`
- **描述**: 分析 Shodan 的搜索能力和模式
- **参数**:
- `action`(必需): 分析类型("analyze-query", "explore-facets", "examine-filters", "saved-queries")
- `query`(可选): 要分析的查询(用于 analyze-query 操作)
- **示例**:
```
@shodan search-analytics action=analyze-query query="apache country:DE port:443"
```
### 漏洞猎杀
- **名称**: `vulnerability-hunting`
- **描述**: 在互联网上寻找特定的漏洞
- **参数**:
- `vuln_type`(必需): 要寻找的漏洞类型("cve"、"product"、"service"、"custom")
- `target`(必需): 漏洞目标(CVE ID、产品名称、服务类型)
- `scope`(可选): 搜索范围("global"、"regional"、"industry")
- `scope_value`(可选): 范围的值(国家、行业)
- **示例**:
```
@shodan vulnerability-hunting vuln_type=cve target=CVE-2021-44228 scope=regional scope_value=US
```
### 恶意软件分析
- **名称**: `malware-analysis`
- **描述**: 分析文件和URL以检测恶意软件和安全威胁
- **参数**:
- `target_type`(必需): 要分析的目标类型("file"或"url")
- `target`(必需): 要分析的文件哈希(MD5/SHA1/SHA256)或URL
- `include_relationships`(可选): 包含关系数据("yes"或"no")
- **示例**:
```
@shodan malware-analysis target_type=file target=a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
```
### 基础设施分析
- **名称**: `infrastructure-analysis`
- **描述**: 使用结合的 Shodan 和 VirusTotal 数据分析网络基础设施
- **参数**:
- `target_type` (必需): 要分析的目标类型 ("ip" 或 "domain")
- `target` (必需): 要分析的 IP 地址或域名
- `depth` (可选): 分析深度 ("basic" 或 "comprehensive")
- `include_vt_analysis` (可选): 是否包含 VirusTotal 分析 ("yes" 或 "no")
- **示例**:
```
@shodan infrastructure-analysis target_type=domain target=example.com depth=comprehensive
```
### 威胁狩猎
- **名称**: `threat-hunting`
- **描述**: 使用综合情报在多个数据源中寻找威胁
- **参数**:
- `indicator_type`(必填): 指标类型("ip", "domain", "url", "file")
- `indicator`(必填): 要调查的指标值
- `include_vt_analysis`(可选): 是否包含VirusTotal分析("yes"或"no")
- **示例**:
```
@shodan threat-hunting indicator_type=ip indicator=8.8.8.8 include_vt_analysis=yes
```
## 环境设置
1. 设置所需的环境变量:
```bash
SHODAN_API_KEY=your_shodan_api_key
VIRUSTOTAL_API_KEY=your_virustotal_api_key
```
2. 安装依赖:
```bash
npm install
```
3. 构建项目:
```bash
npm run build
```
4. 启动服务器:
```bash
npm start
```
## API 速率限制
- 根据您的订阅尊重 Shodan API 的限制
- VirusTotal API 有单独的速率限制
- 尽可能使用批量操作
- 在请求之间实施适当的延迟
## 错误处理
服务器处理各种错误场景:
- 无效的 API 密钥
- 速率限制
- 网络问题
- 无效的参数
- 缺少权限
## 贡献
1. Fork 该仓库
2. 创建一个功能分支
3. 提交一个拉取请求
## 许可证
版权 © 2024 ADEO Cybersecurity Services。保留所有权利。
连接信息
猜你喜欢
MarkItDown MCP
MarkItDown-MCP是一个轻量级服务器,用于将URI转换为Markdown。
MarkItDown
将文件和办公文档转换为Markdown的Python工具。
OmniRoute
永不停息的编码。免费 AI 网关 — 一个端点,160+ 提供商,零停机时间。智能 4 级自动降级(订阅 → API → 廉价 →...
OpenInsider-MCP
将openinsider.com暴露给任何MCP兼容客户端的MCP服务器。
ppt-mcp
世界一流的 PowerPoint MCP 服务器 - 通过 COM 自动化实现 PowerPoint 实时控制
log-mcp
用于日志文件分析的 MCP 服务器