mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-07-06 20:47:57 +02:00
Add files via upload
This commit is contained in:
+121
@@ -0,0 +1,121 @@
|
||||
# 工具配置文件说明
|
||||
|
||||
## 概述
|
||||
|
||||
每个工具现在都有独立的配置文件,存放在 `tools/` 目录下。这种方式使得工具配置更加清晰、易于维护和管理。
|
||||
|
||||
## 配置文件格式
|
||||
|
||||
每个工具配置文件是一个 YAML 文件,包含以下字段:
|
||||
|
||||
### 必需字段
|
||||
|
||||
- `name`: 工具名称(唯一标识符)
|
||||
- `command`: 要执行的命令
|
||||
- `enabled`: 是否启用(true/false)
|
||||
|
||||
### 可选字段
|
||||
|
||||
- `args`: 固定参数列表(数组)
|
||||
- `short_description`: 简短描述(一句话说明工具用途,用于工具列表,减少token消耗)
|
||||
- `description`: 工具详细描述(支持多行文本,用于工具文档和详细说明)
|
||||
- `parameters`: 参数定义列表
|
||||
|
||||
## 工具描述
|
||||
|
||||
### 简短描述 (`short_description`)
|
||||
|
||||
- **用途**:用于工具列表,减少发送给大模型的token消耗
|
||||
- **要求**:一句话(20-50字)说明工具的核心用途
|
||||
- **示例**:`"网络扫描工具,用于发现网络主机、开放端口和服务"`
|
||||
|
||||
### 详细描述 (`description`)
|
||||
|
||||
支持多行文本,应该包含:
|
||||
|
||||
1. **工具功能说明**:工具的主要功能
|
||||
2. **使用场景**:什么情况下使用这个工具
|
||||
3. **注意事项**:使用时的注意事项和警告
|
||||
4. **示例**:使用示例(可选)
|
||||
|
||||
**重要说明**:
|
||||
- 工具列表发送给大模型时,使用 `short_description`(如果存在)
|
||||
- 如果没有 `short_description`,系统会自动从 `description` 中提取第一行或前100个字符
|
||||
- 详细描述可以通过 MCP 的 `resources/read` 接口获取(URI: `tool://tool_name`)
|
||||
|
||||
这样可以大幅减少token消耗,特别是当工具数量很多时(如100个工具)。
|
||||
|
||||
## 参数定义
|
||||
|
||||
每个参数可以包含以下字段:
|
||||
|
||||
- `name`: 参数名称
|
||||
- `type`: 参数类型(string, int, bool, array)
|
||||
- `description`: 参数详细描述(支持多行)
|
||||
- `required`: 是否必需(true/false)
|
||||
- `default`: 默认值
|
||||
- `flag`: 命令行标志(如 "-u", "--url")
|
||||
- `position`: 位置参数的位置(整数)
|
||||
- `format`: 参数格式("flag", "positional", "combined", "template")
|
||||
- `template`: 模板字符串(用于 format="template")
|
||||
- `options`: 可选值列表(用于枚举类型)
|
||||
|
||||
### 参数描述要求
|
||||
|
||||
参数描述应该包含:
|
||||
|
||||
1. **参数用途**:这个参数是做什么的
|
||||
2. **格式要求**:参数值的格式要求
|
||||
3. **示例值**:具体的示例值
|
||||
4. **注意事项**:使用时需要注意的事项
|
||||
|
||||
## 示例
|
||||
|
||||
参考 `tools/` 目录下的现有工具配置文件:
|
||||
|
||||
- `nmap.yaml`: 网络扫描工具
|
||||
- `sqlmap.yaml`: SQL注入检测工具
|
||||
- `nikto.yaml`: Web服务器扫描工具
|
||||
- `dirb.yaml`: Web目录扫描工具
|
||||
- `exec.yaml`: 系统命令执行工具
|
||||
|
||||
## 添加新工具
|
||||
|
||||
要添加新工具,只需在 `tools/` 目录下创建一个新的 YAML 文件,例如 `my_tool.yaml`:
|
||||
|
||||
```yaml
|
||||
name: "my_tool"
|
||||
command: "my-command"
|
||||
enabled: true
|
||||
short_description: "一句话说明工具用途" # 简短描述(推荐)
|
||||
description: |
|
||||
工具详细描述...
|
||||
|
||||
**功能:**
|
||||
- 功能1
|
||||
- 功能2
|
||||
|
||||
**使用场景:**
|
||||
- 场景1
|
||||
- 场景2
|
||||
|
||||
parameters:
|
||||
- name: "param1"
|
||||
type: "string"
|
||||
description: |
|
||||
参数详细描述...
|
||||
|
||||
**示例值:**
|
||||
- "value1"
|
||||
- "value2"
|
||||
required: true
|
||||
flag: "-p"
|
||||
format: "flag"
|
||||
```
|
||||
|
||||
保存文件后,重启服务即可自动加载新工具。
|
||||
|
||||
## 禁用工具
|
||||
|
||||
要禁用某个工具,只需将配置文件中的 `enabled` 字段设置为 `false`,或者直接删除/重命名配置文件。
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
name: "dirb"
|
||||
command: "dirb"
|
||||
enabled: true
|
||||
|
||||
# 简短描述(用于工具列表,减少token消耗)
|
||||
short_description: "Web目录和文件扫描工具,通过暴力破解方式发现Web服务器上的隐藏目录和文件"
|
||||
|
||||
# 工具详细描述
|
||||
description: |
|
||||
Web目录和文件扫描工具,通过暴力破解方式发现Web服务器上的隐藏目录和文件。
|
||||
|
||||
**主要功能:**
|
||||
- 目录和文件发现
|
||||
- 支持自定义字典文件
|
||||
- 检测常见的Web目录结构
|
||||
- 识别备份文件、配置文件等敏感文件
|
||||
- 支持多种HTTP方法
|
||||
|
||||
**使用场景:**
|
||||
- Web应用目录枚举
|
||||
- 发现隐藏的管理界面
|
||||
- 查找备份文件和敏感信息
|
||||
- 渗透测试中的信息收集
|
||||
|
||||
**注意事项:**
|
||||
- 扫描可能产生大量HTTP请求
|
||||
- 某些请求可能被WAF拦截
|
||||
- 建议使用合适的字典文件以提高效率
|
||||
- 扫描结果需要人工验证
|
||||
|
||||
# 参数定义
|
||||
parameters:
|
||||
- name: "url"
|
||||
type: "string"
|
||||
description: |
|
||||
目标URL,要扫描的Web服务器地址。
|
||||
|
||||
**格式要求:**
|
||||
- 必须包含协议(http:// 或 https://)
|
||||
- 可以包含基础路径
|
||||
- 末尾不要带斜杠(除非要扫描特定目录)
|
||||
|
||||
**示例值:**
|
||||
- 基础URL: "http://example.com"
|
||||
- HTTPS: "https://example.com"
|
||||
- 带端口: "http://example.com:8080"
|
||||
- 特定目录: "http://example.com/admin"
|
||||
- 带路径: "http://example.com/app"
|
||||
|
||||
**注意事项:**
|
||||
- URL必须可访问
|
||||
- 确保URL格式正确,包含协议前缀
|
||||
- 必需参数,不能为空
|
||||
required: true
|
||||
position: 0
|
||||
format: "positional"
|
||||
|
||||
- name: "wordlist"
|
||||
type: "string"
|
||||
description: |
|
||||
字典文件路径,包含要尝试的目录和文件名列表。
|
||||
|
||||
**格式要求:**
|
||||
- 文件路径,可以是绝对路径或相对路径
|
||||
- 文件每行一个目录或文件名
|
||||
- 支持常见的字典文件格式
|
||||
|
||||
**示例值:**
|
||||
- 默认字典: "/usr/share/dirb/wordlists/common.txt"
|
||||
- 自定义字典: "/path/to/custom-wordlist.txt"
|
||||
- 常用字典: "/usr/share/wordlists/dirb/common.txt"
|
||||
|
||||
**常用字典文件:**
|
||||
- common.txt: 常见目录和文件
|
||||
- big.txt: 大型字典
|
||||
- small.txt: 小型快速字典
|
||||
- extensions_common.txt: 常见文件扩展名
|
||||
|
||||
**注意事项:**
|
||||
- 如果不指定,将使用默认字典
|
||||
- 确保字典文件存在且可读
|
||||
- 大型字典会显著增加扫描时间
|
||||
required: false
|
||||
flag: "-w"
|
||||
format: "flag"
|
||||
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
name: "exec"
|
||||
command: "sh"
|
||||
args: ["-c"]
|
||||
enabled: true
|
||||
|
||||
# 简短描述(用于工具列表,减少token消耗)
|
||||
short_description: "系统命令执行工具,用于执行Shell命令和系统操作(谨慎使用)"
|
||||
|
||||
# 工具详细描述
|
||||
description: |
|
||||
系统命令执行工具,用于执行Shell命令和系统操作。
|
||||
|
||||
**主要功能:**
|
||||
- 执行任意Shell命令
|
||||
- 支持bash、sh等shell
|
||||
- 可以指定工作目录
|
||||
- 返回命令执行结果
|
||||
|
||||
**使用场景:**
|
||||
- 系统管理和维护
|
||||
- 自动化脚本执行
|
||||
- 文件操作和处理
|
||||
- 系统信息收集
|
||||
|
||||
**安全警告:**
|
||||
- ⚠️ 此工具可以执行任意系统命令,存在安全风险
|
||||
- ⚠️ 仅应在受控环境中使用
|
||||
- ⚠️ 所有命令执行都会被记录
|
||||
- ⚠️ 建议限制可执行的命令范围
|
||||
- ⚠️ 不要执行不可信的命令
|
||||
|
||||
# 参数定义
|
||||
parameters:
|
||||
- name: "command"
|
||||
type: "string"
|
||||
description: |
|
||||
要执行的系统命令。可以是任何有效的Shell命令。
|
||||
|
||||
**格式要求:**
|
||||
- 完整的Shell命令
|
||||
- 可以包含管道、重定向等Shell特性
|
||||
- 支持环境变量
|
||||
|
||||
**示例值:**
|
||||
- 简单命令: "ls -la"
|
||||
- 带管道: "ps aux | grep nginx"
|
||||
- 文件操作: "cat /etc/passwd"
|
||||
- 网络命令: "curl http://example.com"
|
||||
- 系统信息: "uname -a"
|
||||
- 查找文件: "find /var/log -name '*.log'"
|
||||
|
||||
**注意事项:**
|
||||
- 命令会在指定的shell中执行
|
||||
- 确保命令语法正确
|
||||
- 注意命令的安全影响
|
||||
- 必需参数,不能为空
|
||||
required: true
|
||||
position: 0
|
||||
format: "positional"
|
||||
|
||||
- name: "shell"
|
||||
type: "string"
|
||||
description: |
|
||||
使用的Shell类型,默认为sh。
|
||||
|
||||
**可选值:**
|
||||
- sh: 标准Shell(默认)
|
||||
- bash: Bash Shell
|
||||
- zsh: Z Shell
|
||||
- 其他系统可用的shell
|
||||
|
||||
**示例值:**
|
||||
- "sh" (默认)
|
||||
- "bash"
|
||||
- "zsh"
|
||||
|
||||
**注意事项:**
|
||||
- 确保指定的shell在系统中可用
|
||||
- 不同shell的命令语法可能略有差异
|
||||
required: false
|
||||
default: "sh"
|
||||
|
||||
- name: "workdir"
|
||||
type: "string"
|
||||
description: |
|
||||
命令执行的工作目录。如果不指定,使用当前工作目录。
|
||||
|
||||
**格式要求:**
|
||||
- 绝对路径或相对路径
|
||||
- 目录必须存在
|
||||
|
||||
**示例值:**
|
||||
- "/tmp"
|
||||
- "/var/log"
|
||||
- "./data"
|
||||
- "/home/user/project"
|
||||
|
||||
**注意事项:**
|
||||
- 确保目录存在且有访问权限
|
||||
- 相对路径相对于程序运行目录
|
||||
required: false
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
name: "nikto"
|
||||
command: "nikto"
|
||||
enabled: true
|
||||
|
||||
# 简短描述(用于工具列表,减少token消耗)
|
||||
short_description: "Web服务器扫描工具,用于检测Web服务器和应用程序中的已知漏洞和配置错误"
|
||||
|
||||
# 工具详细描述
|
||||
description: |
|
||||
Web服务器扫描工具,用于检测Web服务器和应用程序中的已知漏洞、配置错误和潜在安全问题。
|
||||
|
||||
**主要功能:**
|
||||
- 检测Web服务器版本和配置问题
|
||||
- 识别已知的Web漏洞和CVE
|
||||
- 检测危险文件和目录
|
||||
- 检查服务器配置错误
|
||||
- 识别过时的软件版本
|
||||
- 检测默认文件和脚本
|
||||
|
||||
**使用场景:**
|
||||
- Web应用安全评估
|
||||
- 服务器配置审计
|
||||
- 漏洞扫描和发现
|
||||
- 渗透测试前期信息收集
|
||||
|
||||
**注意事项:**
|
||||
- 扫描可能产生大量日志,注意日志管理
|
||||
- 某些扫描可能触发WAF或IDS告警
|
||||
- 建议在授权范围内使用
|
||||
- 扫描结果需要人工验证
|
||||
|
||||
# 参数定义
|
||||
parameters:
|
||||
- name: "target"
|
||||
type: "string"
|
||||
description: |
|
||||
目标URL或IP地址。可以是完整的URL或IP地址。
|
||||
|
||||
**格式要求:**
|
||||
- 可以包含协议(http:// 或 https://)
|
||||
- 可以只提供IP地址或域名
|
||||
- 如果只提供IP,默认使用http协议
|
||||
|
||||
**示例值:**
|
||||
- 完整URL: "http://example.com"
|
||||
- HTTPS: "https://example.com"
|
||||
- IP地址: "192.168.1.1"
|
||||
- 带端口: "http://example.com:8080"
|
||||
- 带路径: "http://example.com/admin"
|
||||
|
||||
**注意事项:**
|
||||
- 如果只提供IP,工具会使用http协议
|
||||
- 建议提供完整URL以确保正确扫描
|
||||
- 必需参数,不能为空
|
||||
required: true
|
||||
flag: "-h"
|
||||
format: "flag"
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
name: "nmap"
|
||||
command: "nmap"
|
||||
args: ["-sT", "-sV", "-sC"] # 固定参数:TCP连接扫描、版本检测、默认脚本
|
||||
enabled: true
|
||||
|
||||
# 简短描述(用于工具列表,减少token消耗)- 一句话说明工具用途
|
||||
short_description: "网络扫描工具,用于发现网络主机、开放端口和服务"
|
||||
|
||||
# 工具详细描述 - 帮助大模型理解工具用途和使用场景
|
||||
description: |
|
||||
网络映射和端口扫描工具,用于发现网络中的主机、服务和开放端口。
|
||||
|
||||
**主要功能:**
|
||||
- 主机发现:检测网络中的活动主机
|
||||
- 端口扫描:识别目标主机上开放的端口
|
||||
- 服务识别:检测运行在端口上的服务类型和版本
|
||||
- 操作系统检测:识别目标主机的操作系统类型
|
||||
- 漏洞检测:使用NSE脚本检测常见漏洞
|
||||
|
||||
**使用场景:**
|
||||
- 网络资产发现和枚举
|
||||
- 安全评估和渗透测试
|
||||
- 网络故障排查
|
||||
- 端口和服务审计
|
||||
|
||||
**注意事项:**
|
||||
- 使用 -sT (TCP连接扫描) 而不是 -sS (SYN扫描),因为 -sS 需要root权限
|
||||
- 扫描速度取决于网络延迟和目标响应
|
||||
- 某些扫描可能被防火墙或IDS检测到
|
||||
- 请确保有权限扫描目标网络
|
||||
|
||||
# 参数定义
|
||||
parameters:
|
||||
- name: "target"
|
||||
type: "string"
|
||||
description: |
|
||||
目标IP地址或域名。可以是单个IP、IP范围、CIDR格式或域名。
|
||||
|
||||
**示例值:**
|
||||
- 单个IP: "192.168.1.1"
|
||||
- IP范围: "192.168.1.1-100"
|
||||
- CIDR: "192.168.1.0/24"
|
||||
- 域名: "example.com"
|
||||
- URL: "https://example.com" (会自动提取域名部分)
|
||||
|
||||
**注意事项:**
|
||||
- 如果提供URL,会自动提取域名部分
|
||||
- 确保目标地址格式正确
|
||||
- 必需参数,不能为空
|
||||
required: true
|
||||
position: 0 # 位置参数,放在命令最后
|
||||
format: "positional"
|
||||
|
||||
- name: "ports"
|
||||
type: "string"
|
||||
description: |
|
||||
要扫描的端口范围。可以是单个端口、端口范围、逗号分隔的端口列表,或特殊值。
|
||||
|
||||
**示例值:**
|
||||
- 单个端口: "80"
|
||||
- 端口范围: "1-1000"
|
||||
- 多个端口: "80,443,8080,8443"
|
||||
- 组合: "80,443,8000-9000"
|
||||
- 常用端口: "1-1024"
|
||||
- 所有端口: "1-65535"
|
||||
- 快速扫描: "80,443,22,21,25,53,110,143,993,995"
|
||||
|
||||
**注意事项:**
|
||||
- 如果不指定,将扫描默认的1000个常用端口
|
||||
- 扫描所有端口(1-65535)会非常耗时
|
||||
- 建议先扫描常用端口,再根据结果决定是否扫描全部端口
|
||||
required: false
|
||||
flag: "-p"
|
||||
format: "flag"
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
name: "sqlmap"
|
||||
command: "sqlmap"
|
||||
enabled: true
|
||||
|
||||
# 简短描述(用于工具列表,减少token消耗)
|
||||
short_description: "自动化SQL注入检测和利用工具,用于发现和利用SQL注入漏洞"
|
||||
|
||||
# 工具详细描述
|
||||
description: |
|
||||
自动化SQL注入检测和利用工具,用于发现和利用SQL注入漏洞。
|
||||
|
||||
**主要功能:**
|
||||
- 自动检测SQL注入漏洞
|
||||
- 支持多种数据库类型(MySQL, PostgreSQL, Oracle, MSSQL等)
|
||||
- 自动提取数据库信息(表、列、数据)
|
||||
- 支持多种注入技术(布尔盲注、时间盲注、联合查询等)
|
||||
- 支持文件上传/下载、命令执行等高级功能
|
||||
|
||||
**使用场景:**
|
||||
- Web应用安全测试
|
||||
- SQL注入漏洞检测
|
||||
- 数据库信息收集
|
||||
- 渗透测试和漏洞验证
|
||||
|
||||
**注意事项:**
|
||||
- 仅用于授权的安全测试
|
||||
- 某些操作可能对目标系统造成影响
|
||||
- 建议在测试环境中先验证
|
||||
- 使用 --batch 参数避免交互式提示
|
||||
|
||||
# 参数定义
|
||||
parameters:
|
||||
- name: "url"
|
||||
type: "string"
|
||||
description: |
|
||||
目标URL,包含可能存在SQL注入的参数。
|
||||
|
||||
**格式要求:**
|
||||
- 完整的URL,包含协议(http:// 或 https://)
|
||||
- 必须包含查询参数,参数值用 * 标记注入点
|
||||
- 或者直接提供完整的URL,sqlmap会自动检测参数
|
||||
|
||||
**示例值:**
|
||||
- 标记注入点: "http://example.com/page?id=1*"
|
||||
- 完整URL: "http://example.com/page?id=1"
|
||||
- POST数据: "http://example.com/login" (需要配合data参数)
|
||||
- Cookie注入: "http://example.com/page" (需要配合cookie参数)
|
||||
|
||||
**注意事项:**
|
||||
- URL必须可访问
|
||||
- 确保URL格式正确,包含协议前缀
|
||||
- 如果使用POST请求,需要配合data参数
|
||||
- 必需参数,不能为空
|
||||
required: true
|
||||
flag: "-u"
|
||||
format: "flag"
|
||||
|
||||
- name: "batch"
|
||||
type: "bool"
|
||||
description: |
|
||||
非交互模式,自动选择默认选项,不需要用户输入。
|
||||
|
||||
**使用场景:**
|
||||
- 自动化测试脚本
|
||||
- 批量扫描
|
||||
- 避免交互式提示
|
||||
|
||||
**注意事项:**
|
||||
- 建议始终设置为true,避免工具等待用户输入
|
||||
- 默认值为true
|
||||
required: false
|
||||
default: true
|
||||
flag: "--batch"
|
||||
format: "flag"
|
||||
|
||||
- name: "level"
|
||||
type: "int"
|
||||
description: |
|
||||
测试级别,范围1-5,级别越高测试越全面但耗时越长。
|
||||
|
||||
**级别说明:**
|
||||
- Level 1: 基本测试,快速但可能遗漏漏洞
|
||||
- Level 2: 默认级别,平衡速度和覆盖率
|
||||
- Level 3: 扩展测试,更全面的检测
|
||||
- Level 4: 深度测试,包含更多payload
|
||||
- Level 5: 最全面测试,包含所有已知技术
|
||||
|
||||
**建议:**
|
||||
- 快速扫描使用1-2
|
||||
- 常规测试使用3(默认)
|
||||
- 深度测试使用4-5
|
||||
|
||||
**注意事项:**
|
||||
- 级别越高,请求数量越多,可能被WAF拦截
|
||||
- 默认值为3
|
||||
required: false
|
||||
default: 3
|
||||
flag: "--level"
|
||||
format: "combined" # --level=3
|
||||
|
||||
Reference in New Issue
Block a user