From 832dbb2cd47b94553c8315e2eb9894fc7c6360bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AC=E6=98=8E?= <83812544+Ed1s0nZ@users.noreply.github.com> Date: Fri, 21 Nov 2025 23:20:41 +0800 Subject: [PATCH] Add files via upload --- tools/falco.yaml | 29 +- tools/fcrackzip.yaml | 46 ++- tools/feroxbuster.yaml | 16 +- tools/ffuf.yaml | 12 +- tools/fierce.yaml | 15 +- tools/foremost.yaml | 16 +- tools/gau.yaml | 15 +- tools/gdb-peda.yaml | 17 +- tools/gdb.yaml | 16 +- tools/ghidra.yaml | 51 ++- tools/gobuster.yaml | 14 +- tools/graphql-scanner.yaml | 17 +- tools/hakrawler.yaml | 18 +- tools/hash-identifier.yaml | 52 ++- tools/hashcat.yaml | 18 +- tools/hashpump.yaml | 27 +- tools/http-framework-test.yaml | 513 ++++++++++++++++++------------ tools/http-intruder.yaml | 149 ++++++--- tools/http-repeater.yaml | 104 ++++-- tools/httpx.yaml | 35 +- tools/hydra.yaml | 15 +- tools/impacket.yaml | 64 +++- tools/install-python-package.yaml | 34 +- tools/jaeles.yaml | 19 +- tools/john.yaml | 12 +- tools/jwt-analyzer.yaml | 15 +- tools/katana.yaml | 18 +- tools/kube-bench.yaml | 17 +- tools/kube-hunter.yaml | 18 +- tools/libc-database.yaml | 61 +++- tools/linpeas.yaml | 17 +- tools/list-files.yaml | 16 +- tools/masscan.yaml | 18 +- tools/metasploit.yaml | 78 +++-- tools/mimikatz.yaml | 18 +- tools/msfvenom.yaml | 18 +- tools/nbtscan.yaml | 16 +- tools/netexec.yaml | 31 +- tools/nikto.yaml | 22 +- tools/nmap-advanced.yaml | 39 +-- tools/nmap.yaml | 37 +-- tools/nuclei.yaml | 13 +- tools/objdump.yaml | 15 +- tools/one-gadget.yaml | 15 +- tools/pacu.yaml | 18 +- tools/paramspider.yaml | 17 +- tools/pdfcrack.yaml | 19 +- tools/prowler.yaml | 22 +- tools/pwninit.yaml | 17 +- tools/pwntools.yaml | 86 ++--- tools/qsreplace.yaml | 56 +++- tools/radare2.yaml | 93 +++--- tools/responder.yaml | 103 +++--- tools/ropgadget.yaml | 21 +- tools/ropper.yaml | 18 +- tools/rpcclient.yaml | 85 +++-- tools/rustscan.yaml | 17 +- tools/scout-suite.yaml | 17 +- tools/smbmap.yaml | 13 +- tools/sqlmap.yaml | 45 ++- tools/steghide.yaml | 30 +- tools/stegsolve.yaml | 18 +- tools/strings.yaml | 15 +- tools/subfinder.yaml | 12 +- tools/terrascan.yaml | 18 +- tools/trivy.yaml | 20 +- tools/uro.yaml | 59 ++-- tools/volatility.yaml | 16 +- tools/volatility3.yaml | 18 +- tools/wafw00f.yaml | 14 +- tools/waybackurls.yaml | 16 +- tools/wfuzz.yaml | 15 +- tools/winpeas.yaml | 17 +- tools/wpscan.yaml | 10 +- tools/x8.yaml | 18 +- tools/xsser.yaml | 15 +- tools/xxd.yaml | 16 +- tools/zap.yaml | 22 +- tools/zsteg.yaml | 18 +- 79 files changed, 1396 insertions(+), 1424 deletions(-) diff --git a/tools/falco.yaml b/tools/falco.yaml index 603eab1d..cfa7ca7e 100644 --- a/tools/falco.yaml +++ b/tools/falco.yaml @@ -1,24 +1,21 @@ name: "falco" command: "falco" enabled: true - short_description: "运行时安全监控工具" - description: | Falco是一个运行时安全监控工具,用于检测容器和主机中的异常行为。 - + **主要功能:** - 运行时监控 - 异常检测 - 规则引擎 - 实时告警 - + **使用场景:** - 运行时安全监控 - 异常检测 - 安全事件响应 - 合规性监控 - parameters: - name: "config_file" type: "string" @@ -27,39 +24,37 @@ parameters: flag: "--config" format: "flag" default: "/etc/falco/falco.yaml" - - name: "rules_file" type: "string" description: "自定义规则文件" required: false flag: "--rules" format: "flag" - - - name: "output_format" - type: "string" - description: "输出格式(json, text)" + - name: "json_output" + type: "bool" + description: "以JSON格式输出(等同于 -o json_output=true)" required: false - flag: "--output" + flag: "-o json_output=true" format: "flag" - default: "json" - + default: true - name: "duration" type: "int" description: "监控持续时间(秒)" required: false + flag: "--duration" + format: "flag" default: 60 - - name: "additional_args" type: "string" description: | 额外的falco参数。用于传递未在参数列表中定义的falco选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/fcrackzip.yaml b/tools/fcrackzip.yaml index 280a6e29..e7821655 100644 --- a/tools/fcrackzip.yaml +++ b/tools/fcrackzip.yaml @@ -1,30 +1,27 @@ name: "fcrackzip" command: "fcrackzip" enabled: true - short_description: "ZIP 文件密码破解工具,支持暴力破解和字典攻击" - description: | fcrackzip 是一个用于破解受密码保护的 ZIP 文件密码的工具。 - + **主要功能:** - 暴力破解 - 字典攻击 - 指定字符集 - 指定密码长度范围 - 多线程支持 - + **使用场景:** - CTF 竞赛 - ZIP 文件密码恢复 - 安全测试 - 数字取证 - + **注意事项:** - 破解时间取决于密码复杂度 - 建议使用字典文件提高效率 - 仅用于授权的安全测试 - parameters: - name: "file" type: "string" @@ -32,53 +29,48 @@ parameters: required: true position: 0 format: "positional" - - - name: "dictionary" - type: "string" - description: "字典文件路径" + - name: "dictionary_mode" + type: "bool" + description: "启用字典攻击模式(等同于 -D)" required: false flag: "-D" format: "flag" - + default: false + - name: "dictionary" + type: "string" + description: "字典文件路径(与 -D 配合使用)" + required: false + flag: "-p" + format: "flag" - name: "bruteforce" type: "bool" description: "使用暴力破解模式" required: false flag: "-b" format: "flag" - - name: "charset" type: "string" description: "字符集,例如 'aA1' 表示小写字母、大写字母和数字" required: false flag: "-c" format: "flag" - - - name: "min_length" - type: "int" - description: "最小密码长度" + - name: "length_range" + type: "string" + description: "密码长度范围,格式为min-max(例如 4-8)" required: false flag: "-l" format: "flag" - - - name: "max_length" - type: "int" - description: "最大密码长度" - required: false - flag: "-u" - format: "flag" - - name: "additional_args" type: "string" description: | 额外的fcrackzip参数。用于传递未在参数列表中定义的fcrackzip选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/feroxbuster.yaml b/tools/feroxbuster.yaml index c09e6754..86f949ba 100644 --- a/tools/feroxbuster.yaml +++ b/tools/feroxbuster.yaml @@ -1,24 +1,21 @@ name: "feroxbuster" command: "feroxbuster" enabled: true - short_description: "递归内容发现工具" - description: | Feroxbuster是一个快速、简单的递归内容发现工具。 - + **主要功能:** - 递归目录发现 - 多线程支持 - 自动过滤 - 多种输出格式 - + **使用场景:** - Web内容发现 - 目录枚举 - 文件发现 - 安全测试 - parameters: - name: "url" type: "string" @@ -26,14 +23,12 @@ parameters: required: true flag: "-u" format: "flag" - - name: "wordlist" type: "string" description: "字典文件路径" required: false flag: "-w" format: "flag" - - name: "threads" type: "int" description: "线程数" @@ -41,18 +36,17 @@ parameters: flag: "-t" format: "flag" default: 10 - - name: "additional_args" type: "string" description: | 额外的feroxbuster参数。用于传递未在参数列表中定义的feroxbuster选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/ffuf.yaml b/tools/ffuf.yaml index 330c36a9..c73fff2a 100644 --- a/tools/ffuf.yaml +++ b/tools/ffuf.yaml @@ -1,25 +1,22 @@ name: "ffuf" command: "ffuf" enabled: true - short_description: "快速Web模糊测试工具,用于目录、参数和内容发现" - description: | FFuf是一个快速的Web模糊测试工具,用于目录发现、参数模糊测试和内容发现。 - + **主要功能:** - 快速目录和文件发现 - 参数模糊测试 - 虚拟主机发现 - 自定义过滤器和匹配器 - 多线程支持 - + **使用场景:** - Web应用安全测试 - 目录枚举 - 参数发现 - 内容发现 - parameters: - name: "url" type: "string" @@ -27,7 +24,6 @@ parameters: required: true flag: "-u" format: "flag" - - name: "wordlist" type: "string" description: "字典文件路径" @@ -35,7 +31,6 @@ parameters: default: "/usr/share/wordlists/dirb/common.txt" flag: "-w" format: "flag" - - name: "match_codes" type: "string" description: "匹配的HTTP状态码(逗号分隔)" @@ -43,9 +38,8 @@ parameters: default: "200,204,301,302,307,401,403" flag: "-mc" format: "flag" - - name: "additional_args" type: "string" description: "额外的FFuf参数" required: false - + format: "positional" diff --git a/tools/fierce.yaml b/tools/fierce.yaml index 2ed0e485..3c7f4a9e 100644 --- a/tools/fierce.yaml +++ b/tools/fierce.yaml @@ -1,24 +1,21 @@ name: "fierce" command: "fierce" enabled: true - short_description: "DNS侦察工具" - description: | Fierce是一个DNS侦察工具,用于发现目标域名的子域名。 - + **主要功能:** - 子域名发现 - DNS暴力破解 - 区域传输测试 - 网络映射 - + **使用场景:** - DNS侦察 - 子域名枚举 - 网络映射 - 渗透测试 - parameters: - name: "domain" type: "string" @@ -26,25 +23,23 @@ parameters: required: true flag: "-dns" format: "flag" - - name: "dns_server" type: "string" description: "要使用的DNS服务器" required: false flag: "-dnsserver" format: "flag" - - name: "additional_args" type: "string" description: | 额外的fierce参数。用于传递未在参数列表中定义的fierce选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/foremost.yaml b/tools/foremost.yaml index 4b96af31..c6e492f7 100644 --- a/tools/foremost.yaml +++ b/tools/foremost.yaml @@ -1,24 +1,21 @@ name: "foremost" command: "foremost" enabled: true - short_description: "文件恢复工具" - description: | Foremost是一个基于文件头和尾的文件恢复工具。 - + **主要功能:** - 文件恢复 - 多种文件类型支持 - 磁盘镜像分析 - 数据恢复 - + **使用场景:** - 数据恢复 - 取证分析 - 文件提取 - 磁盘分析 - parameters: - name: "input_file" type: "string" @@ -26,7 +23,6 @@ parameters: required: true flag: "-i" format: "flag" - - name: "output_dir" type: "string" description: "输出目录" @@ -34,25 +30,23 @@ parameters: flag: "-o" format: "flag" default: "/tmp/foremost_output" - - name: "file_types" type: "string" description: "要恢复的文件类型(jpg,gif,png等)" required: false flag: "-t" format: "flag" - - name: "additional_args" type: "string" description: | 额外的foremost参数。用于传递未在参数列表中定义的foremost选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/gau.yaml b/tools/gau.yaml index 2ed6f389..ac177e8d 100644 --- a/tools/gau.yaml +++ b/tools/gau.yaml @@ -1,24 +1,21 @@ name: "gau" command: "gau" enabled: true - short_description: "从多个数据源获取所有URL" - description: | Gau (Get All URLs) 从多个数据源获取目标域名的所有URL。 - + **主要功能:** - 从Wayback Machine获取URL - 从CommonCrawl获取URL - 从OTX获取URL - 从URLScan获取URL - + **使用场景:** - URL发现 - 历史URL收集 - Bug bounty侦察 - 安全测试 - parameters: - name: "domain" type: "string" @@ -26,14 +23,12 @@ parameters: required: true position: 0 format: "positional" - - name: "providers" type: "string" description: "数据源(wayback,commoncrawl,otx,urlscan)" required: false flag: "-providers" format: "flag" - - name: "include_subs" type: "bool" description: "包含子域名" @@ -41,21 +36,19 @@ parameters: flag: "-subs" format: "flag" default: true - - name: "additional_args" type: "string" description: | 额外的Gau参数。用于传递未在参数列表中定义的Gau选项。 - + **示例值:** - "-o output.txt": 输出到文件 - "-t": 线程数 - "-b": 黑名单扩展 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false format: "positional" - diff --git a/tools/gdb-peda.yaml b/tools/gdb-peda.yaml index 8701b17d..3ea792d3 100644 --- a/tools/gdb-peda.yaml +++ b/tools/gdb-peda.yaml @@ -1,24 +1,21 @@ name: "gdb-peda" command: "gdb" enabled: true - short_description: "带PEDA增强的GDB调试器" - description: | GDB-PEDA是带有PEDA(Python Exploit Development Assistance)增强的GDB调试器。 - + **主要功能:** - 增强的GDB功能 - 自动化分析 - 漏洞利用辅助 - 可视化显示 - + **使用场景:** - 二进制调试 - 漏洞利用开发 - 逆向工程 - 安全研究 - parameters: - name: "binary" type: "string" @@ -26,39 +23,35 @@ parameters: required: false position: 0 format: "positional" - - name: "commands" type: "string" description: "GDB命令(分号分隔)" required: false flag: "-ex" format: "flag" - - name: "attach_pid" type: "int" description: "要附加的进程ID" required: false flag: "-p" format: "flag" - - name: "core_file" type: "string" description: "核心转储文件路径" required: false flag: "-c" format: "flag" - - name: "additional_args" type: "string" description: | 额外的gdb-peda参数。用于传递未在参数列表中定义的gdb-peda选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/gdb.yaml b/tools/gdb.yaml index 5152ace4..c0f64c0e 100644 --- a/tools/gdb.yaml +++ b/tools/gdb.yaml @@ -1,24 +1,21 @@ name: "gdb" command: "gdb" enabled: true - short_description: "GNU调试器,用于二进制分析和调试" - description: | GDB是GNU调试器,用于调试和分析二进制程序。 - + **主要功能:** - 程序调试 - 内存分析 - 反汇编 - 断点设置 - + **使用场景:** - 二进制分析 - 漏洞研究 - 逆向工程 - 程序调试 - parameters: - name: "binary" type: "string" @@ -26,32 +23,29 @@ parameters: required: true position: 0 format: "positional" - - name: "commands" type: "string" description: "要执行的GDB命令(分号分隔)" required: false flag: "-ex" format: "flag" - - name: "script_file" type: "string" description: "GDB脚本文件路径" required: false flag: "-x" format: "flag" - - name: "additional_args" type: "string" description: | 额外的gdb参数。用于传递未在参数列表中定义的gdb选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/ghidra.yaml b/tools/ghidra.yaml index 960c3df9..91f066b2 100644 --- a/tools/ghidra.yaml +++ b/tools/ghidra.yaml @@ -1,64 +1,59 @@ name: "ghidra" -command: "ghidra" +command: "analyzeHeadless" enabled: true - short_description: "高级二进制分析和逆向工程工具" - description: | Ghidra是NSA开发的免费二进制分析和逆向工程工具。 - + **主要功能:** - 反汇编和反编译 - 高级分析 - 脚本支持 - 协作功能 - + **使用场景:** - 二进制分析 - 逆向工程 - 恶意软件分析 - 漏洞研究 - parameters: - - name: "binary" + - name: "project_dir" type: "string" - description: "要分析的二进制文件路径" - required: true - + description: "Ghidra项目存放目录" + required: false + default: "/tmp/ghidra_projects" + position: 0 + format: "positional" - name: "project_name" type: "string" description: "Ghidra项目名称" required: false default: "hexstrike_analysis" - + position: 1 + format: "positional" + - name: "binary" + type: "string" + description: "要分析的二进制文件路径" + required: true + flag: "-import" + format: "flag" - name: "script_file" type: "string" - description: "自定义Ghidra脚本文件" + description: "可选的Ghidra脚本文件(通过 -postScript 执行)" required: false - - - name: "analysis_timeout" - type: "int" - description: "分析超时时间(秒)" - required: false - default: 300 - - - name: "output_format" - type: "string" - description: "输出格式(xml, json)" - required: false - default: "xml" - + flag: "-postScript" + format: "flag" - name: "additional_args" type: "string" description: | 额外的ghidra参数。用于传递未在参数列表中定义的ghidra选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/gobuster.yaml b/tools/gobuster.yaml index 6ee2c7db..ba8d8131 100644 --- a/tools/gobuster.yaml +++ b/tools/gobuster.yaml @@ -1,24 +1,21 @@ name: "gobuster" command: "gobuster" enabled: true - short_description: "Web内容扫描工具,用于发现目录、文件和子域名" - description: | Gobuster是一个快速的内容发现工具,用于Web应用程序的目录、文件和子域名枚举。 - + **主要功能:** - 目录和文件发现 - DNS子域名枚举 - 虚拟主机发现 - 支持多种模式(dir, dns, fuzz, vhost) - + **使用场景:** - Web应用安全测试 - 目录枚举和文件发现 - 子域名发现 - 渗透测试信息收集 - parameters: - name: "mode" type: "string" @@ -28,7 +25,7 @@ parameters: - `dns`: DNS子域名枚举 - `fuzz`: 模板FUZZ扫描 - `vhost`: 虚拟主机发现 - + **注意:** Gobuster要求第一个参数为模式子命令,因此这里作为位置参数传递。 required: false @@ -36,14 +33,12 @@ parameters: position: 0 format: "positional" options: ["dir", "dns", "fuzz", "vhost"] - - name: "url" type: "string" description: "目标URL" required: true flag: "-u" format: "flag" - - name: "wordlist" type: "string" description: "字典文件路径" @@ -51,9 +46,8 @@ parameters: default: "/usr/share/wordlists/dirb/common.txt" flag: "-w" format: "flag" - - name: "additional_args" type: "string" description: "额外的Gobuster参数" required: false - + format: "positional" diff --git a/tools/graphql-scanner.yaml b/tools/graphql-scanner.yaml index 6883ff14..6d63c4bc 100644 --- a/tools/graphql-scanner.yaml +++ b/tools/graphql-scanner.yaml @@ -1,24 +1,21 @@ name: "graphql-scanner" command: "graphqlmap" enabled: true - short_description: "GraphQL安全扫描和自省工具" - description: | 高级GraphQL安全扫描和自省工具,用于检测GraphQL API中的安全问题。 - + **主要功能:** - GraphQL自省 - 查询深度测试 - 突变操作测试 - 漏洞评估 - + **使用场景:** - GraphQL安全测试 - API安全评估 - 漏洞发现 - 安全测试 - parameters: - name: "endpoint" type: "string" @@ -26,7 +23,6 @@ parameters: required: true flag: "-u" format: "flag" - - name: "introspection" type: "bool" description: "测试自省查询" @@ -34,7 +30,6 @@ parameters: default: true flag: "--introspection" format: "flag" - - name: "query_depth" type: "int" description: "要测试的最大查询深度" @@ -42,7 +37,6 @@ parameters: default: 10 flag: "--depth" format: "flag" - - name: "test_mutations" type: "bool" description: "测试突变操作" @@ -50,18 +44,17 @@ parameters: default: true flag: "--mutations" format: "flag" - - name: "additional_args" type: "string" description: | 额外的graphql-scanner参数。用于传递未在参数列表中定义的graphql-scanner选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/hakrawler.yaml b/tools/hakrawler.yaml index 878146cd..100d6369 100644 --- a/tools/hakrawler.yaml +++ b/tools/hakrawler.yaml @@ -1,30 +1,28 @@ name: "hakrawler" command: "hakrawler" enabled: true - short_description: "Web端点发现工具" - description: | Hakrawler是一个快速、简单的Web端点发现工具。 - + **主要功能:** - Web端点发现 - 链接提取 - JavaScript文件发现 - 快速爬取 - + **使用场景:** - Web端点发现 - 内容爬取 - 安全测试 - Bug bounty侦察 - parameters: - name: "url" type: "string" description: "目标URL" required: true - + flag: "-url" + format: "flag" - name: "depth" type: "int" description: "爬取深度" @@ -32,7 +30,6 @@ parameters: flag: "-d" format: "flag" default: 2 - - name: "forms" type: "bool" description: "包含表单" @@ -40,18 +37,17 @@ parameters: flag: "-forms" format: "flag" default: true - - name: "additional_args" type: "string" description: | 额外的hakrawler参数。用于传递未在参数列表中定义的hakrawler选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/hash-identifier.yaml b/tools/hash-identifier.yaml index 8794798d..a19bebd6 100644 --- a/tools/hash-identifier.yaml +++ b/tools/hash-identifier.yaml @@ -1,18 +1,46 @@ name: "hash-identifier" -command: "hash-identifier" +command: "python3" +args: + - "-c" + - | + import shlex + import subprocess + import sys + + if len(sys.argv) < 2: + sys.stderr.write("缺少哈希值\n") + sys.exit(1) + + hash_value = sys.argv[1] + extra = sys.argv[2] if len(sys.argv) > 2 else "" + + cmd = ["hash-identifier"] + if extra: + cmd.extend(shlex.split(extra)) + + proc = subprocess.run( + cmd, + input=f"{hash_value}\n", + capture_output=True, + text=True, + ) + + if proc.returncode != 0: + sys.stderr.write(proc.stderr or proc.stdout) + sys.exit(proc.returncode) + + sys.stdout.write(proc.stdout) enabled: true - short_description: "哈希类型识别工具,用于识别未知哈希值的类型" - description: | hash-identifier 是一个用于识别哈希值类型的工具,可以帮助确定未知哈希值使用的算法。 - + **主要功能:** - 识别多种哈希算法 - 支持 MD5, SHA1, SHA256, bcrypt 等 - 交互式识别 - 快速识别常见哈希类型 - + **支持的哈希类型:** - MD5 - SHA1, SHA256, SHA512 @@ -21,17 +49,16 @@ description: | - MySQL - PostgreSQL - 等多种哈希算法 - + **使用场景:** - CTF 密码破解 - 哈希值分析 - 密码学研究 - 安全审计 - + **注意事项:** - 需要 Python 环境 - 交互式工具,可能需要特殊处理 - parameters: - name: "hash" type: "string" @@ -39,18 +66,19 @@ parameters: required: true position: 0 format: "positional" - - name: "additional_args" type: "string" description: | 额外的hash-identifier参数。用于传递未在参数列表中定义的hash-identifier选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + default: "" + position: 1 + format: "positional" diff --git a/tools/hashcat.yaml b/tools/hashcat.yaml index c9f2d48c..179c04fd 100644 --- a/tools/hashcat.yaml +++ b/tools/hashcat.yaml @@ -1,24 +1,21 @@ name: "hashcat" command: "hashcat" enabled: true - short_description: "高级密码破解工具,支持GPU加速" - description: | Hashcat是一个高级密码恢复工具,支持多种哈希算法和攻击模式。 - + **主要功能:** - 支持多种哈希算法 - GPU加速 - 多种攻击模式(字典、组合、掩码等) - 规则引擎 - + **使用场景:** - 密码恢复 - 哈希破解 - 安全测试 - 取证分析 - parameters: - name: "hash_file" type: "string" @@ -26,14 +23,12 @@ parameters: required: true position: 0 format: "positional" - - name: "hash_type" type: "string" description: "哈希类型编号" required: true flag: "-m" format: "flag" - - name: "attack_mode" type: "string" description: "攻击模式(0=字典, 1=组合, 3=掩码等)" @@ -41,7 +36,6 @@ parameters: default: "0" flag: "-a" format: "flag" - - name: "wordlist" type: "string" description: "字典文件" @@ -49,16 +43,14 @@ parameters: default: "/usr/share/wordlists/rockyou.txt" position: 1 format: "positional" - - name: "mask" type: "string" description: "掩码(用于掩码攻击)" required: false - flag: "-a" - format: "flag" - + position: 2 + format: "positional" - name: "additional_args" type: "string" description: "额外的Hashcat参数" required: false - + format: "positional" diff --git a/tools/hashpump.yaml b/tools/hashpump.yaml index 8f03ffdb..20ab94ed 100644 --- a/tools/hashpump.yaml +++ b/tools/hashpump.yaml @@ -1,56 +1,57 @@ name: "hashpump" command: "hashpump" enabled: true - short_description: "哈希长度扩展攻击工具" - description: | HashPump是一个用于执行哈希长度扩展攻击的工具。 - + **主要功能:** - 哈希长度扩展攻击 - 多种哈希算法支持 - 签名生成 - 数据追加 - + **使用场景:** - 密码学攻击 - 哈希函数测试 - CTF挑战 - 安全研究 - parameters: - name: "signature" type: "string" description: "原始哈希签名" required: true - + flag: "-s" + format: "flag" - name: "data" type: "string" description: "原始数据" required: true - + flag: "-d" + format: "flag" - name: "key_length" - type: "string" + type: "int" description: "密钥长度" required: true - + flag: "-k" + format: "flag" - name: "append_data" type: "string" description: "要追加的数据" required: true - + flag: "-a" + format: "flag" - name: "additional_args" type: "string" description: | 额外的hashpump参数。用于传递未在参数列表中定义的hashpump选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/http-framework-test.yaml b/tools/http-framework-test.yaml index 012ef930..d3a38d1c 100644 --- a/tools/http-framework-test.yaml +++ b/tools/http-framework-test.yaml @@ -3,238 +3,321 @@ command: "python3" args: - "-c" - | - import argparse - import json - import shlex - import subprocess - import sys - import time - import urllib.parse + import argparse + import json + import re + import shlex + import subprocess + import sys + import time + import urllib.parse - METRIC_MARKER = "__CYBERSTRIKE_HTTP_METRICS__" - METRIC_KEYS = [ - "dns_lookup", - "tcp_connect", - "tls_handshake", - "pretransfer", - "ttfb", - "total", - "speed_download", - "size_download", - "http_code", - "redirects", - ] + try: + from charset_normalizer import from_bytes as charset_from_bytes + except ImportError: + charset_from_bytes = None - def parse_headers(raw: str): - if not raw: - return [] - raw = raw.strip() - if not raw: - return [] - try: - parsed = json.loads(raw) - headers = [] - if isinstance(parsed, dict): - for k, v in parsed.items(): - headers.append(f"{k}: {v}") - return headers - if isinstance(parsed, list): - for item in parsed: - if isinstance(item, str) and item.strip(): - headers.append(item.strip()) - if headers: - return headers - except json.JSONDecodeError: - pass - headers = [] - for line in raw.replace(";", "\n").splitlines(): - stripped = line.strip() - if stripped: - headers.append(stripped) - return headers + try: + import chardet + except ImportError: + chardet = None - def parse_additional(raw: str): - if not raw: - return [] - try: - return shlex.split(raw) - except ValueError: - return [arg for arg in raw.split() if arg] + METRIC_MARKER = "__CYBERSTRIKE_HTTP_METRICS__" + METRIC_KEYS = [ + "dns_lookup", + "tcp_connect", + "tls_handshake", + "pretransfer", + "ttfb", + "total", + "speed_download", + "size_download", + "http_code", + "redirects", + ] - def smart_encode_url(url: str, safe_path="/:@&=%+,$-~", safe_query="/:@&=%+,$-~"): - try: - parts = urllib.parse.urlsplit(url) - except ValueError: - return url - path = urllib.parse.quote(parts.path or "/", safe=safe_path) - query = urllib.parse.quote(parts.query, safe=safe_query) - fragment = urllib.parse.quote(parts.fragment, safe=safe_query) - return urllib.parse.urlunsplit((parts.scheme, parts.netloc, path, query, fragment)) + def parse_headers(raw: str): + if not raw: + return [] + raw = raw.strip() + if not raw: + return [] + try: + parsed = json.loads(raw) + headers = [] + if isinstance(parsed, dict): + for k, v in parsed.items(): + headers.append(f"{k}: {v}") + return headers + if isinstance(parsed, list): + for item in parsed: + if isinstance(item, str) and item.strip(): + headers.append(item.strip()) + if headers: + return headers + except json.JSONDecodeError: + pass + headers = [] + for line in raw.replace(";", "\n").splitlines(): + stripped = line.strip() + if stripped: + headers.append(stripped) + return headers - def sanitize_cmd(cmd): - return " ".join(shlex.quote(part) for part in cmd) + def parse_additional(raw: str): + if not raw: + return [] + try: + return shlex.split(raw) + except ValueError: + return [arg for arg in raw.split() if arg] - def extract_metrics(output: str): - if METRIC_MARKER not in output: - return output, {} - head, tail = output.rsplit(METRIC_MARKER + ":", 1) - values = tail.strip().split("|") - stats = {} - for key, value in zip(METRIC_KEYS, values): - stats[key] = value.strip() - return head, stats + def smart_encode_url(url: str, safe_path="/:@&=%+,$-~", safe_query="/:@&=%+,$-~"): + try: + parts = urllib.parse.urlsplit(url) + except ValueError: + return url + path = urllib.parse.quote(parts.path or "/", safe=safe_path) + query = urllib.parse.quote(parts.query, safe=safe_query) + fragment = urllib.parse.quote(parts.fragment, safe=safe_query) + return urllib.parse.urlunsplit((parts.scheme, parts.netloc, path, query, fragment)) - def to_float(value): - try: - return float(value) - except (TypeError, ValueError): - return None + def sanitize_cmd(cmd): + return " ".join(shlex.quote(part) for part in cmd) - parser = argparse.ArgumentParser(description="Enhanced HTTP testing helper") - parser.add_argument("--url", required=True) - parser.add_argument("--method", default="GET") - parser.add_argument("--data", default="") - parser.add_argument("--headers", default="") - parser.add_argument("--cookies", default="") - parser.add_argument("--user-agent", dest="user_agent", default="") - parser.add_argument("--proxy", default="") - parser.add_argument("--timeout", default="") - parser.add_argument("--repeat", type=int, default=1) - parser.add_argument("--delay", default="0") - parser.add_argument("--additional-args", dest="additional_args", default="") - parser.add_argument("--action", default="") - parser.add_argument("--include-headers", dest="include_headers", action="store_true") - parser.add_argument("--auto-encode-url", dest="auto_encode_url", action="store_true") - parser.add_argument("--follow-redirects", dest="follow_redirects", action="store_true") - parser.add_argument("--allow-insecure", dest="allow_insecure", action="store_true") - parser.add_argument("--verbose-output", dest="verbose_output", action="store_true") - parser.add_argument("--show-command", dest="show_command", action="store_true") - parser.add_argument("--show-summary", dest="show_summary", action="store_true") - args = parser.parse_args() + def extract_metrics(output: bytes): + marker = (METRIC_MARKER + ":").encode("ascii") + if marker not in output: + return output, {} + head, tail = output.rsplit(marker, 1) + try: + tail_text = tail.decode("utf-8", errors="ignore") + except UnicodeDecodeError: + tail_text = "" + values = tail_text.strip().split("|") + stats = {} + for key, value in zip(METRIC_KEYS, values): + stats[key] = value.strip() + return head, stats - repeat = max(1, args.repeat) - try: - delay_between = float(args.delay or "0") - if delay_between < 0: - delay_between = 0.0 - except ValueError: - delay_between = 0.0 + def extract_declared_charset(data: bytes): + if not data: + return "" + sample = data[:16384] + try: + sample_text = sample.decode("iso-8859-1", errors="ignore") + except UnicodeDecodeError: + return "" - prepared_url = smart_encode_url(args.url) if args.auto_encode_url else args.url - curl_cmd = ["curl", "-sS"] - if args.include_headers: - curl_cmd.append("-i") - if args.verbose_output: - curl_cmd.append("-v") - method = (args.method or "GET").upper() - if method: - curl_cmd.extend(["-X", method]) - if args.cookies: - curl_cmd.extend(["-b", args.cookies]) - if args.user_agent: - curl_cmd.extend(["-A", args.user_agent]) - if args.timeout: - curl_cmd.extend(["--max-time", str(args.timeout)]) - if args.follow_redirects: - curl_cmd.append("-L") - if args.allow_insecure: - curl_cmd.append("-k") - if args.proxy: - curl_cmd.extend(["-x", args.proxy]) - for header in parse_headers(args.headers): - curl_cmd.extend(["-H", header]) - if args.data: - curl_cmd.extend(["--data", args.data]) - metrics_template = METRIC_MARKER + ":" + "|".join([ - "%{time_namelookup}", - "%{time_connect}", - "%{time_appconnect}", - "%{time_pretransfer}", - "%{time_starttransfer}", - "%{time_total}", - "%{speed_download}", - "%{size_download}", - "%{http_code}", - "%{num_redirects}", - ]) - curl_cmd.extend(["-w", f"\n{metrics_template}\n"]) - if args.additional_args: - curl_cmd.extend(parse_additional(args.additional_args)) - curl_cmd.append(prepared_url) + for line in sample_text.splitlines(): + lowered = line.lower() + if "content-type:" in lowered and "charset=" in lowered: + charset_index = lowered.index("charset=") + len("charset=") + remainder = line[charset_index:] + for separator in [";", " ", "\t"]: + remainder = remainder.split(separator)[0] + return remainder.strip().strip('"').strip("'") - aggregate = {key: [] for key in METRIC_KEYS} if args.show_summary else None - if aggregate is not None: - aggregate["wall_time"] = [] - exit_code = 0 + meta_match = re.search(r'charset=["\']?([a-zA-Z0-9_\-.:]+)', sample_text, re.IGNORECASE) + if meta_match: + return meta_match.group(1) + return "" - for run_index in range(repeat): - if run_index > 0 and delay_between > 0: - time.sleep(delay_between) + def decode_body_bytes(data: bytes, user_encoding: str = ""): + declared = extract_declared_charset(data) + attempts = [] + if user_encoding: + attempts.append(("user", user_encoding)) + if declared: + attempts.append(("declared", declared)) - run_cmd = list(curl_cmd) - start = time.perf_counter() - proc = subprocess.run( - run_cmd, - capture_output=True, - text=True, - encoding="utf-8", - errors="replace", - ) - elapsed = time.perf_counter() - start - body, stats = extract_metrics(proc.stdout) + for source, encoding in attempts: + enc = (encoding or "").strip() + if not enc: + continue + try: + return data.decode(enc), enc, source + except (LookupError, UnicodeDecodeError): + continue - print(f"\n===== Response #{run_index + 1} =====") - output_body = body.rstrip() - if output_body: - print(output_body) - else: - print("[no body]") + if charset_from_bytes is not None and data: + best = charset_from_bytes(data).best() + if best and best.encoding: + try: + return data.decode(best.encoding), best.encoding, "detected" + except (LookupError, UnicodeDecodeError): + pass - print(f"\n----- Meta #{run_index + 1} -----") - if args.show_command and run_index == 0: - print("Command:", sanitize_cmd(run_cmd)) - if args.show_summary: - if stats: - for key in METRIC_KEYS: - label = key.replace("_", " ").title() - print(f"{label}: {stats.get(key, 'n/a')}") - value = to_float(stats.get(key)) - if value is not None and aggregate is not None: - aggregate[key].append(value) - else: - print("Timing data unavailable (curl -w output missing).") - print(f"Wall Time (client): {elapsed:.6f}s") - if aggregate is not None: - aggregate["wall_time"].append(elapsed) - else: - print("Summary disabled (--show-summary=false).") - print(f"Wall Time (client): {elapsed:.6f}s") + if chardet is not None and data: + detection = chardet.detect(data) + encoding = detection.get("encoding") + if encoding: + try: + return data.decode(encoding), encoding, "detected" + except (LookupError, UnicodeDecodeError): + pass - if proc.stderr.strip(): - print("\nstderr:") - print(proc.stderr.strip()) + try: + return data.decode("utf-8"), "utf-8", "fallback" + except UnicodeDecodeError: + return data.decode("utf-8", errors="replace"), "utf-8", "fallback" - if proc.returncode != 0: - exit_code = proc.returncode + def to_float(value): + try: + return float(value) + except (TypeError, ValueError): + return None - if args.show_summary and repeat > 1 and aggregate is not None: - def summarize(values): - if not values: - return None - return (min(values), sum(values)/len(values), max(values)) + parser = argparse.ArgumentParser(description="Enhanced HTTP testing helper") + parser.add_argument("--url", required=True) + parser.add_argument("--method", default="GET") + parser.add_argument("--data", default="") + parser.add_argument("--headers", default="") + parser.add_argument("--cookies", default="") + parser.add_argument("--user-agent", dest="user_agent", default="") + parser.add_argument("--proxy", default="") + parser.add_argument("--timeout", default="") + parser.add_argument("--repeat", type=int, default=1) + parser.add_argument("--delay", default="0") + parser.add_argument("--additional-args", dest="additional_args", default="") + parser.add_argument("--action", default="") + parser.add_argument("--include-headers", dest="include_headers", action="store_true") + parser.add_argument("--auto-encode-url", dest="auto_encode_url", action="store_true") + parser.add_argument("--follow-redirects", dest="follow_redirects", action="store_true") + parser.add_argument("--allow-insecure", dest="allow_insecure", action="store_true") + parser.add_argument("--verbose-output", dest="verbose_output", action="store_true") + parser.add_argument("--show-command", dest="show_command", action="store_true") + parser.add_argument("--show-summary", dest="show_summary", action="store_true") + parser.add_argument("--response-encoding", dest="response_encoding", default="") + args = parser.parse_args() - print("\n===== Aggregate Timing =====") - for key, values in aggregate.items(): - summary = summarize(values) - if not summary: - continue - label = key.replace("_", " ").title() - min_v, avg_v, max_v = summary - print(f"{label}: min {min_v:.6f}s | avg {avg_v:.6f}s | max {max_v:.6f}s") + repeat = max(1, args.repeat) + try: + delay_between = float(args.delay or "0") + if delay_between < 0: + delay_between = 0.0 + except ValueError: + delay_between = 0.0 - if exit_code != 0: - sys.exit(exit_code) - sys.exit(0) + prepared_url = smart_encode_url(args.url) if args.auto_encode_url else args.url + curl_cmd = ["curl", "-sS"] + if args.include_headers: + curl_cmd.append("-i") + if args.verbose_output: + curl_cmd.append("-v") + method = (args.method or "GET").upper() + if method: + curl_cmd.extend(["-X", method]) + if args.cookies: + curl_cmd.extend(["-b", args.cookies]) + if args.user_agent: + curl_cmd.extend(["-A", args.user_agent]) + if args.timeout: + curl_cmd.extend(["--max-time", str(args.timeout)]) + if args.follow_redirects: + curl_cmd.append("-L") + if args.allow_insecure: + curl_cmd.append("-k") + if args.proxy: + curl_cmd.extend(["-x", args.proxy]) + for header in parse_headers(args.headers): + curl_cmd.extend(["-H", header]) + if args.data: + curl_cmd.extend(["--data", args.data]) + metrics_template = METRIC_MARKER + ":" + "|".join([ + "%{time_namelookup}", + "%{time_connect}", + "%{time_appconnect}", + "%{time_pretransfer}", + "%{time_starttransfer}", + "%{time_total}", + "%{speed_download}", + "%{size_download}", + "%{http_code}", + "%{num_redirects}", + ]) + curl_cmd.extend(["-w", f"\n{metrics_template}\n"]) + if args.additional_args: + curl_cmd.extend(parse_additional(args.additional_args)) + curl_cmd.append(prepared_url) + + aggregate = {key: [] for key in METRIC_KEYS} if args.show_summary else None + if aggregate is not None: + aggregate["wall_time"] = [] + exit_code = 0 + + for run_index in range(repeat): + if run_index > 0 and delay_between > 0: + time.sleep(delay_between) + + run_cmd = list(curl_cmd) + start = time.perf_counter() + proc = subprocess.run( + run_cmd, + capture_output=True, + ) + elapsed = time.perf_counter() - start + body_bytes, stats = extract_metrics(proc.stdout) + decoded_body, used_encoding, encoding_source = decode_body_bytes( + body_bytes, + user_encoding=args.response_encoding, + ) + + print(f"\n===== Response #{run_index + 1} =====") + output_body = decoded_body.rstrip() + if output_body: + print(output_body) + else: + print("[no body]") + + print(f"\n----- Meta #{run_index + 1} -----") + if args.show_command and run_index == 0: + print("Command:", sanitize_cmd(run_cmd)) + if args.show_summary: + if stats: + for key in METRIC_KEYS: + label = key.replace("_", " ").title() + print(f"{label}: {stats.get(key, 'n/a')}") + value = to_float(stats.get(key)) + if value is not None and aggregate is not None: + aggregate[key].append(value) + else: + print("Timing data unavailable (curl -w output missing).") + print(f"Wall Time (client): {elapsed:.6f}s") + if aggregate is not None: + aggregate["wall_time"].append(elapsed) + else: + print("Summary disabled (--show-summary=false).") + print(f"Wall Time (client): {elapsed:.6f}s") + + print(f"Encoding Used: {used_encoding} ({encoding_source})") + + stderr_text = proc.stderr.decode("utf-8", errors="replace").strip() + if stderr_text: + print("\nstderr:") + print(stderr_text) + + if proc.returncode != 0: + exit_code = proc.returncode + + if args.show_summary and repeat > 1 and aggregate is not None: + def summarize(values): + if not values: + return None + return (min(values), sum(values)/len(values), max(values)) + + print("\n===== Aggregate Timing =====") + for key, values in aggregate.items(): + summary = summarize(values) + if not summary: + continue + label = key.replace("_", " ").title() + min_v, avg_v, max_v = summary + print(f"{label}: min {min_v:.6f}s | avg {avg_v:.6f}s | max {max_v:.6f}s") + + if exit_code != 0: + sys.exit(exit_code) + sys.exit(0) enabled: true short_description: "增强的HTTP测试框架(带延时、编码、可观察性)" description: | @@ -244,6 +327,7 @@ description: | - 自动URL编码:解决包含空格、引号等字符时curl报错的问题,必要时可手动关闭 - 时延观测:采集 DNS / TCP / TLS / TTFB / 总耗时,可循环请求计算盲注延时 - 详细输出:可选响应头、命令、stderr,方便排查 + - 自动编码识别:支持响应内容编码自动检测,可额外指定强制编码 - 扩展控制:支持代理、超时、重复次数、延迟间隔及原生curl参数透传 parameters: - name: "url" @@ -341,6 +425,11 @@ parameters: required: false default: true flag: "--show-summary" + - name: "response_encoding" + type: "string" + description: "强制响应解码使用的编码(默认自动检测,可用于指定GBK等场景)" + required: false + flag: "--response-encoding" - name: "action" type: "string" description: "保留字段:标识调用意图(request, spider等),当前脚本内部不使用" diff --git a/tools/http-intruder.yaml b/tools/http-intruder.yaml index 87f8fac9..feb26dc2 100644 --- a/tools/http-intruder.yaml +++ b/tools/http-intruder.yaml @@ -1,69 +1,130 @@ name: "http-intruder" -command: "ffuf" +command: "python3" +args: + - "-c" + - | + import json + import sys + import time + from urllib.parse import urlencode, urlparse, parse_qs, urlunparse + + import requests + + if len(sys.argv) < 3: + sys.stderr.write("需要至少URL和载荷\n") + sys.exit(1) + + url = sys.argv[1] + method = (sys.argv[2] or "GET").upper() + location = (sys.argv[3] or "query").lower() + params_json = sys.argv[4] if len(sys.argv) > 4 else "{}" + payloads_json = sys.argv[5] if len(sys.argv) > 5 else "[]" + max_requests = int(sys.argv[6]) if len(sys.argv) > 6 and sys.argv[6] else 0 + + try: + params_template = json.loads(params_json) if params_json else {} + except json.JSONDecodeError as exc: + sys.stderr.write(f"参数模板解析失败: {exc}\n") + sys.exit(1) + + try: + payloads = json.loads(payloads_json) + except json.JSONDecodeError as exc: + sys.stderr.write(f"载荷解析失败: {exc}\n") + sys.exit(1) + + if not isinstance(payloads, list) or not payloads: + sys.stderr.write("载荷列表不能为空\n") + sys.exit(1) + + param_names = list(params_template.keys()) + if not param_names: + sys.stderr.write("参数模板不能为空\n") + sys.exit(1) + + session = requests.Session() + sent = 0 + + def build_query(original_url, data): + parsed = urlparse(original_url) + existing = {k: v[0] for k, v in parse_qs(parsed.query, keep_blank_values=True).items()} + existing.update(data) + new_query = urlencode(existing, doseq=True) + return urlunparse(parsed._replace(query=new_query)) + + for param in param_names: + for payload in payloads: + if max_requests and sent >= max_requests: + break + payload_str = str(payload) + if location == "query": + new_url = build_query(url, {param: payload_str}) + response = session.request(method, new_url) + elif location == "body": + body = params_template.copy() + body[param] = payload_str + response = session.request(method, url, data=body) + elif location == "headers": + headers = params_template.copy() + headers[param] = payload_str + response = session.request(method, url, headers=headers) + elif location == "cookie": + cookies = params_template.copy() + cookies[param] = payload_str + response = session.request(method, url, cookies=cookies) + else: + sys.stderr.write(f"不支持的位置: {location}\n") + sys.exit(1) + + sent += 1 + length = len(response.content) + print(f"[{sent}] {param} = {payload_str} -> {response.status_code} ({length} bytes)") + if max_requests and sent >= max_requests: + break + + if sent == 0: + sys.stderr.write("未发送任何请求,请检查参数配置。\n") enabled: true - short_description: "简单的Intruder(sniper)模糊测试工具" - description: | - 简单的Intruder(sniper)模糊测试,逐个参数迭代载荷。 - - **主要功能:** - - 参数模糊测试 - - 载荷迭代 - - 多种位置支持 - - 批量请求 - - **使用场景:** - - 参数模糊测试 - - 载荷测试 - - 安全测试 - - 漏洞发现 - + 轻量级HTTP“狙击手”模式模糊器,对每个参数逐一替换载荷并记录响应。 parameters: - name: "url" type: "string" description: "目标URL" required: true - + position: 0 + format: "positional" - name: "method" type: "string" - description: "HTTP方法" + description: "HTTP方法(默认GET)" required: false default: "GET" - + position: 1 + format: "positional" - name: "location" type: "string" description: "载荷位置(query, body, headers, cookie)" required: false default: "query" - + position: 2 + format: "positional" - name: "params" type: "string" - description: "参数列表(JSON格式)" - required: false - + description: "参数模板(JSON字典),指定要模糊的键及默认值" + required: true + position: 3 + format: "positional" - name: "payloads" type: "string" - description: "载荷列表(JSON格式)" - required: false - + description: "载荷列表(JSON数组)" + required: true + position: 4 + format: "positional" - name: "max_requests" type: "int" - description: "最大请求数" + description: "最大请求数(0表示全部)" required: false - default: 100 - - - name: "additional_args" - type: "string" - description: | - 额外的http-intruder参数。用于传递未在参数列表中定义的http-intruder选项。 - - **示例值:** - - 根据工具特性添加常用参数示例 - - **注意事项:** - - 多个参数用空格分隔 - - 确保参数格式正确,避免命令注入 - - 此参数会直接追加到命令末尾 - required: false - format: "positional" \ No newline at end of file + default: 0 + position: 5 + format: "positional" diff --git a/tools/http-repeater.yaml b/tools/http-repeater.yaml index c0e8ae99..fec73e4a 100644 --- a/tools/http-repeater.yaml +++ b/tools/http-repeater.yaml @@ -1,41 +1,81 @@ name: "http-repeater" -command: "curl" +command: "python3" +args: + - "-c" + - | + import json + import sys + import textwrap + + import requests + + if len(sys.argv) < 2: + sys.stderr.write("缺少 request_spec 参数\n") + sys.exit(1) + + spec_raw = sys.argv[1] + repeat = int(sys.argv[2]) if len(sys.argv) > 2 and sys.argv[2] else 1 + delay = float(sys.argv[3]) if len(sys.argv) > 3 and sys.argv[3] else 0.0 + + try: + spec = json.loads(spec_raw) + except json.JSONDecodeError as exc: + sys.stderr.write(f"请求规范解析失败: {exc}\n") + sys.exit(1) + + url = spec.get("url") + if not url: + sys.stderr.write("request_spec 中缺少 url 字段\n") + sys.exit(1) + + method = spec.get("method", "GET").upper() + headers = spec.get("headers") or {} + cookies = spec.get("cookies") or {} + data = spec.get("data") + json_data = spec.get("json") + + session = requests.Session() + + for idx in range(repeat): + response = session.request( + method, + url, + headers=headers, + cookies=cookies, + data=data, + json=json_data, + allow_redirects=False, + ) + print(f"===== Response #{idx + 1} =====") + print(f"Status: {response.status_code}") + print(f"Headers:\n{textwrap.indent(str(dict(response.headers)), ' ')}") + print("Body:") + print(response.text) + if delay and idx + 1 < repeat: + import time + time.sleep(delay) enabled: true - short_description: "发送精心制作的HTTP请求(Burp Repeater等效)" - description: | - 发送精心制作的HTTP请求,类似于Burp Suite的Repeater功能。 - - **主要功能:** - - 请求重放 - - 请求修改 - - 响应查看 - - 多次发送 - - **使用场景:** - - HTTP请求测试 - - 请求重放 - - 安全测试 - - 漏洞验证 - + 以JSON描述请求细节(URL/方法/头/正文),运行时可重复发送并查看响应。 parameters: - name: "request_spec" type: "string" - description: "请求规范(JSON格式,包含url, method, headers, cookies, data)" + description: "请求规范(JSON格式),支持 url, method, headers, cookies, data/json" required: true - - - name: "additional_args" - type: "string" - description: | - 额外的http-repeater参数。用于传递未在参数列表中定义的http-repeater选项。 - - **示例值:** - - 根据工具特性添加常用参数示例 - - **注意事项:** - - 多个参数用空格分隔 - - 确保参数格式正确,避免命令注入 - - 此参数会直接追加到命令末尾 + position: 0 + format: "positional" + - name: "repeat" + type: "int" + description: "重复发送次数(默认1)" required: false - format: "positional" \ No newline at end of file + default: 1 + position: 1 + format: "positional" + - name: "delay" + type: "string" + description: "重复发送的间隔秒数(默认0)" + required: false + default: "0" + position: 2 + format: "positional" diff --git a/tools/httpx.yaml b/tools/httpx.yaml index 5b8bc52a..85b2ccf5 100644 --- a/tools/httpx.yaml +++ b/tools/httpx.yaml @@ -1,40 +1,34 @@ name: "httpx" command: "httpx" enabled: true - short_description: "快速HTTP探测和指纹识别工具" - description: | HTTPx是一个快速HTTP探测工具,用于发现和验证HTTP服务。 - + **主要功能:** - 快速HTTP探测 - 技术检测 - 状态码过滤 - 多线程支持 - + **使用场景:** - HTTP服务发现 - 技术栈识别 - Web应用发现 - 安全测试 - parameters: - - name: "target" + - name: "url" type: "string" - description: "目标文件或单个URL" - required: true + description: "单个目标URL(使用 -u 选项)" + required: false flag: "-u" format: "flag" - - - name: "probe" - type: "bool" - description: "启用探测" + - name: "input_file" + type: "string" + description: "包含多个目标的文件(使用 -l 选项)" required: false - flag: "-probe" + flag: "-l" format: "flag" - default: true - - name: "tech_detect" type: "bool" description: "启用技术检测" @@ -42,7 +36,6 @@ parameters: flag: "-td" format: "flag" default: false - - name: "status_code" type: "bool" description: "显示状态码" @@ -50,7 +43,6 @@ parameters: flag: "-sc" format: "flag" default: false - - name: "content_length" type: "bool" description: "显示内容长度" @@ -58,7 +50,6 @@ parameters: flag: "-cl" format: "flag" default: false - - name: "title" type: "bool" description: "显示页面标题" @@ -66,7 +57,6 @@ parameters: flag: "-title" format: "flag" default: false - - name: "web_server" type: "bool" description: "显示Web服务器" @@ -74,7 +64,6 @@ parameters: flag: "-server" format: "flag" default: false - - name: "threads" type: "int" description: "线程数" @@ -82,22 +71,20 @@ parameters: flag: "-t" format: "flag" default: 50 - - name: "additional_args" type: "string" description: | 额外的HTTPx参数。用于传递未在参数列表中定义的HTTPx选项。 - + **示例值:** - "-o output.txt": 输出到文件 - "-json": JSON格式输出 - "-silent": 安静模式 - "-rate-limit 100": 限制请求速率 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false format: "positional" - diff --git a/tools/hydra.yaml b/tools/hydra.yaml index c3eddfa1..a907d42b 100644 --- a/tools/hydra.yaml +++ b/tools/hydra.yaml @@ -1,24 +1,21 @@ name: "hydra" command: "hydra" enabled: true - short_description: "密码暴力破解工具,支持多种协议和服务" - description: | Hydra是一个快速的网络登录破解工具,支持多种协议和服务的密码暴力破解。 - + **主要功能:** - 支持多种协议(SSH, FTP, HTTP, SMB等) - 快速并行破解 - 支持用户名和密码字典 - 可恢复的会话 - + **使用场景:** - 密码强度测试 - 渗透测试 - 安全评估 - 弱密码检测 - parameters: - name: "target" type: "string" @@ -26,44 +23,38 @@ parameters: required: true position: 0 format: "positional" - - name: "service" type: "string" description: "服务类型(ssh, ftp, http等)" required: true position: 1 format: "positional" - - name: "username" type: "string" description: "单个用户名" required: false flag: "-l" format: "flag" - - name: "username_file" type: "string" description: "用户名字典文件" required: false flag: "-L" format: "flag" - - name: "password" type: "string" description: "单个密码" required: false flag: "-p" format: "flag" - - name: "password_file" type: "string" description: "密码字典文件" required: false flag: "-P" format: "flag" - - name: "additional_args" type: "string" description: "额外的Hydra参数" required: false - + format: "positional" diff --git a/tools/impacket.yaml b/tools/impacket.yaml index 64dcb257..5a507a7c 100644 --- a/tools/impacket.yaml +++ b/tools/impacket.yaml @@ -1,12 +1,49 @@ name: "impacket" command: "python3" +args: + - "-c" + - | + import json + import shlex + import subprocess + import sys + + if len(sys.argv) < 2: + sys.stderr.write("缺少Impacket脚本路径\n") + sys.exit(1) + + script_path = sys.argv[1] + args_raw = sys.argv[2] if len(sys.argv) > 2 else "" + extra = sys.argv[3] if len(sys.argv) > 3 else "" + + cmd = [script_path] + + if args_raw: + parsed = [] + try: + candidate = json.loads(args_raw) + if isinstance(candidate, list): + parsed = [str(item) for item in candidate] + elif isinstance(candidate, str): + parsed = shlex.split(candidate) + except (json.JSONDecodeError, ValueError): + parsed = shlex.split(args_raw) + cmd.extend(parsed) + + if extra: + cmd.extend(shlex.split(extra)) + + proc = subprocess.run(cmd, capture_output=True, text=True) + if proc.stdout: + sys.stdout.write(proc.stdout) + if proc.stderr: + sys.stderr.write(proc.stderr) + sys.exit(proc.returncode) enabled: true - short_description: "Impacket 网络协议工具集,用于网络协议攻击和横向移动" - description: | Impacket 是一个 Python 工具集,用于处理网络协议,常用于渗透测试和横向移动。 - + **主要功能:** - SMB 协议攻击 - Kerberos 协议攻击 @@ -14,26 +51,25 @@ description: | - 远程命令执行 - 凭证转储 - 票据传递攻击 - + **常用工具:** - psexec: 远程命令执行 - smbexec: SMB 远程执行 - wmiexec: WMI 远程执行 - secretsdump: 凭证转储 - getTGT: Kerberos 票据获取 - + **使用场景:** - 横向移动 - 凭证转储 - 远程命令执行 - 后渗透测试 - + **注意事项:** - 需要 Python 环境 - 需要相应的凭据 - 仅用于授权的安全测试 - 工具路径通常在 /usr/share/doc/python3-impacket/examples/ 或通过 pip 安装 - parameters: - name: "script" type: "string" @@ -41,24 +77,26 @@ parameters: required: true position: 0 format: "positional" - - name: "args" type: "string" - description: "脚本参数(JSON 格式的字符串,会被解析为多个参数)" + description: "脚本参数(JSON数组或空格分隔字符串)" required: false + default: "" + position: 1 format: "positional" - - name: "additional_args" type: "string" description: | 额外的impacket参数。用于传递未在参数列表中定义的impacket选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + default: "" + position: 2 + format: "positional" diff --git a/tools/install-python-package.yaml b/tools/install-python-package.yaml index 4b7c7987..f87aebfc 100644 --- a/tools/install-python-package.yaml +++ b/tools/install-python-package.yaml @@ -3,28 +3,28 @@ command: "/bin/bash" args: - "-c" - | - set -euo pipefail + set -euo pipefail - PACKAGE="$1" - ENV_NAME="${2:-default}" - ADDITIONAL_ARGS="${3:-}" + PACKAGE="$1" + ENV_NAME="${2:-default}" + ADDITIONAL_ARGS="${3:-}" - BASE_DIR="${HOME}/.cyberstrike/venvs" - ENV_DIR="${BASE_DIR}/${ENV_NAME}" + BASE_DIR="${HOME}/.cyberstrike/venvs" + ENV_DIR="${BASE_DIR}/${ENV_NAME}" - mkdir -p "$BASE_DIR" - if [ ! -d "$ENV_DIR" ]; then - python3 -m venv "$ENV_DIR" - fi + mkdir -p "$BASE_DIR" + if [ ! -d "$ENV_DIR" ]; then + python3 -m venv "$ENV_DIR" + fi - # shellcheck disable=SC1090 - source "$ENV_DIR/bin/activate" + # shellcheck disable=SC1090 + source "$ENV_DIR/bin/activate" - if [ -n "$ADDITIONAL_ARGS" ]; then - pip install "$PACKAGE" $ADDITIONAL_ARGS - else - pip install "$PACKAGE" - fi + if [ -n "$ADDITIONAL_ARGS" ]; then + pip install "$PACKAGE" $ADDITIONAL_ARGS + else + pip install "$PACKAGE" + fi - "_" enabled: true short_description: "在指定虚拟环境中创建/激活并安装Python依赖" diff --git a/tools/jaeles.yaml b/tools/jaeles.yaml index 3b7efa55..46dee9e9 100644 --- a/tools/jaeles.yaml +++ b/tools/jaeles.yaml @@ -1,24 +1,22 @@ name: "jaeles" command: "jaeles" +args: ["scan"] enabled: true - short_description: "高级漏洞扫描器,支持自定义签名" - description: | Jaeles是一个高级漏洞扫描器,支持自定义签名进行漏洞检测。 - + **主要功能:** - 自定义签名支持 - 多种漏洞检测 - 快速扫描 - 详细报告 - + **使用场景:** - 漏洞扫描 - Web应用安全测试 - 自定义检测规则 - 安全测试 - parameters: - name: "url" type: "string" @@ -26,21 +24,18 @@ parameters: required: true flag: "-u" format: "flag" - - name: "signatures" type: "string" description: "自定义签名路径" required: false flag: "-s" format: "flag" - - name: "config" type: "string" description: "配置文件" required: false flag: "-c" format: "flag" - - name: "threads" type: "int" description: "线程数" @@ -48,7 +43,6 @@ parameters: flag: "-t" format: "flag" default: 20 - - name: "timeout" type: "int" description: "请求超时时间(秒)" @@ -56,18 +50,17 @@ parameters: flag: "--timeout" format: "flag" default: 20 - - name: "additional_args" type: "string" description: | 额外的jaeles参数。用于传递未在参数列表中定义的jaeles选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/john.yaml b/tools/john.yaml index 12cf5c41..c1267dac 100644 --- a/tools/john.yaml +++ b/tools/john.yaml @@ -1,24 +1,21 @@ name: "john" command: "john" enabled: true - short_description: "John the Ripper密码破解工具" - description: | John the Ripper是一个快速的密码破解工具,支持多种哈希算法。 - + **主要功能:** - 多种哈希算法支持 - 字典攻击 - 暴力破解 - 规则引擎 - + **使用场景:** - 密码恢复 - 哈希破解 - 安全测试 - 取证分析 - parameters: - name: "hash_file" type: "string" @@ -26,7 +23,6 @@ parameters: required: true position: 0 format: "positional" - - name: "wordlist" type: "string" description: "字典文件" @@ -34,16 +30,14 @@ parameters: default: "/usr/share/wordlists/rockyou.txt" flag: "--wordlist" format: "flag" - - name: "format_type" type: "string" description: "哈希格式类型" required: false flag: "--format" format: "flag" - - name: "additional_args" type: "string" description: "额外的John参数" required: false - + format: "positional" diff --git a/tools/jwt-analyzer.yaml b/tools/jwt-analyzer.yaml index a1ea741f..ea004b52 100644 --- a/tools/jwt-analyzer.yaml +++ b/tools/jwt-analyzer.yaml @@ -1,24 +1,21 @@ name: "jwt-analyzer" command: "jwt_tool" enabled: true - short_description: "JWT令牌分析和漏洞测试工具" - description: | 高级JWT令牌分析和漏洞测试工具,用于检测JWT实现中的安全问题。 - + **主要功能:** - JWT令牌分析 - 漏洞测试 - 攻击向量检测 - 令牌操作 - + **使用场景:** - JWT安全测试 - 令牌分析 - 漏洞发现 - 安全测试 - parameters: - name: "jwt_token" type: "string" @@ -26,25 +23,23 @@ parameters: required: true flag: "-t" format: "flag" - - name: "target_url" type: "string" description: "用于测试令牌操作的可选目标URL" required: false flag: "-u" format: "flag" - - name: "additional_args" type: "string" description: | 额外的jwt-analyzer参数。用于传递未在参数列表中定义的jwt-analyzer选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/katana.yaml b/tools/katana.yaml index b45f7527..307d68aa 100644 --- a/tools/katana.yaml +++ b/tools/katana.yaml @@ -1,24 +1,21 @@ name: "katana" command: "katana" enabled: true - short_description: "下一代Web爬虫和蜘蛛工具" - description: | Katana是一个快速、智能的Web爬虫工具,用于发现Web应用中的端点和资源。 - + **主要功能:** - 智能Web爬虫 - JavaScript渲染支持 - 表单提取 - 端点发现 - + **使用场景:** - Web应用侦察 - 端点发现 - 内容爬取 - 安全测试 - parameters: - name: "url" type: "string" @@ -26,7 +23,6 @@ parameters: required: true flag: "-u" format: "flag" - - name: "depth" type: "int" description: "爬取深度" @@ -34,15 +30,13 @@ parameters: flag: "-d" format: "flag" default: 3 - - name: "js_crawl" type: "bool" description: "启用JavaScript爬取" required: false - flag: "-js-crawl" + flag: "-jc" format: "flag" default: true - - name: "form_extraction" type: "bool" description: "启用表单提取" @@ -50,22 +44,20 @@ parameters: flag: "-forms" format: "flag" default: true - - name: "additional_args" type: "string" description: | 额外的Katana参数。用于传递未在参数列表中定义的Katana选项。 - + **示例值:** - "--headless": 使用无头浏览器 - "-f": 输出格式 - "-o output.txt": 输出到文件 - "-c": 并发数 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false format: "positional" - diff --git a/tools/kube-bench.yaml b/tools/kube-bench.yaml index 3e879cd5..2f64e4c6 100644 --- a/tools/kube-bench.yaml +++ b/tools/kube-bench.yaml @@ -1,24 +1,21 @@ name: "kube-bench" command: "kube-bench" enabled: true - short_description: "CIS Kubernetes基准检查工具" - description: | Kube-bench是一个CIS Kubernetes基准检查工具,用于检查Kubernetes集群是否符合CIS基准。 - + **主要功能:** - CIS基准检查 - 多种目标支持(master, node, etcd, policies) - 详细报告 - 配置验证 - + **使用场景:** - Kubernetes合规性检查 - 安全配置审计 - CIS基准验证 - 安全评估 - parameters: - name: "targets" type: "string" @@ -26,21 +23,18 @@ parameters: required: false flag: "--targets" format: "flag" - - name: "version" type: "string" description: "Kubernetes版本" required: false flag: "--version" format: "flag" - - name: "config_dir" type: "string" description: "配置目录" required: false flag: "--config-dir" format: "flag" - - name: "output_format" type: "string" description: "输出格式(json, yaml)" @@ -48,18 +42,17 @@ parameters: flag: "--output" format: "flag" default: "json" - - name: "additional_args" type: "string" description: | 额外的kube-bench参数。用于传递未在参数列表中定义的kube-bench选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/kube-hunter.yaml b/tools/kube-hunter.yaml index e200bd63..29966841 100644 --- a/tools/kube-hunter.yaml +++ b/tools/kube-hunter.yaml @@ -1,24 +1,21 @@ name: "kube-hunter" command: "kube-hunter" enabled: true - short_description: "Kubernetes渗透测试工具" - description: | Kube-hunter是一个Kubernetes渗透测试工具,用于发现Kubernetes集群中的安全问题。 - + **主要功能:** - Kubernetes安全扫描 - 漏洞发现 - 配置问题检测 - 主动和被动模式 - + **使用场景:** - Kubernetes安全测试 - 集群安全评估 - 渗透测试 - 安全审计 - parameters: - name: "target" type: "string" @@ -26,21 +23,18 @@ parameters: required: false flag: "--remote" format: "flag" - - name: "cidr" type: "string" description: "CIDR范围扫描" required: false flag: "--cidr" format: "flag" - - name: "interface" type: "string" description: "网络接口扫描" required: false flag: "--interface" format: "flag" - - name: "active" type: "bool" description: "启用主动扫描(可能有风险)" @@ -48,7 +42,6 @@ parameters: flag: "--active" format: "flag" default: false - - name: "report" type: "string" description: "报告格式(json, yaml)" @@ -56,18 +49,17 @@ parameters: flag: "--report" format: "flag" default: "json" - - name: "additional_args" type: "string" description: | 额外的kube-hunter参数。用于传递未在参数列表中定义的kube-hunter选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/libc-database.yaml b/tools/libc-database.yaml index 0bd34881..daad80d0 100644 --- a/tools/libc-database.yaml +++ b/tools/libc-database.yaml @@ -1,51 +1,88 @@ name: "libc-database" -command: "libc-database" +command: "python3" +args: + - "-c" + - | + import shlex + import subprocess + import sys + + if len(sys.argv) < 2: + sys.stderr.write("缺少操作类型(find/dump/download)\n") + sys.exit(1) + + action = sys.argv[1] + symbols = sys.argv[2] if len(sys.argv) > 2 else "" + libc_id = sys.argv[3] if len(sys.argv) > 3 else "" + extra = sys.argv[4] if len(sys.argv) > 4 else "" + + cmd = ["libc-database", action] + + if symbols: + cmd.extend(shlex.split(symbols)) + + if libc_id: + cmd.append(libc_id) + + if extra: + cmd.extend(shlex.split(extra)) + + proc = subprocess.run(cmd, capture_output=True, text=True) + if proc.stdout: + sys.stdout.write(proc.stdout) + if proc.stderr: + sys.stderr.write(proc.stderr) + sys.exit(proc.returncode) enabled: true - short_description: "libc识别和偏移查找工具" - description: | Libc-database是一个用于libc识别和偏移查找的工具。 - + **主要功能:** - libc识别 - 符号偏移查找 - libc下载 - 数据库查询 - + **使用场景:** - CTF挑战 - 漏洞利用开发 - libc识别 - 安全研究 - parameters: - name: "action" type: "string" description: "要执行的操作(find, dump, download)" required: true - + position: 0 + format: "positional" - name: "symbols" type: "string" description: "符号和偏移(格式:symbol1:offset1 symbol2:offset2)" required: false - + default: "" + position: 1 + format: "positional" - name: "libc_id" type: "string" description: "Libc ID(用于dump/download操作)" required: false - + default: "" + position: 2 + format: "positional" - name: "additional_args" type: "string" description: | 额外的libc-database参数。用于传递未在参数列表中定义的libc-database选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + default: "" + position: 3 + format: "positional" diff --git a/tools/linpeas.yaml b/tools/linpeas.yaml index 221a3a54..48429e2f 100644 --- a/tools/linpeas.yaml +++ b/tools/linpeas.yaml @@ -1,12 +1,10 @@ name: "linpeas" command: "linpeas.sh" enabled: true - short_description: "Linux 权限提升枚举脚本,自动检测常见提权路径" - description: | LinPEAS (Linux Privilege Escalation Awesome Script) 是一个自动化权限提升枚举脚本,用于检测 Linux 系统中的常见提权路径。 - + **主要功能:** - 系统信息收集 - 权限和组检查 @@ -16,18 +14,17 @@ description: | - 定时任务分析 - 网络配置检查 - 敏感文件查找 - + **使用场景:** - 渗透测试中的权限提升 - 安全审计 - 后渗透测试 - CTF 竞赛 - + **注意事项:** - 需要目标系统上已下载 linpeas.sh 脚本 - 执行时间可能较长 - 输出信息量大,建议保存到文件 - parameters: - name: "output" type: "string" @@ -35,25 +32,23 @@ parameters: required: false flag: "-o" format: "flag" - - name: "fast" type: "bool" description: "快速模式,跳过耗时检查" required: false flag: "-fast" format: "flag" - - name: "additional_args" type: "string" description: | 额外的linpeas参数。用于传递未在参数列表中定义的linpeas选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/list-files.yaml b/tools/list-files.yaml index c669cadd..79754d2e 100644 --- a/tools/list-files.yaml +++ b/tools/list-files.yaml @@ -1,22 +1,19 @@ name: "list-files" command: "ls" enabled: true - short_description: "列出目录文件工具" - description: | 列出服务器上指定目录中的文件。 - + **主要功能:** - 列出文件 - 显示详细信息 - 递归列出 - + **使用场景:** - 目录浏览 - 文件查找 - 系统检查 - parameters: - name: "directory" type: "string" @@ -25,7 +22,6 @@ parameters: default: "." position: 0 format: "positional" - - name: "long_format" type: "bool" description: "显示详细信息(长格式)" @@ -33,7 +29,6 @@ parameters: flag: "-l" format: "flag" default: false - - name: "recursive" type: "bool" description: "递归列出" @@ -41,18 +36,17 @@ parameters: flag: "-R" format: "flag" default: false - - name: "additional_args" type: "string" description: | 额外的list-files参数。用于传递未在参数列表中定义的list-files选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/masscan.yaml b/tools/masscan.yaml index fac57657..84ff5302 100644 --- a/tools/masscan.yaml +++ b/tools/masscan.yaml @@ -1,23 +1,20 @@ name: "masscan" command: "masscan" enabled: true - short_description: "高速互联网级端口扫描工具" - description: | Masscan是一个高速端口扫描工具,可以在几分钟内扫描整个互联网。 - + **主要功能:** - 极高的扫描速度 - 支持大规模网络扫描 - Banner抓取 - 可配置扫描速率 - + **使用场景:** - 大规模网络扫描 - 互联网级扫描 - 快速端口发现 - parameters: - name: "target" type: "string" @@ -25,7 +22,6 @@ parameters: required: true position: 0 format: "positional" - - name: "ports" type: "string" description: "端口范围(如:1-65535)" @@ -33,7 +29,6 @@ parameters: flag: "-p" format: "flag" default: "1-65535" - - name: "rate" type: "int" description: "每秒数据包数" @@ -41,14 +36,12 @@ parameters: flag: "--rate" format: "flag" default: 1000 - - name: "interface" type: "string" description: "网络接口" required: false flag: "-e" format: "flag" - - name: "banners" type: "bool" description: "启用Banner抓取" @@ -56,18 +49,17 @@ parameters: flag: "--banners" format: "flag" default: false - - name: "additional_args" type: "string" description: | 额外的masscan参数。用于传递未在参数列表中定义的masscan选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/metasploit.yaml b/tools/metasploit.yaml index b5d7d30c..df8ac929 100644 --- a/tools/metasploit.yaml +++ b/tools/metasploit.yaml @@ -1,46 +1,60 @@ name: "metasploit" -command: "msfconsole" +command: "python3" +args: + - "-c" + - | + import json + import shlex + import subprocess + import sys + + if len(sys.argv) < 2: + sys.stderr.write("缺少模块名称\n") + sys.exit(1) + + module = sys.argv[1] + options_raw = sys.argv[2] if len(sys.argv) > 2 else "{}" + extra = sys.argv[3] if len(sys.argv) > 3 else "" + + try: + options = json.loads(options_raw) if options_raw else {} + except json.JSONDecodeError as exc: + sys.stderr.write(f"选项解析失败: {exc}\n") + sys.exit(1) + + commands = [f"use {module}"] + for key, value in options.items(): + commands.append(f"set {key} {value}") + commands.append("run") + commands.append("exit") + + cmd = ["msfconsole", "-q", "-x", "; ".join(commands)] + if extra: + cmd.extend(shlex.split(extra)) + + subprocess.run(cmd, check=False) enabled: true - short_description: "Metasploit渗透测试框架" - description: | - Metasploit是一个渗透测试框架,提供大量漏洞利用模块和辅助工具。 - - **主要功能:** - - 漏洞利用 - - 载荷生成 - - 后渗透模块 - - 辅助工具 - - **使用场景:** - - 渗透测试 - - 漏洞利用 - - 安全测试 - - 安全研究 - + 通过 `msfconsole -q -x` 非交互执行模块。可提供JSON格式的模块选项,脚本自动构建 `set` 与 `run` 指令。 parameters: - name: "module" type: "string" - description: "要使用的Metasploit模块" + description: "要使用的Metasploit模块(例如 exploit/windows/smb/ms17_010_eternalblue)" required: true - + position: 0 + format: "positional" - name: "options" type: "string" - description: "模块选项(JSON格式)" + description: "模块选项(JSON对象,键值对应 set 指令)" required: false - + default: "{}" + position: 1 + format: "positional" - name: "additional_args" type: "string" - description: | - 额外的metasploit参数。用于传递未在参数列表中定义的metasploit选项。 - - **示例值:** - - 根据工具特性添加常用参数示例 - - **注意事项:** - - 多个参数用空格分隔 - - 确保参数格式正确,避免命令注入 - - 此参数会直接追加到命令末尾 + description: "额外的 msfconsole 参数(追加在命令末尾)" required: false - format: "positional" \ No newline at end of file + default: "" + position: 2 + format: "positional" diff --git a/tools/mimikatz.yaml b/tools/mimikatz.yaml index 23c419fe..136d6865 100644 --- a/tools/mimikatz.yaml +++ b/tools/mimikatz.yaml @@ -1,12 +1,10 @@ name: "mimikatz" command: "mimikatz.exe" -enabled: true - +enabled: false short_description: "Windows 凭证提取工具,用于提取内存中的密码和哈希" - description: | Mimikatz 是一个强大的 Windows 凭证提取工具,可以从内存中提取明文密码、哈希值、票据等敏感信息。 - + **主要功能:** - 提取内存中的明文密码 - 提取 NTLM 哈希 @@ -14,37 +12,35 @@ description: | - Pass-the-Hash 攻击 - Pass-the-Ticket 攻击 - 凭证转储 - + **使用场景:** - 后渗透测试 - 横向移动 - 权限提升 - 安全研究 - + **注意事项:** - 需要管理员权限运行 - 可能被杀毒软件检测 - 仅用于授权的安全测试 - 使用前需要进入 mimikatz 交互式命令行 - parameters: - name: "command" type: "string" description: "Mimikatz 命令,例如 'privilege::debug sekurlsa::logonpasswords'" required: true format: "positional" - - name: "additional_args" type: "string" description: | 额外的mimikatz参数。用于传递未在参数列表中定义的mimikatz选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/msfvenom.yaml b/tools/msfvenom.yaml index def69dd5..46670976 100644 --- a/tools/msfvenom.yaml +++ b/tools/msfvenom.yaml @@ -1,24 +1,21 @@ name: "msfvenom" command: "msfvenom" enabled: true - short_description: "Metasploit载荷生成工具" - description: | MSFVenom是Metasploit框架的载荷生成工具,用于创建各种类型的攻击载荷。 - + **主要功能:** - 多种载荷类型 - 编码器支持 - 多种输出格式 - 平台支持 - + **使用场景:** - 渗透测试 - 载荷生成 - 漏洞利用 - 安全测试 - parameters: - name: "payload" type: "string" @@ -26,46 +23,41 @@ parameters: required: true flag: "-p" format: "flag" - - name: "format_type" type: "string" description: "输出格式(exe, elf, raw等)" required: false flag: "-f" format: "flag" - - name: "output_file" type: "string" description: "输出文件路径" required: false flag: "-o" format: "flag" - - name: "encoder" type: "string" description: "编码器(如:x86/shikata_ga_nai)" required: false flag: "-e" format: "flag" - - name: "iterations" type: "string" description: "编码迭代次数" required: false flag: "-i" format: "flag" - - name: "additional_args" type: "string" description: | 额外的msfvenom参数。用于传递未在参数列表中定义的msfvenom选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/nbtscan.yaml b/tools/nbtscan.yaml index df921599..20ab19bd 100644 --- a/tools/nbtscan.yaml +++ b/tools/nbtscan.yaml @@ -1,24 +1,21 @@ name: "nbtscan" command: "nbtscan" enabled: true - short_description: "NetBIOS名称扫描工具" - description: | Nbtscan是一个NetBIOS名称扫描工具,用于发现网络中的Windows系统。 - + **主要功能:** - NetBIOS名称扫描 - Windows系统发现 - 网络映射 - 快速扫描 - + **使用场景:** - Windows网络发现 - NetBIOS枚举 - 网络映射 - 渗透测试 - parameters: - name: "target" type: "string" @@ -26,7 +23,6 @@ parameters: required: true position: 0 format: "positional" - - name: "verbose" type: "bool" description: "详细输出" @@ -34,7 +30,6 @@ parameters: flag: "-v" format: "flag" default: false - - name: "timeout" type: "int" description: "超时时间(秒)" @@ -42,18 +37,17 @@ parameters: flag: "-t" format: "flag" default: 2 - - name: "additional_args" type: "string" description: | 额外的nbtscan参数。用于传递未在参数列表中定义的nbtscan选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/netexec.yaml b/tools/netexec.yaml index 1fdac60d..122efc17 100644 --- a/tools/netexec.yaml +++ b/tools/netexec.yaml @@ -1,70 +1,61 @@ name: "netexec" command: "netexec" enabled: true - short_description: "网络枚举和利用框架(原CrackMapExec)" - description: | NetExec(原CrackMapExec)是一个网络枚举和利用框架,支持多种协议。 - + **主要功能:** - 多协议支持(SMB, SSH, WinRM等) - 凭证验证 - 横向移动 - 模块化架构 - + **使用场景:** - 网络渗透测试 - 域环境测试 - 横向移动测试 - 凭证验证 - parameters: - - name: "target" - type: "string" - description: "目标IP或网络" - required: true - position: 0 - format: "positional" - - name: "protocol" type: "string" description: "协议类型(smb, ssh, winrm等)" required: false default: "smb" - flag: "-M" - format: "flag" - + position: 0 + format: "positional" + - name: "target" + type: "string" + description: "目标IP或网络" + required: true + position: 1 + format: "positional" - name: "username" type: "string" description: "用户名" required: false flag: "-u" format: "flag" - - name: "password" type: "string" description: "密码" required: false flag: "-p" format: "flag" - - name: "hash_value" type: "string" description: "NTLM哈希(用于Pass-the-Hash)" required: false flag: "-H" format: "flag" - - name: "module" type: "string" description: "要执行的模块" required: false flag: "-M" format: "flag" - - name: "additional_args" type: "string" description: "额外的NetExec参数" required: false - + format: "positional" diff --git a/tools/nikto.yaml b/tools/nikto.yaml index ce768fbd..a06122cf 100644 --- a/tools/nikto.yaml +++ b/tools/nikto.yaml @@ -1,14 +1,12 @@ name: "nikto" command: "nikto" enabled: true - # 简短描述(用于工具列表,减少token消耗) short_description: "Web服务器扫描工具,用于检测Web服务器和应用程序中的已知漏洞和配置错误" - # 工具详细描述 description: | Web服务器扫描工具,用于检测Web服务器和应用程序中的已知漏洞、配置错误和潜在安全问题。 - + **主要功能:** - 检测Web服务器版本和配置问题 - 识别已知的Web漏洞和CVE @@ -16,38 +14,37 @@ description: | - 检查服务器配置错误 - 识别过时的软件版本 - 检测默认文件和脚本 - + **使用场景:** - 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以确保正确扫描 @@ -55,18 +52,17 @@ parameters: required: true flag: "-h" format: "flag" - - name: "additional_args" type: "string" description: | 额外的nikto参数。用于传递未在参数列表中定义的nikto选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/nmap-advanced.yaml b/tools/nmap-advanced.yaml index 06f81ef0..73756cb8 100644 --- a/tools/nmap-advanced.yaml +++ b/tools/nmap-advanced.yaml @@ -1,24 +1,21 @@ name: "nmap-advanced" command: "nmap" enabled: true - short_description: "高级Nmap扫描,支持自定义NSE脚本和优化时序" - description: | 高级Nmap扫描工具,支持自定义NSE脚本、优化时序和多种扫描技术。 - + **主要功能:** - 多种扫描技术(SYN, TCP, UDP等) - 自定义NSE脚本 - 时序优化 - OS检测和版本检测 - + **使用场景:** - 高级网络扫描 - 深度安全评估 - 渗透测试 - 网络侦察 - parameters: - name: "target" type: "string" @@ -26,37 +23,32 @@ parameters: required: true position: 0 format: "positional" - - name: "scan_type" type: "string" description: "扫描类型(-sS, -sT, -sU等)" required: false - flag: "" - format: "positional" + format: "template" + template: "{value}" default: "-sS" - - name: "ports" type: "string" description: "要扫描的端口" required: false flag: "-p" format: "flag" - - name: "timing" type: "string" description: "时序模板(T0-T5)" required: false - flag: "-T" - format: "flag" - default: "T4" - + format: "template" + template: "-T{value}" + default: "4" - name: "nse_scripts" type: "string" description: "要运行的自定义NSE脚本" required: false flag: "--script" format: "flag" - - name: "os_detection" type: "bool" description: "启用OS检测" @@ -64,7 +56,6 @@ parameters: flag: "-O" format: "flag" default: false - - name: "version_detection" type: "bool" description: "启用版本检测" @@ -72,7 +63,6 @@ parameters: flag: "-sV" format: "flag" default: false - - name: "aggressive" type: "bool" description: "启用激进扫描" @@ -80,26 +70,17 @@ parameters: flag: "-A" format: "flag" default: false - - - name: "stealth" - type: "bool" - description: "启用隐蔽模式" - required: false - flag: "-sS" - format: "flag" - default: false - - name: "additional_args" type: "string" description: | 额外的nmap-advanced参数。用于传递未在参数列表中定义的nmap-advanced选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/nmap.yaml b/tools/nmap.yaml index 6045da5d..533523bf 100644 --- a/tools/nmap.yaml +++ b/tools/nmap.yaml @@ -1,61 +1,57 @@ name: "nmap" command: "nmap" -args: ["-sT", "-sV", "-sC"] # 固定参数:TCP连接扫描、版本检测、默认脚本 +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 # 位置参数,放在命令最后 + position: 0 # 位置参数,放在命令最后 format: "positional" - - name: "ports" type: "string" description: | 要扫描的端口范围。可以是单个端口、端口范围、逗号分隔的端口列表,或特殊值。 - + **示例值:** - 单个端口: "80" - 端口范围: "1-1000" @@ -64,7 +60,7 @@ parameters: - 常用端口: "1-1024" - 所有端口: "1-65535" - 快速扫描: "80,443,22,21,25,53,110,143,993,995" - + **注意事项:** - 如果不指定,将扫描默认的1000个常用端口 - 扫描所有端口(1-65535)会非常耗时 @@ -72,12 +68,11 @@ parameters: required: false flag: "-p" format: "flag" - - name: "scan_type" type: "string" description: | 扫描类型选项。可以覆盖默认的扫描类型。 - + **常用选项:** - "-sV": 版本检测 - "-sC": 默认脚本扫描 @@ -85,31 +80,29 @@ parameters: - "-sT": TCP连接扫描(默认) - "-sU": UDP扫描 - "-A": 全面扫描(OS检测、版本检测、脚本扫描、路由追踪) - + **注意事项:** - 多个选项可以组合,用空格分隔,例如: "-sV -sC" - 默认已包含 "-sT -sV -sC" - 如果指定此参数,将替换默认的扫描类型 required: false - flag: "" - format: "positional" - + format: "template" + template: "{value}" - name: "additional_args" type: "string" description: | 额外的Nmap参数。用于传递未在参数列表中定义的Nmap选项。 - + **示例值:** - "--script vuln": 运行漏洞检测脚本 - "-O": 操作系统检测 - "-T4": 时间模板(0-5,数字越大越快) - "--max-retries 3": 最大重试次数 - "-v": 详细输出 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false format: "positional" - diff --git a/tools/nuclei.yaml b/tools/nuclei.yaml index 67eaeee4..2978083e 100644 --- a/tools/nuclei.yaml +++ b/tools/nuclei.yaml @@ -1,25 +1,22 @@ name: "nuclei" command: "nuclei" enabled: true - short_description: "快速漏洞扫描器,使用YAML模板进行漏洞检测" - description: | Nuclei是一个基于模板的快速漏洞扫描器,使用社区维护的YAML模板进行漏洞检测。 - + **主要功能:** - 快速漏洞扫描 - 基于模板的检测 - 支持多种协议(HTTP, TCP, DNS等) - 实时结果输出 - 支持自定义模板 - + **使用场景:** - 漏洞扫描和发现 - 安全评估 - 渗透测试 - 漏洞验证 - parameters: - name: "target" type: "string" @@ -27,30 +24,26 @@ parameters: required: true flag: "-u" format: "flag" - - name: "severity" type: "string" description: "严重程度过滤(critical,high,medium,low,info)" required: false flag: "-s" format: "flag" - - name: "tags" type: "string" description: "标签过滤(如cve,rce,lfi)" required: false flag: "-tags" format: "flag" - - name: "template" type: "string" description: "自定义模板路径" required: false flag: "-t" format: "flag" - - name: "additional_args" type: "string" description: "额外的Nuclei参数" required: false - + format: "positional" diff --git a/tools/objdump.yaml b/tools/objdump.yaml index 4777ff98..fe0036f5 100644 --- a/tools/objdump.yaml +++ b/tools/objdump.yaml @@ -1,24 +1,21 @@ name: "objdump" command: "objdump" enabled: true - short_description: "二进制文件反汇编工具" - description: | Objdump是GNU binutils的一部分,用于反汇编二进制文件。 - + **主要功能:** - 反汇编 - 符号表显示 - 节信息显示 - 多种架构支持 - + **使用场景:** - 二进制分析 - 逆向工程 - 程序理解 - 调试辅助 - parameters: - name: "binary" type: "string" @@ -26,7 +23,6 @@ parameters: required: true position: 0 format: "positional" - - name: "disassemble" type: "bool" description: "反汇编二进制文件" @@ -34,18 +30,17 @@ parameters: flag: "-d" format: "flag" default: true - - name: "additional_args" type: "string" description: | 额外的objdump参数。用于传递未在参数列表中定义的objdump选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/one-gadget.yaml b/tools/one-gadget.yaml index a573500b..8541fcd5 100644 --- a/tools/one-gadget.yaml +++ b/tools/one-gadget.yaml @@ -1,23 +1,20 @@ name: "one-gadget" command: "one_gadget" enabled: true - short_description: "在libc中查找one-shot RCE gadget的工具" - description: | One-gadget是一个用于在libc中查找one-shot RCE gadget的工具。 - + **主要功能:** - One-shot gadget搜索 - 约束级别检查 - 多种libc支持 - + **使用场景:** - CTF挑战 - 漏洞利用开发 - ROP链简化 - 安全研究 - parameters: - name: "libc_path" type: "string" @@ -25,7 +22,6 @@ parameters: required: true position: 0 format: "positional" - - name: "level" type: "int" description: "约束级别(0, 1, 2)" @@ -33,18 +29,17 @@ parameters: flag: "-l" format: "flag" default: 1 - - name: "additional_args" type: "string" description: | 额外的one-gadget参数。用于传递未在参数列表中定义的one-gadget选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/pacu.yaml b/tools/pacu.yaml index fd2f4aad..0b4731bc 100644 --- a/tools/pacu.yaml +++ b/tools/pacu.yaml @@ -1,24 +1,21 @@ name: "pacu" command: "pacu" -enabled: true - +enabled: false short_description: "AWS渗透测试框架" - description: | Pacu是一个AWS渗透测试框架,用于测试AWS环境的安全性。 - + **主要功能:** - AWS渗透测试 - 权限提升 - 数据访问 - 模块化架构 - + **使用场景:** - AWS安全测试 - 渗透测试 - 权限测试 - 安全评估 - parameters: - name: "session_name" type: "string" @@ -27,32 +24,29 @@ parameters: flag: "--session" format: "flag" default: "hexstrike_session" - - name: "modules" type: "string" description: "要运行的模块(逗号分隔)" required: false flag: "--modules" format: "flag" - - name: "regions" type: "string" description: "AWS区域(逗号分隔)" required: false flag: "--regions" format: "flag" - - name: "additional_args" type: "string" description: | 额外的pacu参数。用于传递未在参数列表中定义的pacu选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/paramspider.yaml b/tools/paramspider.yaml index 9126f5b9..1470769e 100644 --- a/tools/paramspider.yaml +++ b/tools/paramspider.yaml @@ -1,24 +1,21 @@ name: "paramspider" command: "paramspider" enabled: true - short_description: "从Web档案中挖掘参数" - description: | ParamSpider从Web档案中挖掘参数,用于发现隐藏的参数。 - + **主要功能:** - 参数挖掘 - Web档案查询 - 多级深度支持 - 扩展名过滤 - + **使用场景:** - 参数发现 - Bug bounty侦察 - Web应用安全测试 - 安全测试 - parameters: - name: "domain" type: "string" @@ -26,7 +23,6 @@ parameters: required: true flag: "-d" format: "flag" - - name: "level" type: "int" description: "挖掘深度级别" @@ -34,32 +30,29 @@ parameters: flag: "-l" format: "flag" default: 2 - - name: "exclude" type: "string" description: "要排除的文件扩展名" required: false flag: "-e" format: "flag" - - name: "output" type: "string" description: "输出文件路径" required: false flag: "-o" format: "flag" - - name: "additional_args" type: "string" description: | 额外的paramspider参数。用于传递未在参数列表中定义的paramspider选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/pdfcrack.yaml b/tools/pdfcrack.yaml index 3f611450..3e825341 100644 --- a/tools/pdfcrack.yaml +++ b/tools/pdfcrack.yaml @@ -1,29 +1,26 @@ name: "pdfcrack" command: "pdfcrack" enabled: true - short_description: "PDF 文件密码破解工具,支持暴力破解和字典攻击" - description: | pdfcrack 是一个用于破解受密码保护的 PDF 文件密码的工具。 - + **主要功能:** - 暴力破解 - 字典攻击 - 用户密码和所有者密码破解 - 支持多种加密算法 - + **使用场景:** - CTF 竞赛 - PDF 文件密码恢复 - 安全测试 - 数字取证 - + **注意事项:** - 破解时间取决于密码复杂度 - 建议使用字典文件提高效率 - 仅用于授权的安全测试 - parameters: - name: "file" type: "string" @@ -31,39 +28,35 @@ parameters: required: true position: 0 format: "positional" - - name: "wordlist" type: "string" description: "字典文件路径" required: false flag: "-w" format: "flag" - - name: "min_length" type: "int" description: "最小密码长度" required: false flag: "-n" format: "flag" - - name: "max_length" type: "int" description: "最大密码长度" required: false flag: "-m" format: "flag" - - name: "additional_args" type: "string" description: | 额外的pdfcrack参数。用于传递未在参数列表中定义的pdfcrack选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/prowler.yaml b/tools/prowler.yaml index 5f113e62..16b52de4 100644 --- a/tools/prowler.yaml +++ b/tools/prowler.yaml @@ -1,33 +1,29 @@ name: "prowler" command: "prowler" enabled: true - short_description: "云安全评估工具(AWS, Azure, GCP)" - description: | Prowler是一个全面的云安全评估工具,支持AWS、Azure和GCP。 - + **主要功能:** - 云安全评估 - 合规性检查 - 安全最佳实践检查 - 多种输出格式 - + **使用场景:** - 云安全审计 - 合规性检查 - 安全评估 - 云配置审计 - parameters: - name: "provider" type: "string" description: "云提供商(aws, azure, gcp)" required: false - flag: "-p" - format: "flag" default: "aws" - + position: 0 + format: "positional" - name: "profile" type: "string" description: "AWS配置文件" @@ -35,21 +31,18 @@ parameters: flag: "-p" format: "flag" default: "default" - - name: "region" type: "string" description: "要扫描的特定区域" required: false flag: "-r" format: "flag" - - name: "checks" type: "string" description: "要运行的特定检查" required: false flag: "-c" format: "flag" - - name: "output_format" type: "string" description: "输出格式(json, csv, html)" @@ -57,18 +50,17 @@ parameters: flag: "-M" format: "flag" default: "json" - - name: "additional_args" type: "string" description: | 额外的prowler参数。用于传递未在参数列表中定义的prowler选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/pwninit.yaml b/tools/pwninit.yaml index 976ccd22..9a196982 100644 --- a/tools/pwninit.yaml +++ b/tools/pwninit.yaml @@ -1,24 +1,21 @@ name: "pwninit" command: "pwninit" enabled: true - short_description: "CTF二进制漏洞利用设置工具" - description: | Pwninit是一个用于CTF二进制漏洞利用设置的工具,自动配置libc和loader。 - + **主要功能:** - 自动libc识别 - Loader配置 - 模板生成 - 环境设置 - + **使用场景:** - CTF挑战 - 漏洞利用开发 - 环境配置 - 安全研究 - parameters: - name: "binary" type: "string" @@ -26,21 +23,18 @@ parameters: required: true position: 0 format: "positional" - - name: "libc" type: "string" description: "libc文件路径" required: false flag: "--libc" format: "flag" - - name: "ld" type: "string" description: "Loader文件路径" required: false flag: "--ld" format: "flag" - - name: "template_type" type: "string" description: "模板类型(python, c)" @@ -48,18 +42,17 @@ parameters: flag: "--template" format: "flag" default: "python" - - name: "additional_args" type: "string" description: | 额外的pwninit参数。用于传递未在参数列表中定义的pwninit选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/pwntools.yaml b/tools/pwntools.yaml index 2cf3f8d8..83e980c6 100644 --- a/tools/pwntools.yaml +++ b/tools/pwntools.yaml @@ -1,62 +1,68 @@ name: "pwntools" command: "python3" +args: + - "-c" + - | + import os + import sys + + if len(sys.argv) < 2: + sys.stderr.write("缺少脚本内容\n") + sys.exit(1) + + script_content = sys.argv[1] + target_binary = sys.argv[2] if len(sys.argv) > 2 else "" + target_host = sys.argv[3] if len(sys.argv) > 3 else "" + target_port = sys.argv[4] if len(sys.argv) > 4 else "" + exploit_type = sys.argv[5] if len(sys.argv) > 5 else "local" + + if target_binary: + os.environ["PWN_BINARY"] = target_binary + if target_host: + os.environ["PWN_HOST"] = target_host + if target_port: + os.environ["PWN_PORT"] = str(target_port) + if exploit_type: + os.environ["PWN_EXPLOIT_TYPE"] = exploit_type + + exec(script_content, {}) enabled: true - short_description: "CTF和漏洞利用开发框架" - description: | - Pwntools是一个CTF和漏洞利用开发框架,用于快速开发漏洞利用程序。 - - **主要功能:** - - 漏洞利用开发 - - 自动化脚本 - - 网络交互 - - 二进制分析辅助 - - **使用场景:** - - CTF挑战 - - 漏洞利用开发 - - 二进制分析 - - 安全研究 - + 执行自定义pwntools脚本,并通过环境变量注入常用目标信息: + - `PWN_BINARY`, `PWN_HOST`, `PWN_PORT`, `PWN_EXPLOIT_TYPE` parameters: - name: "script_content" type: "string" description: "Python脚本内容(使用pwntools)" required: true - + position: 0 + format: "positional" - name: "target_binary" type: "string" - description: "本地二进制文件路径" + description: "本地二进制文件路径(注入PWN_BINARY)" required: false - + default: "" + position: 1 + format: "positional" - name: "target_host" type: "string" - description: "远程主机地址" + description: "远程主机地址(PWN_HOST)" required: false - + default: "" + position: 2 + format: "positional" - name: "target_port" - type: "int" - description: "远程端口" + type: "string" + description: "远程端口(PWN_PORT)" required: false - + default: "" + position: 3 + format: "positional" - name: "exploit_type" type: "string" - description: "漏洞利用类型(local, remote, format_string, rop)" + description: "漏洞利用类型标签(PWN_EXPLOIT_TYPE)" required: false default: "local" - - - name: "additional_args" - type: "string" - description: | - 额外的pwntools参数。用于传递未在参数列表中定义的pwntools选项。 - - **示例值:** - - 根据工具特性添加常用参数示例 - - **注意事项:** - - 多个参数用空格分隔 - - 确保参数格式正确,避免命令注入 - - 此参数会直接追加到命令末尾 - required: false - format: "positional" \ No newline at end of file + position: 4 + format: "positional" diff --git a/tools/qsreplace.yaml b/tools/qsreplace.yaml index e4555949..c41dd618 100644 --- a/tools/qsreplace.yaml +++ b/tools/qsreplace.yaml @@ -1,49 +1,81 @@ name: "qsreplace" -command: "qsreplace" +command: "python3" +args: + - "-c" + - | + import shlex + import subprocess + import sys + + if len(sys.argv) < 2: + sys.stderr.write("缺少URL列表\n") + sys.exit(1) + + urls = sys.argv[1] + replacement = sys.argv[2] if len(sys.argv) > 2 else "" + extra = sys.argv[3] if len(sys.argv) > 3 else "" + + cmd = ["qsreplace"] + if extra: + cmd.extend(shlex.split(extra)) + if replacement: + cmd.append(replacement) + + proc = subprocess.run( + cmd, + input=urls, + capture_output=True, + text=True, + ) + if proc.stdout: + sys.stdout.write(proc.stdout) + if proc.stderr: + sys.stderr.write(proc.stderr) + sys.exit(proc.returncode) enabled: true - short_description: "查询字符串参数替换工具" - description: | Qsreplace是一个用于替换URL中查询字符串参数的工具,常用于模糊测试。 - + **主要功能:** - 参数替换 - 批量处理 - 多种替换模式 - 快速处理 - + **使用场景:** - 参数模糊测试 - URL处理 - 工具链集成 - 安全测试 - parameters: - name: "urls" type: "string" description: "要处理的URL(每行一个)" required: true - + position: 0 + format: "positional" - name: "replacement" type: "string" description: "替换字符串" required: false - default: "FUZZ" - + default: "" + position: 1 + format: "positional" - name: "additional_args" type: "string" description: | 额外的Qsreplace参数。用于传递未在参数列表中定义的Qsreplace选项。 - + **示例值:** - "-a": 追加模式 - "-d": 删除参数 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false + default: "" + position: 2 format: "positional" - diff --git a/tools/radare2.yaml b/tools/radare2.yaml index bbf59c64..eaa11963 100644 --- a/tools/radare2.yaml +++ b/tools/radare2.yaml @@ -1,12 +1,10 @@ name: "radare2" command: "r2" enabled: true - short_description: "二进制分析和逆向工程框架,支持反汇编、调试和脚本分析" - description: | Radare2是一个完整的二进制分析和逆向工程框架,支持多种架构和文件格式。 - + **主要功能:** - 反汇编和反编译:支持多种架构(x86, ARM, MIPS等) - 调试支持:本地和远程调试 @@ -14,7 +12,7 @@ description: | - 多种文件格式:ELF, PE, Mach-O, 固件等 - 交互式分析:命令行界面和可视化模式 - 自动化分析:批量分析和脚本化分析 - + **使用场景:** - 二进制文件分析 - 逆向工程和漏洞研究 @@ -22,46 +20,44 @@ description: | - CTF竞赛中的逆向题目 - 固件分析 - 漏洞利用开发 - + **注意事项:** - 可以使用 -c 参数执行命令后退出(非交互模式) - 可以使用 -i 参数执行脚本文件 - 可以使用 -q 参数静默模式(不显示启动信息) - 可以使用 -A 参数自动分析二进制文件 - 可以使用 -d 参数附加到进程进行调试 - parameters: - name: "target" type: "string" description: | 目标文件、进程ID或特殊值。 - + **格式:** - 文件路径: "/path/to/binary" - 进程ID: "1234" (需要配合 -d 参数) - 特殊值: "-" (从stdin读取), "--" (交互模式), "=" (从环境变量读取) - + **示例值:** - 二进制文件: "/tmp/vulnerable" - 进程调试: "1234" (配合 -d) - 从stdin: "-" - + **注意事项:** - 必需参数,不能为空 - 如果指定进程ID,需要配合 -d 参数使用 required: true position: 0 format: "positional" - - name: "commands" type: "string" description: | 要执行的Radare2命令。可以是单个命令或多个命令(用分号分隔)。 - + **格式:** - 单个命令: "aaa" (自动分析) - 多个命令: "aaa; pdf @main; VV" (分析、反汇编main函数、可视化) - + **常用命令:** - "aaa": 自动分析所有函数 - "afl": 列出所有函数 @@ -70,43 +66,41 @@ parameters: - "VV": 进入可视化模式 - "i": 显示文件信息 - "iz": 显示字符串 - + **示例值:** - "aaa" (自动分析) - "aaa; pdf @main" (分析并反汇编main函数) - "i; iz" (显示信息和字符串) - + **注意事项:** - 多个命令用分号(;)分隔 - 执行完命令后程序会退出(非交互模式) required: false flag: "-c" format: "flag" - - name: "script_file" type: "string" description: | 要执行的脚本文件路径。脚本文件包含Radare2命令,每行一个命令。 - + **格式:** - 脚本文件路径: "/path/to/script.r2" - + **示例值:** - "/tmp/analyze.r2" - "./scripts/auto_analyze.r2" - + **注意事项:** - 脚本文件中的命令会按顺序执行 - 脚本执行完后程序会退出 required: false flag: "-i" format: "flag" - - name: "arch" type: "string" description: | 指定目标架构。 - + **常用架构:** - "x86": 32位x86 - "x86_64": 64位x86 @@ -114,46 +108,44 @@ parameters: - "arm64": ARM64架构 - "mips": MIPS架构 - "ppc": PowerPC架构 - + **示例值:** - "x86" - "x86_64" - "arm" - "arm64" - + **注意事项:** - 如果不指定,radare2会尝试自动检测 - 某些架构可能需要额外的配置 required: false flag: "-a" format: "flag" - - name: "bits" type: "int" description: | 指定目标位数(16, 32, 64)。 - + **示例值:** - 16 (16位) - 32 (32位) - 64 (64位) - + **注意事项:** - 通常与 -a 参数配合使用 - 如果不指定,radare2会尝试自动检测 required: false flag: "-b" format: "flag" - - name: "auto_analyze" type: "bool" description: | 自动分析二进制文件。相当于执行 "aaa" 命令。 - + **使用场景:** - 快速分析二进制文件 - 批量分析 - + **注意事项:** - 启用后会自动分析所有函数 - 可能需要较长时间 @@ -161,16 +153,15 @@ parameters: flag: "-A" format: "flag" default: false - - name: "debug" type: "bool" description: | 调试模式。可以附加到进程或调试文件。 - + **使用场景:** - 附加到运行中的进程 - 调试二进制文件 - + **注意事项:** - 需要适当的权限 - 如果target是进程ID,必须启用此选项 @@ -178,17 +169,16 @@ parameters: flag: "-d" format: "flag" default: false - - name: "quiet" type: "bool" description: | 静默模式。不显示启动信息和提示符。 - + **使用场景:** - 脚本化使用 - 批量分析 - 自动化工具调用 - + **注意事项:** - 适合非交互式使用 - 减少输出噪音 @@ -196,92 +186,87 @@ parameters: flag: "-q" format: "flag" default: false - - name: "seek" type: "string" description: | 设置起始地址。可以是十六进制地址或表达式。 - + **格式:** - 十六进制: "0x400000" - 表达式: "main+0x10" - + **示例值:** - "0x400000" - "main" - "0x1000" - + **注意事项:** - 地址可以是十六进制或符号名 - 用于从特定位置开始分析 required: false flag: "-s" format: "flag" - - name: "base_address" type: "string" description: | 设置基址(base address)。用于加载地址。 - + **格式:** - 十六进制地址: "0x400000" - + **示例值:** - "0x400000" - "0x1000000" - + **注意事项:** - 用于指定二进制文件的加载地址 - 通常用于分析固件或内存转储 required: false flag: "-B" format: "flag" - - name: "eval" type: "string" description: | 设置配置变量。格式为 key=value。 - + **格式:** - "key=value" - 多个变量用空格分隔: "asm.arch=x86 asm.bits=32" - + **示例值:** - "asm.arch=x86" - "asm.bits=32" - "scr.color=false" - + **注意事项:** - 用于设置radare2的配置变量 - 多个变量用空格分隔 required: false flag: "-e" format: "flag" - - name: "project" type: "string" description: | 加载或保存项目文件。 - + **格式:** - 项目文件路径: "/path/to/project.r2" - + **示例值:** - "./project.r2" - "/tmp/analysis.r2" - + **注意事项:** - 项目文件保存分析状态和配置 - 可以用于恢复之前的分析 required: false flag: "-p" format: "flag" - - name: "additional_args" type: "string" description: | 额外的radare2参数。用于传递未在参数列表中定义的radare2选项。 - + **可用选项:** - "-C": 强制使用颜色输出 - "-f": 强制打开文件(即使格式不匹配) @@ -298,13 +283,13 @@ parameters: - "-X": 执行r2pipe脚本 - "-P patch": 应用补丁 - "-m maddr": 映射地址 - + **示例值:** - "-w" (写模式) - "-n" (不加载配置文件) - "-M" (启用写模式) - "-z" (扫描字符串) - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 diff --git a/tools/responder.yaml b/tools/responder.yaml index fcfdcbc9..4108a15b 100644 --- a/tools/responder.yaml +++ b/tools/responder.yaml @@ -1,74 +1,85 @@ name: "responder" -command: "responder" +command: "python3" +args: + - "-c" + - | + import shlex + import subprocess + import sys + import time + + interface = sys.argv[1] if len(sys.argv) > 1 else "eth0" + analyze = sys.argv[2].lower() == "true" if len(sys.argv) > 2 else False + wpad = sys.argv[3].lower() == "true" if len(sys.argv) > 3 else True + fingerprint = sys.argv[4].lower() == "true" if len(sys.argv) > 4 else False + duration = int(sys.argv[5]) if len(sys.argv) > 5 and sys.argv[5] else 300 + extra = sys.argv[6] if len(sys.argv) > 6 else "" + + cmd = ["responder", "-I", interface] + if analyze: + cmd.append("-A") + if wpad: + cmd.append("-w") + if fingerprint: + cmd.append("-f") + if extra: + cmd.extend(shlex.split(extra)) + + proc = subprocess.Popen(cmd) + try: + if duration > 0: + time.sleep(duration) + proc.terminate() + proc.wait(timeout=10) + else: + proc.wait() + except KeyboardInterrupt: + proc.terminate() + proc.wait(timeout=10) enabled: true - short_description: "LLMNR/NBT-NS/MDNS投毒和凭据收集工具" - description: | - Responder是一个LLMNR/NBT-NS/MDNS投毒工具,用于收集网络凭据。 - - **主要功能:** - - LLMNR/NBT-NS投毒 - - 凭据收集 - - WPAD代理 - - 指纹识别 - - **使用场景:** - - 网络渗透测试 - - 凭据收集 - - 横向移动 - - 安全测试 - + 封装 Responder,支持自动在指定持续时间后停止进程,避免占用网络。 parameters: - name: "interface" type: "string" - description: "网络接口" + description: "网络接口(-I)" required: false - flag: "-I" - format: "flag" default: "eth0" - + position: 0 + format: "positional" - name: "analyze" type: "bool" - description: "仅分析模式" + description: "仅分析模式(-A)" required: false - flag: "-A" - format: "flag" default: false - + position: 1 + format: "positional" - name: "wpad" type: "bool" - description: "启用WPAD恶意代理" + description: "启用WPAD恶意代理(-w)" required: false - flag: "-w" - format: "flag" default: true - + position: 2 + format: "positional" - name: "fingerprint" type: "bool" - description: "指纹识别模式" + description: "指纹识别模式(-f)" required: false - flag: "-f" - format: "flag" default: false - + position: 3 + format: "positional" - name: "duration" type: "int" - description: "运行持续时间(秒)" + description: "运行持续时间(秒,0表示直到手动停止)" required: false default: 300 - + position: 4 + format: "positional" - name: "additional_args" type: "string" - description: | - 额外的responder参数。用于传递未在参数列表中定义的responder选项。 - - **示例值:** - - 根据工具特性添加常用参数示例 - - **注意事项:** - - 多个参数用空格分隔 - - 确保参数格式正确,避免命令注入 - - 此参数会直接追加到命令末尾 + description: "额外的Responder参数(直接追加)" required: false - format: "positional" \ No newline at end of file + default: "" + position: 5 + format: "positional" diff --git a/tools/ropgadget.yaml b/tools/ropgadget.yaml index d014e3ca..573362de 100644 --- a/tools/ropgadget.yaml +++ b/tools/ropgadget.yaml @@ -1,24 +1,21 @@ name: "ropgadget" command: "ROPgadget" enabled: true - short_description: "ROP gadget搜索工具" - description: | ROPgadget是一个用于在二进制文件中搜索ROP gadget的工具。 - + **主要功能:** - ROP gadget搜索 - 多种架构支持 - Gadget分类 - 利用链生成 - + **使用场景:** - 二进制分析 - 漏洞利用开发 - ROP链构建 - 安全研究 - parameters: - name: "binary" type: "string" @@ -26,25 +23,17 @@ parameters: required: true position: 0 format: "positional" - - - name: "gadget_type" - type: "string" - description: "要搜索的gadget类型" - required: false - flag: "--gadgets" - format: "flag" - - name: "additional_args" type: "string" description: | 额外的ropgadget参数。用于传递未在参数列表中定义的ropgadget选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/ropper.yaml b/tools/ropper.yaml index 4e03e2a2..553da0c2 100644 --- a/tools/ropper.yaml +++ b/tools/ropper.yaml @@ -1,24 +1,21 @@ name: "ropper" command: "ropper" enabled: true - short_description: "高级ROP/JOP gadget搜索工具" - description: | Ropper是一个高级ROP/JOP gadget搜索工具,用于漏洞利用开发。 - + **主要功能:** - ROP/JOP gadget搜索 - Gadget质量评估 - 多种架构支持 - 利用链生成 - + **使用场景:** - 漏洞利用开发 - ROP链构建 - 二进制分析 - 安全研究 - parameters: - name: "binary" type: "string" @@ -26,7 +23,6 @@ parameters: required: true flag: "--file" format: "flag" - - name: "gadget_type" type: "string" description: "Gadget类型(rop, jop, sys, all)" @@ -34,7 +30,6 @@ parameters: flag: "--type" format: "flag" default: "rop" - - name: "quality" type: "int" description: "Gadget质量级别(1-5)" @@ -42,32 +37,29 @@ parameters: flag: "--quality" format: "flag" default: 1 - - name: "arch" type: "string" description: "目标架构(x86, x86_64, arm等)" required: false flag: "--arch" format: "flag" - - name: "search_string" type: "string" description: "要搜索的特定gadget模式" required: false flag: "--search" format: "flag" - - name: "additional_args" type: "string" description: | 额外的ropper参数。用于传递未在参数列表中定义的ropper选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/rpcclient.yaml b/tools/rpcclient.yaml index 5a3aa40a..d500387f 100644 --- a/tools/rpcclient.yaml +++ b/tools/rpcclient.yaml @@ -1,24 +1,67 @@ name: "rpcclient" -command: "rpcclient" +command: "python3" +args: + - "-c" + - | + import shlex + import subprocess + import sys + + if len(sys.argv) < 2: + sys.stderr.write("缺少目标地址\n") + sys.exit(1) + + target = sys.argv[1] + username = sys.argv[2] if len(sys.argv) > 2 else "" + password = sys.argv[3] if len(sys.argv) > 3 else "" + domain = sys.argv[4] if len(sys.argv) > 4 else "" + commands = sys.argv[5] if len(sys.argv) > 5 else "" + extra = sys.argv[6] if len(sys.argv) > 6 else "" + + cmd = ["rpcclient"] + + if username: + cred = username + if password: + cred = f"{username}%{password}" + cmd.extend(["-U", cred]) + elif password: + # 如果只提供了密码,仍然尝试以空用户名连接 + cmd.extend(["-U", f"%{password}"]) + + if domain: + cmd.extend(["-W", domain]) + + if commands: + cmd.extend(["-c", commands]) + + if extra: + cmd.extend(shlex.split(extra)) + + cmd.append(target) + + proc = subprocess.run(cmd, capture_output=True, text=True) + if proc.stdout: + sys.stdout.write(proc.stdout) + if proc.stderr: + sys.stderr.write(proc.stderr) + sys.exit(proc.returncode) enabled: true - short_description: "RPC枚举工具" - description: | Rpcclient是一个RPC客户端工具,用于枚举Windows/Samba系统信息。 - + **主要功能:** - RPC枚举 - 用户和组枚举 - 域信息查询 - 系统信息收集 - + **使用场景:** - Windows系统渗透测试 - Samba枚举 - 域环境侦察 - 安全测试 - parameters: - name: "target" type: "string" @@ -26,45 +69,47 @@ parameters: required: true position: 0 format: "positional" - - name: "username" type: "string" description: "用户名" required: false - flag: "-U" - format: "flag" - + default: "" + position: 1 + format: "positional" - name: "password" type: "string" description: "密码" required: false - flag: "-N" - format: "flag" - + default: "" + position: 2 + format: "positional" - name: "domain" type: "string" description: "域名" required: false - flag: "-W" - format: "flag" - + default: "" + position: 3 + format: "positional" - name: "commands" type: "string" description: "RPC命令(分号分隔)" required: false default: "enumdomusers;enumdomgroups;querydominfo" - + position: 4 + format: "positional" - name: "additional_args" type: "string" description: | 额外的rpcclient参数。用于传递未在参数列表中定义的rpcclient选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + default: "" + position: 5 + format: "positional" diff --git a/tools/rustscan.yaml b/tools/rustscan.yaml index 6eadfd5f..d64362f0 100644 --- a/tools/rustscan.yaml +++ b/tools/rustscan.yaml @@ -1,23 +1,20 @@ name: "rustscan" command: "rustscan" enabled: true - short_description: "超快速端口扫描工具,使用Rust编写" - description: | Rustscan是一个用Rust编写的超快速端口扫描工具,可以快速扫描大量端口。 - + **主要功能:** - 超快速端口扫描 - 可配置的扫描速度 - 支持Nmap脚本集成 - 批量扫描支持 - + **使用场景:** - 快速端口扫描 - 大规模网络扫描 - 渗透测试信息收集 - parameters: - name: "target" type: "string" @@ -25,14 +22,12 @@ parameters: required: true flag: "-a" format: "flag" - - name: "ports" type: "string" description: "要扫描的端口(如:22,80,443或1-1000)" required: false flag: "-p" format: "flag" - - name: "ulimit" type: "int" description: "文件描述符限制" @@ -40,7 +35,6 @@ parameters: flag: "-u" format: "flag" default: 5000 - - name: "scripts" type: "bool" description: "在发现的端口上运行Nmap脚本" @@ -48,18 +42,17 @@ parameters: flag: "--scripts" format: "flag" default: false - - name: "additional_args" type: "string" description: | 额外的rustscan参数。用于传递未在参数列表中定义的rustscan选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/scout-suite.yaml b/tools/scout-suite.yaml index 341bb26b..fa72b533 100644 --- a/tools/scout-suite.yaml +++ b/tools/scout-suite.yaml @@ -1,24 +1,21 @@ name: "scout-suite" command: "scout" enabled: true - short_description: "多云安全评估工具" - description: | Scout Suite是一个多云安全评估工具,支持AWS、Azure、GCP、Aliyun和OCI。 - + **主要功能:** - 多云安全评估 - 配置审计 - 安全最佳实践检查 - 详细报告生成 - + **使用场景:** - 云安全审计 - 合规性检查 - 安全评估 - 云配置审计 - parameters: - name: "provider" type: "string" @@ -27,7 +24,6 @@ parameters: flag: "--provider" format: "flag" default: "aws" - - name: "profile" type: "string" description: "AWS配置文件" @@ -35,7 +31,6 @@ parameters: flag: "--profile" format: "flag" default: "default" - - name: "report_dir" type: "string" description: "报告保存目录" @@ -43,25 +38,23 @@ parameters: flag: "--report-dir" format: "flag" default: "/tmp/scout-suite" - - name: "services" type: "string" description: "要评估的特定服务" required: false flag: "--services" format: "flag" - - name: "additional_args" type: "string" description: | 额外的scout-suite参数。用于传递未在参数列表中定义的scout-suite选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/smbmap.yaml b/tools/smbmap.yaml index e7f1fe17..6aa71b64 100644 --- a/tools/smbmap.yaml +++ b/tools/smbmap.yaml @@ -1,24 +1,21 @@ name: "smbmap" command: "smbmap" enabled: true - short_description: "SMB共享枚举和访问工具" - description: | SMBMap是一个用于枚举SMB共享并提供文件访问功能的工具。 - + **主要功能:** - SMB共享枚举 - 文件列表和下载 - 权限检查 - 支持多种认证方式 - + **使用场景:** - SMB安全测试 - 文件共享审计 - 渗透测试 - 网络侦察 - parameters: - name: "target" type: "string" @@ -26,30 +23,26 @@ parameters: required: true flag: "-H" format: "flag" - - name: "username" type: "string" description: "用户名" required: false flag: "-u" format: "flag" - - name: "password" type: "string" description: "密码" required: false flag: "-p" format: "flag" - - name: "domain" type: "string" description: "域名" required: false flag: "-d" format: "flag" - - name: "additional_args" type: "string" description: "额外的SMBMap参数" required: false - + format: "positional" diff --git a/tools/sqlmap.yaml b/tools/sqlmap.yaml index a72dc59d..456ebcd4 100644 --- a/tools/sqlmap.yaml +++ b/tools/sqlmap.yaml @@ -1,51 +1,48 @@ 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格式正确,包含协议前缀 @@ -54,17 +51,16 @@ parameters: required: true flag: "-u" format: "flag" - - name: "batch" type: "bool" description: | 非交互模式,自动选择默认选项,不需要用户输入。 - + **使用场景:** - 自动化测试脚本 - 批量扫描 - 避免交互式提示 - + **注意事项:** - 建议始终设置为true,避免工具等待用户输入 - 默认值为true @@ -72,67 +68,63 @@ parameters: 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 - + format: "combined" # --level=3 - name: "data" type: "string" description: | POST数据字符串,用于POST请求的SQL注入检测。 - + **格式:** - 表单数据格式,例如: "username=admin&password=123" - JSON格式,例如: '{"username":"admin","password":"123"}' - + **注意事项:** - 如果URL使用POST方法,需要提供此参数 - 参数值中的注入点用 * 标记 required: false flag: "--data" format: "flag" - - name: "cookie" type: "string" description: | Cookie字符串,用于Cookie注入检测。 - + **格式:** - 标准Cookie格式,例如: "sessionid=abc123; user=admin" - + **注意事项:** - 如果存在Cookie注入,需要提供此参数 required: false flag: "--cookie" format: "flag" - - name: "additional_args" type: "string" description: | 额外的SQLMap参数。用于传递未在参数列表中定义的SQLMap选项。 - + **示例值:** - "--dbs": 列出所有数据库 - "--tables -D database": 列出指定数据库的表 @@ -141,11 +133,10 @@ parameters: - "--risk 2": 风险级别(1-3) - "--threads 10": 并发线程数 - "--tamper space2comment": 使用tamper脚本绕过WAF - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false format: "positional" - diff --git a/tools/steghide.yaml b/tools/steghide.yaml index df90c4ce..73edaad3 100644 --- a/tools/steghide.yaml +++ b/tools/steghide.yaml @@ -1,24 +1,21 @@ name: "steghide" command: "steghide" enabled: true - short_description: "隐写术分析工具" - description: | Steghide是一个隐写术工具,用于在图像和音频文件中隐藏数据。 - + **主要功能:** - 数据隐藏 - 数据提取 - 信息查看 - 密码保护 - + **使用场景:** - 隐写术分析 - 数据隐藏检测 - 取证分析 - CTF挑战 - parameters: - name: "action" type: "string" @@ -26,46 +23,41 @@ parameters: required: true position: 0 format: "positional" - - name: "cover_file" type: "string" - description: "载体文件路径" - required: true - position: 1 - format: "positional" - + description: "载体文件路径(embed/info操作使用 -cf)" + required: false + flag: "-cf" + format: "flag" - name: "embed_file" type: "string" description: "要嵌入的文件(embed操作时)" required: false flag: "-ef" format: "flag" - - name: "passphrase" type: "string" description: "密码" required: false flag: "-p" format: "flag" - - - name: "output_file" + - name: "stego_file" type: "string" - description: "输出文件路径" + description: "隐写文件路径(embed时输出,extract时输入)" required: false flag: "-sf" format: "flag" - - name: "additional_args" type: "string" description: | 额外的steghide参数。用于传递未在参数列表中定义的steghide选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/stegsolve.yaml b/tools/stegsolve.yaml index 41f54f98..b7c409a1 100644 --- a/tools/stegsolve.yaml +++ b/tools/stegsolve.yaml @@ -1,30 +1,28 @@ name: "stegsolve" command: "java" +args: ["-jar"] enabled: true - short_description: "图片隐写分析工具,用于分析图片中的隐写数据" - description: | Stegsolve 是一个 Java 图片隐写分析工具,支持多种图片格式和隐写分析技术。 - + **主要功能:** - 图片格式转换 - 颜色通道分析 - LSB 隐写检测 - 图片叠加分析 - 数据提取 - + **使用场景:** - CTF 隐写题目 - 图片隐写分析 - 数字取证 - 安全研究 - + **注意事项:** - 需要 Java 环境 - 通常以 GUI 形式运行 - 可能需要通过命令行参数或脚本调用 - parameters: - name: "jar_file" type: "string" @@ -32,25 +30,23 @@ parameters: required: true position: 0 format: "positional" - - name: "image" type: "string" description: "要分析的图片文件路径" required: false position: 1 format: "positional" - - name: "additional_args" type: "string" description: | 额外的stegsolve参数。用于传递未在参数列表中定义的stegsolve选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/strings.yaml b/tools/strings.yaml index 1a5d83f9..e510b288 100644 --- a/tools/strings.yaml +++ b/tools/strings.yaml @@ -1,23 +1,20 @@ name: "strings" command: "strings" enabled: true - short_description: "从二进制文件中提取字符串" - description: | Strings工具用于从二进制文件中提取可打印字符串。 - + **主要功能:** - 字符串提取 - 可配置最小长度 - 支持多种文件格式 - + **使用场景:** - 二进制分析 - 恶意软件分析 - 取证分析 - 逆向工程 - parameters: - name: "file_path" type: "string" @@ -25,7 +22,6 @@ parameters: required: true position: 0 format: "positional" - - name: "min_len" type: "int" description: "最小字符串长度" @@ -33,18 +29,17 @@ parameters: flag: "-n" format: "flag" default: 4 - - name: "additional_args" type: "string" description: | 额外的strings参数。用于传递未在参数列表中定义的strings选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/subfinder.yaml b/tools/subfinder.yaml index f2a6f7c2..12dc4fb1 100644 --- a/tools/subfinder.yaml +++ b/tools/subfinder.yaml @@ -1,24 +1,21 @@ name: "subfinder" command: "subfinder" enabled: true - short_description: "被动子域名发现工具,使用多个数据源" - description: | Subfinder是一个被动子域名发现工具,通过查询多个数据源来发现子域名。 - + **主要功能:** - 被动子域名发现 - 多个数据源集成 - 快速扫描 - 支持API密钥配置 - + **使用场景:** - 子域名枚举 - 资产发现 - Bug bounty侦察 - 渗透测试信息收集 - parameters: - name: "domain" type: "string" @@ -26,7 +23,6 @@ parameters: required: true flag: "-d" format: "flag" - - name: "silent" type: "bool" description: "静默模式" @@ -34,7 +30,6 @@ parameters: default: true flag: "-silent" format: "flag" - - name: "all_sources" type: "bool" description: "使用所有数据源" @@ -42,9 +37,8 @@ parameters: default: false flag: "-all" format: "flag" - - name: "additional_args" type: "string" description: "额外的Subfinder参数" required: false - + format: "positional" diff --git a/tools/terrascan.yaml b/tools/terrascan.yaml index 50585e14..7f19a91d 100644 --- a/tools/terrascan.yaml +++ b/tools/terrascan.yaml @@ -1,24 +1,21 @@ name: "terrascan" command: "terrascan" enabled: true - short_description: "基础设施即代码安全扫描工具" - description: | Terrascan是一个基础设施即代码安全扫描工具,用于检测IaC配置中的安全问题。 - + **主要功能:** - IaC安全扫描 - 多种框架支持 - 策略检查 - 合规性验证 - + **使用场景:** - IaC安全扫描 - 云配置审计 - 安全策略检查 - 合规性检查 - parameters: - name: "scan_type" type: "string" @@ -27,7 +24,6 @@ parameters: flag: "--scan-type" format: "flag" default: "all" - - name: "iac_dir" type: "string" description: "IaC目录" @@ -35,14 +31,12 @@ parameters: flag: "-d" format: "flag" default: "." - - name: "policy_type" type: "string" description: "要使用的策略类型" required: false flag: "--policy-type" format: "flag" - - name: "output_format" type: "string" description: "输出格式(json, yaml, xml)" @@ -50,25 +44,23 @@ parameters: flag: "--output" format: "flag" default: "json" - - name: "severity" type: "string" description: "严重程度过滤(high, medium, low)" required: false flag: "--severity" format: "flag" - - name: "additional_args" type: "string" description: | 额外的terrascan参数。用于传递未在参数列表中定义的terrascan选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/trivy.yaml b/tools/trivy.yaml index 8339d1ef..be58a761 100644 --- a/tools/trivy.yaml +++ b/tools/trivy.yaml @@ -1,45 +1,41 @@ name: "trivy" command: "trivy" enabled: true - short_description: "容器和文件系统漏洞扫描器" - description: | Trivy是一个简单而全面的容器和文件系统漏洞扫描器。 - + **主要功能:** - 容器镜像扫描 - 文件系统扫描 - 代码仓库扫描 - 配置文件扫描 - + **使用场景:** - 容器安全扫描 - CI/CD集成 - 漏洞检测 - 安全审计 - parameters: - name: "scan_type" type: "string" description: "扫描类型(image, fs, repo, config)" required: false default: "image" - + position: 0 + format: "positional" - name: "target" type: "string" description: "扫描目标(镜像名、目录、仓库)" required: true - position: 0 + position: 1 format: "positional" - - name: "severity" type: "string" description: "严重程度过滤(UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL)" required: false flag: "--severity" format: "flag" - - name: "output_format" type: "string" description: "输出格式(json, table, sarif)" @@ -47,22 +43,20 @@ parameters: flag: "--format" format: "flag" default: "json" - - name: "additional_args" type: "string" description: | 额外的Trivy参数。用于传递未在参数列表中定义的Trivy选项。 - + **示例值:** - "--exit-code 1": 发现漏洞时退出码为1 - "--skip-dirs": 跳过目录 - "--skip-files": 跳过文件 - "--no-progress": 不显示进度条 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false format: "positional" - diff --git a/tools/uro.yaml b/tools/uro.yaml index 68eeca9a..7490bd97 100644 --- a/tools/uro.yaml +++ b/tools/uro.yaml @@ -1,51 +1,70 @@ name: "uro" -command: "uro" +command: "python3" +args: + - "-c" + - | + import shlex + import subprocess + import sys + + if len(sys.argv) < 2: + sys.stderr.write("缺少URL列表\n") + sys.exit(1) + + urls = sys.argv[1] + extra = sys.argv[2] if len(sys.argv) > 2 else "" + + cmd = ["uro"] + if extra: + cmd.extend(shlex.split(extra)) + + proc = subprocess.run( + cmd, + input=urls, + capture_output=True, + text=True, + ) + if proc.stdout: + sys.stdout.write(proc.stdout) + if proc.stderr: + sys.stderr.write(proc.stderr) + sys.exit(proc.returncode) enabled: true - short_description: "URL过滤工具,用于过滤相似的URL" - description: | Uro是一个URL过滤工具,用于过滤掉相似的URL,去除重复项。 - + **主要功能:** - URL去重 - 相似URL过滤 - 白名单/黑名单支持 - 快速处理 - + **使用场景:** - URL去重 - 结果过滤 - 数据清理 - 工具链集成 - parameters: - name: "urls" type: "string" description: "要过滤的URL(每行一个)" required: true - - - name: "whitelist" - type: "string" - description: "白名单模式" - required: false - - - name: "blacklist" - type: "string" - description: "黑名单模式" - required: false - + position: 0 + format: "positional" - name: "additional_args" type: "string" description: | 额外的uro参数。用于传递未在参数列表中定义的uro选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + default: "" + position: 1 + format: "positional" diff --git a/tools/volatility.yaml b/tools/volatility.yaml index a6fc2dc3..c7a9e528 100644 --- a/tools/volatility.yaml +++ b/tools/volatility.yaml @@ -1,24 +1,21 @@ name: "volatility" command: "volatility" enabled: true - short_description: "内存取证分析工具" - description: | Volatility是一个内存取证框架,用于从内存转储中提取数字证据。 - + **主要功能:** - 内存转储分析 - 进程列表提取 - 网络连接分析 - 文件系统重建 - + **使用场景:** - 内存取证 - 恶意软件分析 - 事件响应 - 数字取证 - parameters: - name: "memory_file" type: "string" @@ -26,32 +23,29 @@ parameters: required: true flag: "-f" format: "flag" - - name: "plugin" type: "string" description: "要使用的Volatility插件" required: true position: 0 format: "positional" - - name: "profile" type: "string" description: "内存配置文件" required: false flag: "--profile" format: "flag" - - name: "additional_args" type: "string" description: | 额外的volatility参数。用于传递未在参数列表中定义的volatility选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/volatility3.yaml b/tools/volatility3.yaml index 14cea7f6..c7d33c8b 100644 --- a/tools/volatility3.yaml +++ b/tools/volatility3.yaml @@ -1,24 +1,21 @@ name: "volatility3" -command: "volatility" +command: "volatility3" enabled: true - short_description: "Volatility3内存取证分析工具" - description: | Volatility3是Volatility框架的下一代版本,用于内存取证分析。 - + **主要功能:** - 内存转储分析 - 高级插件系统 - 改进的性能 - 更好的文档 - + **使用场景:** - 内存取证 - 恶意软件分析 - 事件响应 - 数字取证 - parameters: - name: "memory_file" type: "string" @@ -26,32 +23,29 @@ parameters: required: true flag: "-f" format: "flag" - - name: "plugin" type: "string" description: "要执行的Volatility3插件" required: true position: 0 format: "positional" - - name: "output_file" type: "string" description: "输出文件路径" required: false flag: "-o" format: "flag" - - name: "additional_args" type: "string" description: | 额外的volatility3参数。用于传递未在参数列表中定义的volatility3选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/wafw00f.yaml b/tools/wafw00f.yaml index d863a5ff..b36334d1 100644 --- a/tools/wafw00f.yaml +++ b/tools/wafw00f.yaml @@ -1,24 +1,21 @@ name: "wafw00f" command: "wafw00f" enabled: true - short_description: "WAF识别和指纹识别工具" - description: | Wafw00f是一个Web应用防火墙(WAF)识别和指纹识别工具。 - + **主要功能:** - WAF检测 - WAF指纹识别 - 多种WAF支持 - 绕过技术检测 - + **使用场景:** - WAF识别 - 安全测试 - 渗透测试 - 安全评估 - parameters: - name: "target" type: "string" @@ -26,18 +23,17 @@ parameters: required: true position: 0 format: "positional" - - name: "additional_args" type: "string" description: | 额外的wafw00f参数。用于传递未在参数列表中定义的wafw00f选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/waybackurls.yaml b/tools/waybackurls.yaml index 9f505f8b..7b4aca40 100644 --- a/tools/waybackurls.yaml +++ b/tools/waybackurls.yaml @@ -1,23 +1,20 @@ name: "waybackurls" command: "waybackurls" enabled: true - short_description: "从Wayback Machine获取历史URL" - description: | Waybackurls从Wayback Machine获取目标域名的历史URL。 - + **主要功能:** - 历史URL发现 - 版本获取 - 子域名支持 - + **使用场景:** - 历史URL收集 - Bug bounty侦察 - 安全测试 - 内容发现 - parameters: - name: "domain" type: "string" @@ -25,7 +22,6 @@ parameters: required: true position: 0 format: "positional" - - name: "get_versions" type: "bool" description: "获取所有版本的URL" @@ -33,7 +29,6 @@ parameters: flag: "-get-versions" format: "flag" default: false - - name: "no_subs" type: "bool" description: "不包含子域名" @@ -41,18 +36,17 @@ parameters: flag: "-no-subs" format: "flag" default: false - - name: "additional_args" type: "string" description: | 额外的waybackurls参数。用于传递未在参数列表中定义的waybackurls选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/wfuzz.yaml b/tools/wfuzz.yaml index e9fb8230..846f5ce8 100644 --- a/tools/wfuzz.yaml +++ b/tools/wfuzz.yaml @@ -1,24 +1,21 @@ name: "wfuzz" command: "wfuzz" enabled: true - short_description: "Web应用模糊测试工具" - description: | Wfuzz是一个Web应用模糊测试工具,用于发现Web应用中的漏洞。 - + **主要功能:** - Web应用模糊测试 - 参数发现 - 目录发现 - 多种过滤器 - + **使用场景:** - Web应用安全测试 - 参数模糊测试 - 目录枚举 - 漏洞发现 - parameters: - name: "url" type: "string" @@ -26,25 +23,23 @@ parameters: required: true flag: "-u" format: "flag" - - name: "wordlist" type: "string" description: "字典文件路径" required: false flag: "-w" format: "flag" - - name: "additional_args" type: "string" description: | 额外的wfuzz参数。用于传递未在参数列表中定义的wfuzz选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/winpeas.yaml b/tools/winpeas.yaml index 8a479dac..41730606 100644 --- a/tools/winpeas.yaml +++ b/tools/winpeas.yaml @@ -1,12 +1,10 @@ name: "winpeas" command: "winPEAS.exe" enabled: true - short_description: "Windows 权限提升枚举工具,自动检测常见提权路径" - description: | WinPEAS (Windows Privilege Escalation Awesome Script) 是一个自动化权限提升枚举工具,用于检测 Windows 系统中的常见提权路径。 - + **主要功能:** - 系统信息收集 - 用户和组权限检查 @@ -16,18 +14,17 @@ description: | - 网络配置检查 - 文件权限检查 - 凭证查找 - + **使用场景:** - 渗透测试中的权限提升 - Windows 安全审计 - 后渗透测试 - CTF 竞赛 - + **注意事项:** - 需要目标系统上已下载 winPEAS.exe - 可能需要管理员权限 - 输出信息量大,建议保存到文件 - parameters: - name: "quiet" type: "bool" @@ -35,25 +32,23 @@ parameters: required: false flag: "-q" format: "flag" - - name: "notcolor" type: "bool" description: "禁用颜色输出" required: false flag: "-notcolor" format: "flag" - - name: "additional_args" type: "string" description: | 额外的winpeas参数。用于传递未在参数列表中定义的winpeas选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/wpscan.yaml b/tools/wpscan.yaml index bc0e1db7..7f1e6ce5 100644 --- a/tools/wpscan.yaml +++ b/tools/wpscan.yaml @@ -1,25 +1,22 @@ name: "wpscan" command: "wpscan" enabled: true - short_description: "WordPress安全扫描器,用于检测WordPress漏洞" - description: | WPScan是专门用于WordPress安全扫描的工具,可以检测主题、插件和核心漏洞。 - + **主要功能:** - WordPress核心漏洞检测 - 主题和插件漏洞扫描 - 用户枚举 - 密码暴力破解 - 安全配置检查 - + **使用场景:** - WordPress安全评估 - 漏洞扫描 - 渗透测试 - 安全审计 - parameters: - name: "url" type: "string" @@ -27,9 +24,8 @@ parameters: required: true flag: "--url" format: "flag" - - name: "additional_args" type: "string" description: "额外的WPScan参数" required: false - + format: "positional" diff --git a/tools/x8.yaml b/tools/x8.yaml index 29d12c29..740d4545 100644 --- a/tools/x8.yaml +++ b/tools/x8.yaml @@ -1,24 +1,21 @@ name: "x8" command: "x8" enabled: true - short_description: "隐藏参数发现工具" - description: | X8是一个用于发现Web应用中隐藏参数的工具。 - + **主要功能:** - 隐藏参数发现 - 多种HTTP方法支持 - 自定义字典 - 快速扫描 - + **使用场景:** - 参数发现 - Web应用安全测试 - Bug bounty侦察 - 安全测试 - parameters: - name: "url" type: "string" @@ -26,7 +23,6 @@ parameters: required: true flag: "--url" format: "flag" - - name: "wordlist" type: "string" description: "参数字典" @@ -34,7 +30,6 @@ parameters: flag: "--wordlist" format: "flag" default: "/usr/share/wordlists/x8/params.txt" - - name: "method" type: "string" description: "HTTP方法" @@ -42,32 +37,29 @@ parameters: flag: "--method" format: "flag" default: "GET" - - name: "body" type: "string" description: "请求体" required: false flag: "--body" format: "flag" - - name: "headers" type: "string" description: "自定义请求头" required: false flag: "--headers" format: "flag" - - name: "additional_args" type: "string" description: | 额外的x8参数。用于传递未在参数列表中定义的x8选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/xsser.yaml b/tools/xsser.yaml index 22bf9d0f..ffa66873 100644 --- a/tools/xsser.yaml +++ b/tools/xsser.yaml @@ -1,24 +1,21 @@ name: "xsser" command: "xsser" enabled: true - short_description: "XSS漏洞测试工具" - description: | XSSer是一个自动化XSS漏洞测试工具。 - + **主要功能:** - XSS漏洞检测 - 多种XSS技术 - 自动化测试 - 报告生成 - + **使用场景:** - XSS漏洞测试 - Web应用安全测试 - 渗透测试 - 漏洞验证 - parameters: - name: "url" type: "string" @@ -26,25 +23,23 @@ parameters: required: true flag: "--url" format: "flag" - - name: "params" type: "string" description: "要测试的参数" required: false flag: "--Fp" format: "flag" - - name: "additional_args" type: "string" description: | 额外的xsser参数。用于传递未在参数列表中定义的xsser选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/xxd.yaml b/tools/xxd.yaml index 58a2cace..7831b1e3 100644 --- a/tools/xxd.yaml +++ b/tools/xxd.yaml @@ -1,24 +1,21 @@ name: "xxd" command: "xxd" enabled: true - short_description: "十六进制转储工具" - description: | Xxd是一个十六进制转储工具,用于以十六进制格式显示文件内容。 - + **主要功能:** - 十六进制转储 - 可配置偏移和长度 - 反向转换 - 多种输出格式 - + **使用场景:** - 二进制分析 - 文件检查 - 数据提取 - 取证分析 - parameters: - name: "file_path" type: "string" @@ -26,7 +23,6 @@ parameters: required: true position: 0 format: "positional" - - name: "offset" type: "string" description: "开始读取的偏移量" @@ -34,25 +30,23 @@ parameters: flag: "-s" format: "flag" default: "0" - - name: "length" type: "string" description: "要读取的字节数" required: false flag: "-l" format: "flag" - - name: "additional_args" type: "string" description: | 额外的xxd参数。用于传递未在参数列表中定义的xxd选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/zap.yaml b/tools/zap.yaml index 1433c328..30c69688 100644 --- a/tools/zap.yaml +++ b/tools/zap.yaml @@ -1,24 +1,21 @@ name: "zap" command: "zap-cli" -enabled: true - +enabled: false short_description: "OWASP ZAP Web应用安全扫描器" - description: | OWASP ZAP是一个Web应用安全扫描器,用于发现Web应用中的安全漏洞。 - + **主要功能:** - Web应用安全扫描 - 主动和被动扫描 - API测试 - 详细报告 - + **使用场景:** - Web应用安全测试 - 漏洞扫描 - 安全评估 - 渗透测试 - parameters: - name: "target" type: "string" @@ -26,7 +23,6 @@ parameters: required: true flag: "-t" format: "flag" - - name: "scan_type" type: "string" description: "扫描类型(baseline, full, api)" @@ -34,14 +30,12 @@ parameters: flag: "--scan-type" format: "flag" default: "baseline" - - name: "api_key" type: "string" description: "ZAP API密钥" required: false flag: "--api-key" format: "flag" - - name: "daemon" type: "bool" description: "以守护进程模式运行" @@ -49,7 +43,6 @@ parameters: flag: "--daemon" format: "flag" default: false - - name: "port" type: "string" description: "ZAP守护进程端口" @@ -57,7 +50,6 @@ parameters: flag: "--port" format: "flag" default: "8090" - - name: "format_type" type: "string" description: "输出格式(xml, json, html)" @@ -65,25 +57,23 @@ parameters: flag: "--format" format: "flag" default: "xml" - - name: "output_file" type: "string" description: "输出文件路径" required: false flag: "--output" format: "flag" - - name: "additional_args" type: "string" description: | 额外的zap参数。用于传递未在参数列表中定义的zap选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional" diff --git a/tools/zsteg.yaml b/tools/zsteg.yaml index 6c12c561..650b457b 100644 --- a/tools/zsteg.yaml +++ b/tools/zsteg.yaml @@ -1,29 +1,26 @@ name: "zsteg" command: "zsteg" enabled: true - short_description: "LSB 隐写检测工具,用于检测 PNG/BMP 图片中的隐写数据" - description: | zsteg 是一个用于检测 PNG 和 BMP 图片中 LSB (Least Significant Bit) 隐写的工具。 - + **主要功能:** - LSB 隐写检测 - 多种隐写算法支持 - 自动提取隐写数据 - 支持多种图片格式 - + **使用场景:** - CTF 隐写题目 - 图片隐写分析 - 数字取证 - 安全研究 - + **注意事项:** - 需要 Ruby 环境 - 支持 PNG 和 BMP 格式 - 可以检测多种隐写算法 - parameters: - name: "file" type: "string" @@ -31,32 +28,29 @@ parameters: required: true position: 0 format: "positional" - - name: "all" type: "bool" description: "检测所有可能的隐写方法" required: false flag: "--all" format: "flag" - - name: "lsb" type: "bool" description: "只检测 LSB 隐写" required: false flag: "--lsb" format: "flag" - - name: "additional_args" type: "string" description: | 额外的zsteg参数。用于传递未在参数列表中定义的zsteg选项。 - + **示例值:** - 根据工具特性添加常用参数示例 - + **注意事项:** - 多个参数用空格分隔 - 确保参数格式正确,避免命令注入 - 此参数会直接追加到命令末尾 required: false - format: "positional" \ No newline at end of file + format: "positional"