Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
discover — 自定义的Bash和Python脚本,用于自动化各种渗透测试任务,包括侦察、扫描、枚举以及使用Metasploit创建恶意载荷。适用于Kali Linux和Ubuntu。 | Kitploit
工具/GitHubGitHub/leebaird/discover
OSINT (开源情报)侦察漏洞扫描器容器安全漏洞利用框架Payload生成脚本与自动化API安全测试信息收集Web安全渗透测试云安全
3.9k87022小时36分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubleebaird/discover

discover

自定义的Bash和Python脚本,用于自动化各种渗透测试任务,包括侦察、扫描、枚举以及使用Metasploit创建恶意载荷。适用于Kali Linux和Ubuntu。

查看仓库
root@kitploit:~
Custom bash scripts used to automate various penetration testing tasks including recon, scanning, 
enumeration, and malicious payload creation using Metasploit. For use with Kali Linux or Ubuntu.

License: MIT

  • Twitter Follow Lee Baird @discoverscripts
  • Twitter Follow Jay "L1ghtn1ng" Townsend @jay_townsend1
  • Twitter Follow Jason Ashton @ninewires

设置与使用

  • 下载到你的主目录。``` cd ~ git clone https://github.com/leebaird/discover cd discover/ ./discover.sh
root@kitploit:~
* 选择 **Update**(主菜单选项 16)来更新操作系统并安装依赖项(`ffuf`、`feroxbuster`、`jq` 等)。
* 开发扫描器位于 `dev/` 目录下,也可以通过主菜单选项 **15. Dev** 访问。
* 某些选项需要 root 凭证才能运行。

### 主菜单```
RECON
1.  Domain
2.  Person

SCANNING
3.  Generate target list
4.  CIDR
5.  List
6.  IP, range, or URL
7.  Rerun Nmap scripts and MSF aux

WEB
8.  Insecure direct object reference
9.  Open multiple tabs in Firefox
10. Nikto
11. SSL

MISC
12. Parse XML
13. Generate a malicious payload
14. Start a Metasploit listener
15. Dev
16. Update
17. Exit

开发子菜单(选项15)

安全扫描工具,由 Yiğit ibrahim (ibrahimsql) 编写。脚本位于 dev/ 目录下,也可以直接运行。``` Dev scripts originally by ibrahimsql

  1. API Security
  2. Cloud Security
  3. Container Security
  4. OAuth and JWT Security
  5. Open Redirect Scanner
  6. Sensitive Information
  7. WAF Detection
  8. Web and API Security
  9. Previous menu
root@kitploit:~
(无内容,输入为空)```
dev/
├── api-scanner.sh
├── cloud-scanner.sh
├── container-scanner.sh
├── oauth-jwt-scanner.sh
├── open-redirect.sh
├── sensitive-scanner.sh
├── waf-detect.sh
├── web-api-scanner.sh
├── data/
│   ├── api-paths.txt
│   ├── openredirect-payloads.txt
│   ├── sensitive-denylist.txt
│   ├── sensitive-patterns.tsv
│   ├── sensitive-skip-paths.txt
│   ├── sensitive-web-paths-quick.txt
│   ├── sensitive-web-paths-full.txt
│   ├── waf-aliases.tsv
│   ├── waf-labels.tsv
│   ├── waf-signatures.tsv
│   ├── web-api-phases.tsv
│   ├── web-api-tech-signatures.tsv
│   └── swagger-paths.txt
└── lib/
    ├── api-scanner/
    │   └── common.sh
    ├── cloud-scanner/
    │   ├── common.sh
    │   ├── aws.sh
    │   ├── azure.sh
    │   └── gcp.sh
    ├── container-scanner/
    │   ├── common.sh
    │   ├── docker.sh
    │   └── k8s.sh
    ├── oauth-jwt-scanner/
    │   ├── common.sh
    │   ├── oauth.sh
    │   └── jwt.sh
    ├── open-redirect-scanner/
    │   ├── common.sh
    │   └── engine.py
    ├── sensitive-scanner/
    │   ├── common.sh
    │   ├── files.sh
    │   ├── web.sh
    │   ├── filescan.py
    │   ├── engine.py
    │   ├── fixtures/
    │   └── run-tests.sh
    ├── waf-detect/
    │   ├── common.sh
    │   ├── probe.sh
    │   ├── fixtures/
    │   └── run-tests.sh
    └── web-api-scanner/
        ├── common.sh
        ├── phases.sh
        ├── waf.sh
        ├── targets.sh
        ├── msf.sh
        ├── msf_parse.py
        ├── probe.sh
        ├── fixtures/
        └── run-tests.sh

侦察

域名```

RECON

  1. Passive

  2. Breaches

  3. Find registered domains

  4. Google dorks

  5. Web search

  6. Import names

  7. Import subdomains

  8. Active

  9. Previous menu

root@kitploit:~
注意:被动和主动扫描不能以root身份运行。

**被动侦察(PASSIVE RECON)**

使用 Amass、ARIN、DNSRecon、dnstwist、Metasploit、subfinder、sublist3r、theHarvester、Whois 及多个网站。

*   获取所有免费 API 密钥以获得 theHarvester 的最佳结果。
*   将 API 密钥添加到 `$HOME/.theHarvester/api-keys.yaml`。
*   被动扫描会在 `$HOME/data/<domain>/` 生成一个 HTML 报告。
*   查找已注册域名会更新现有报告中的 `pages/registered-domains.htm` 文件。
*   主动扫描使用 httpx、whatweb 和 gowitness;可选的 NVD API 密钥可加速主动报告中的 CVSS 丰富过程(参见下文 **NVD API 密钥**)。

#### 导入名称(`import-names.sh`)

在手动研究(如通过 LinkedIn、公司网站、电话目录等)后运行,以便在被动扫描之后添加或丰富联系人信息。```
Enter the location of your previous passive scan:
/home/user/data/example.com

Enter manual contacts file (or press Enter for default):
  • 编辑 $HOME/data//tools/names-manual.tsv
  • 格式:Name, Title, Phone(制表符分隔,每行一个人)
  • 以 # 开头的行为注释
  • Title 和 Phone 可为空
  • 每次向手动文件添加行时,请重新运行 Import names

Import names 合并三个来源,然后刷新 pages/names.htm:

  1. tools/names — 被动扫描自动发现的名称
  2. pages/names.htm — 现有的报告表格(保留页面中已有的工作)
  3. tools/names-manual.tsv — 手动录入项;在填写时优先使用其中的 Title 和 Phone

合并后的TSV被保存回 tools/names。名称页面是一个可排序的三列表格:Name, Title, Phone。

导入子域名 (import-subdomains.sh)

在被动扫描之后运行,用于添加或丰富来自 Pentest-Tools 或手动研究的主机。``` Enter the location of your previous passive scan: /home/user/data/example.com

Enter import file or firefox (or press Enter for default):

root@kitploit:~
Supported imports:

* `firefox` — 从您的 Firefox 配置文件拉取 `pinia/scans` (免费的 Pentest-Tools 扫描)
* Firefox `pinia/scans` 导出 (`pinia-scans.json`)
* Pentest-Tools JSON (`pentest-tools-<domain>.json`)
* Pentest-Tools 文本导出 (`pentest-tools.txt`)
* 制表符分隔的主机/IP 行

* 编辑 `$HOME/data/<domain>/tools/subdomains-import.tsv` 以手动输入
* 格式:子域名, IP (制表符分隔;IP 可选)
* 没有 IP 的主机在导入期间会通过 `dig` 解析
* 每当您添加行或运行新的 Pentest-Tools 扫描时,重新运行 Import subdomains

Import subdomains 与现有的 `tools/subdomains` 合并,从 `old/subdomain-categories.tsv` 分配类别,将私有 IP 拆分到 `tools/private-subs`,并仅使用子域名、类别和 IP 列刷新 `pages/subdomains.htm`。之后运行 **Active** 以填充照片、状态、Web 服务器和技术信息。

#### Active (`active.sh`)

主动侦察

在被动扫描后运行(可选择运行 Import subdomains),当您想要探测哪些公共主机通过 HTTP/HTTPS 响应、指纹识别技术并捕获截图时。```
Enter the location of your previous passive scan:
/home/user/data/example.com

需要 httpx、whatweb、gowitness、python3 以及 Chrome 或 Chromium(通过 更新 安装)。

  • 从 tools/subdomains 读取公开主机名(跳过 RFC1918 IP)
  • 使用 httpx 探测主机名;写入 tools/httpx.jsonl
  • 将状态码为 200–399、401、403 或 405 的响应视为存活
  • 使用 whatweb 对存活 URL 进行指纹识别;写入 tools/whatweb.json
  • 使用 gowitness(go-rod 驱动)截图存活 URL,保存至 tools/gowitness/
  • 通过 recon/active-tech.py 合并 httpx 和 whatweb 结果,并刷新 pages/subdomains.htm
  • 将活动摘要写入 pages/active.htm(报告菜单 → 活动),包含在可用时通过 NVD CVSS 扩充的软件版本
  • 重新运行 Active 以替换 httpx/whatweb/gowitness 产物,重建 pages/subdomains.htm 上的活动列,并刷新 pages/active.htm

报告菜单包含 被动(pages/passive.htm,原 report.htm 汇总)和 活动(pages/active.htm,httpx/whatweb 统计信息)。

活动范围指标

指标含义
公开子域名tools/subdomains 中非 RFC1918 IP 的主机
私有子域名tools/private-subs 中的行
响应主机拥有 httpx 状态(任意代码)的唯一主机

活动页面上的 状态码 计算所有 httpx 响应(包括 404/5xx)。截图、whatweb 和 按类别存活的 仍然仅使用存活子集(状态 200–399、401、403 或 405)。

公开子域名表(运行 Active 后):

列来源
子域名、类别、IP被动扫描 / 导入子域名
照片截图 gowitness 链接(已捕获时)
状态httpx 状态码
Web 服务器httpx/whatweb Server 头

私有子域名表保持三列(子域名、类别、私有 IP 地址)。

active-tech.py 合并并去重列之间的重叠数据——例如,当 Technologies 中已列出 OpenSSL 和 mod_jk 版本时,它们会从 Web Server 中移除;Microsoft IIS/10 缩短为 Microsoft IIS(当 IIS:10 存在时);Apache/2.4.37 缩短为 Apache(当 Apache HTTP Server:2.4.37 存在时);诸如 Red Hat 等操作系统名称会从 Technologies 中移除(当 Web Server 横幅已显示时);httpx 的 Nginx 标签标准化为 nginx。

在 tools/ 下写入的产物:

  • active-targets.txt — 发送给 httpx 的公开主机名
  • httpx.jsonl — httpx JSON 输出
  • active-alive.tsv — 存活响应中的主机、URL 和状态
  • active.txt — 发送给 whatweb 和 gowitness 的存活 URL
  • whatweb.json — whatweb JSON 输出
  • gowitness/screenshots/ — JPEG 截图
  • gowitness/gowitness.jsonl 和 gowitness/gowitness.db — gowitness 元数据
  • software-cves-cache.json — 用于活动报告的 NVD CVSS/CVE 查找缓存

NVD API 密钥(可选,活动 CVSS)

活动侦察可以使用来自 国家漏洞数据库 的 CVSS 评分和 CVE ID 来丰富 pages/active.htm 上的 软件版本 表。查找功能在 recon/software-cve.py 中实现。

没有密钥: 扩充仍然运行,但应用 NVD 的匿名速率限制(较慢;请求之间大约几秒)。

有密钥: 经过身份验证的速率限制(快得多)。

完全跳过扩充:``` export DISCOVER_SKIP_CVE=1

root@kitploit:~
**获取免费的API密钥**

1. 请求密钥: https://nvd.nist.gov/developers/request-an-api-key
2. 确认NIST发送的电子邮件
3. 将密钥提供给Discover (shell导出和/或私有 `.env` — 见下文)

**Discover如何查找密钥**

优先级顺序(列表中较高的非空值始终优先):

1. Shell环境 — `export NVD_API_KEY=...`
2. Discover安装目录中的私有 `.env` — `$DISCOVER/.env`
3. 用户主目录配置中的私有 `.env` — `~/.discover/.env`

示例 `.env` 行(无需引号):```
NVD_API_KEY=your-key-here
  • 复制模板(假设 Discover 位于 ~/discover,如上述文档所述): cp ~/discover/.env.example ~/discover/.env 或 mkdir -p ~/.discover && cp ~/discover/.env.example ~/.discover/.env
  • 如果你克隆到别处,请使用该路径(或 $DISCOVER/.env.example)代替 ~/discover
  • .env 被 git 忽略;切勿提交真实密钥
  • .env.example 仅作为文档被跟踪

其他有用的变量

VariablePurpose
NVD_API_KEY可选的 NVD API 密钥,用于更快的 CVSS 查找
DISCOVER_SKIP_CVE=1跳过 NVD 查询;软件表仍会列出版本
DISCOVER_CVE_PROGRESS=1在构建活动状态时打印每个产品查找

缓存文件:<report>/tools/software-cves-cache.json(每个项目;重新运行时重用缓存的产品:版本结果)。CVSS 值是来自 NVD CPE 匹配的分级线索,而非已确认的发现——在向客户报告前请进行验证。

CISA 已知被利用漏洞(KEV)

Discover 更新(主菜单选项 16 / misc/update.sh)将 CISA KEV JSON 目录下载到 Discover 的 resource/ 文件夹:``` $DISCOVER/resource/known_exploited_vulnerabilities.json

root@kitploit:~
(例如 `~/discover/resource/known_exploited_vulnerabilities.json`)

来源:https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json  
目录:https://www.cisa.gov/known-exploited-vulnerabilities-catalog

如果下载失败,任何先前存在的本地目录将保持不变。该文件已被 gitignore(由 Update 刷新,不提交)。

在活跃的 **Software versions** 表中,**Top CVE** 优先选择 CISA KEV 匹配项,当产品的任何 NVD CVE 出现在 KEV 目录中时(在 KEV 中选择 CVSS 最高的)。否则,Top CVE 为 NVD 结果中 CVSS 最高的。KEV 选中的项目会在链接的 CVE ID 旁边显示一个橙色 **KEV** 徽章。

#### SEC 领导层(Names 页面)

对于美国上市公司,Discover 在名称合并步骤之前从 SEC EDGAR 拉取高管和董事信息:

1. **DEF 14A** — 代理声明正文和董事会表格,包含完整职务
2. **Form 4** — 近期的内部人申报文件,用于补充高管和董事

* 结果被写入 zsec-people,并与 tools/names 中已有的 Name、Title、Phone 列合并(电话留空)。
* SEC 申报文件不提供工作邮箱或个人电话号码。
* Names 页面布局不变——不添加 email 列。
* 手动覆盖:tools/sec-people-manual.tsv(制表符分隔:Name, Title, Phone)。

#### 公司总部(Summary 页面)

在被动侦察期间,Discover 尝试填充 pages/summary.htm 上公司名称和域名之间的地址与电话区块。

1. **SEC EDGAR 10-K** — 对于美国上市公司,从最新的 10-K 文件中读取主要行政办公室字段(内联 XBRL `dei:` 标签)。
2. **网站页脚** — 如果 SEC 无匹配,则扫描缓存的主页页脚(以及联系页面)以查找地址/电话模式。
3. **手动覆盖** — 当发现结果错误或被阻止时,向 tools/company-manual.tsv 添加条目。

结果被写入 tools/company.json 并注入 pages/summary.htm。

#### 社交媒体(Summary 页面)

在被动侦察期间,Discover 获取公司主页并提取官方社交资料链接(facebook、Instagram、LinkedIn、X、YouTube)。然后尝试从每个资料拉取关注者数量。

* 结果被写入 tools/social.tsv 并注入 pages/summary.htm。
* 如果平台阻止爬取,关注者数量显示为 **Blocked**。
* 如果主页被机器人阻止,请在扫描之前或之后将 URL 添加到 tools/social-manual.tsv(制表符分隔:Platform, URL)。

### 人员```
RECON

First name:
Last name:
  • 整合来自多个网站的信息。

扫描

生成目标列表```

SCANNING

  1. ARP scan
  2. Ping sweep
  3. Previous menu
root@kitploit:~
* 使用不同的工具创建目标列表,包括 Angry IP Scanner、arp-scan、netdiscover 和 Nmap pingsweep。

### CIDR, List, IP, Range, or URL```
Type of scan:

1.  External
2.  Internal
3.  Previous menu
  • 外部扫描会将Nmap源端口设置为53,并将最大RTT超时设置为1500ms。
  • 内部扫描会将Nmap源端口设置为88,并将最大RTT超时设置为500ms。
  • Nmap用于执行主机发现、端口扫描、服务枚举和操作系统识别。
  • Nmap脚本和Metasploit辅助模块用于额外的枚举。
  • 附加工具:enum4linux、smbclient和ike-scan。

WEB

不安全的直接对象引用````

Using Burp, authenticate to a site, map & Spider, then log out. Target > Site map > select the URL > right click > Copy URLs in this host. Paste the results into a new file.

Enter the location of your file:

root@kitploit:~
### 在Firefox中打开多个标签页```
Open multiple tabs in Firefox with:

1.  List
2.  Files in a directory
3.  Directories in robots.txt
4.  Previous menu
```
示例:
* 包含多个IP和/或URL的列表。
* 你完成了使用Nikto扫描多个网站,并想打开目录中每个htm报告。
* 使用wget下载域名的robot.txt文件,然后打开所有目录。

### Nikto```
This option cannot be ran as root.

Run multiple instances of Nikto in parallel.

1.  List of IPs
2.  List of IP:port
3.  Previous menu
```
### SSL```
Check for SSL certificate issues.

List of IP:port.


Enter the location of your file:
```
* 使用 sslscan、sslyze 和 Nmap 检查 SSL/TLS 证书问题。

## 杂项
### 解析 XML```
Parse XML to CSV.

1.  Burp (Base64)
2.  Nessus (.nessus)
3.  Nexpose (XML 2.0)
4.  Nmap
5.  Qualys
6.  Previous menu
```
### 生成恶意负载```
Malicious Payloads

1.   android/meterpreter/reverse_tcp         (.apk)
2.   cmd/windows/reverse_powershell          (.bat)
3.   java/jsp_shell_reverse_tcp (Linux)      (.jsp)
4.   java/jsp_shell_reverse_tcp (Windows)    (.jsp)
5.   java/shell_reverse_tcp                  (.war)
6.   linux/x64/meterpreter_reverse_https     (.elf)
7.   linux/x64/meterpreter_reverse_tcp       (.elf)
8.   linux/x64/shell/reverse_tcp             (.elf)
9.   osx/x64/meterpreter_reverse_https       (.macho)
10.  osx/x64/meterpreter_reverse_tcp         (.macho)
11.  php/meterpreter_reverse_tcp             (.php)
12.  python/meterpreter_reverse_https        (.py)
13.  python/meterpreter_reverse_tcp          (.py)
14.  windows/x64/meterpreter_reverse_https   (multi)
15.  windows/x64/meterpreter_reverse_tcp     (multi)
16.  Previous menu
```
### 启动一个Metasploit监听器```
Metasploit Listeners

1.   android/meterpreter/reverse_tcp
2.   cmd/windows/reverse_powershell
3.   java/jsp_shell_reverse_tcp
4.   linux/x64/meterpreter_reverse_https
5.   linux/x64/meterpreter_reverse_tcp
6.   linux/x64/shell/reverse_tcp
7.   osx/x64/meterpreter_reverse_https
8.   osx/x64/meterpreter_reverse_tcp
9.   php/meterpreter/reverse_tcp
10.  python/meterpreter_reverse_https
11.  python/meterpreter_reverse_tcp
12.  windows/x64/meterpreter_reverse_https
13.  windows/x64/meterpreter_reverse_tcp
14.  Previous menu
```
### 更新(主菜单选项16)

* 更新操作系统,从多个仓库执行 git pull,并更新 locate 数据库。
* 安装开发扫描器使用的工具(例如 `ffuf`、`feroxbuster`、`jq`、`trivy`)。

## 开发(DEV)

除非另有说明,扫描结果写入 `$HOME/data/` 下。开发扫描器在其自己的输出目录(`api-scan_*`、`cloud-scan_*` 等)中生成**独立报告**。它们在需要时会引入 `discover.sh` 以获取菜单辅助函数和颜色,但**不会**写入或更新 Discover 的侦察 HTML 报告(`report.sh`、`$NAME`、`pages/*.htm`)。

### API 安全扫描器(`dev/api-scanner.sh`)

分阶段的 API 发现和安全测试。共享辅助函数和词列表位于 `dev/lib/api-scanner/` 和 `dev/data/` 中。

**交互式菜单**```
1. API Discovery and Testing (full)
2. API Quick Scan (discovery + docs)
3. JWT Token Analysis
4. Full API Assessment (orchestrated)
5. Previous menu
```
**CLI** (当设置了 `-u` 时跳过菜单):```
./dev/api-scanner.sh -u https://target.example --quick --authorized
./dev/api-scanner.sh -u https://target.example --full --token 'eyJ…' --authorized
./dev/api-scanner.sh --resume ~/data/api-scan_20260703-1200 -u https://target.example
./dev/api-scanner.sh -u https://target.example --orchestrate --authorized
./dev/api-scanner.sh --help
```
| 标志 | 用途 |
|------|---------|
| `--quick` | 仅发现和记录 |
| `--full` | 所有阶段(默认) |
| `--orchestrate` | 完全扫描,然后提示相关扫描器 |
| `--token` | 用于认证请求的承载令牌 |
| `--cookie-file` | Netscape cookie 文件 |
| `--max-parallel N` | 并发工作线程数(默认:3) |
| `--max-endpoints N` | 合并后限制测试的端点数量 |
| `--skip PHASE` | 跳过某个阶段(可重复使用) |
| `--resume DIR` | 使用现有输出目录恢复扫描 |
| `--authorized` | 跳过授权确认提示 |
| `--aggressive-http` | 包含 TRACE/CONNECT 方法测试 |

**阶段(完全扫描):** HTML/JS 链接提取,ffuf/feroxbuster 模糊测试,路径探测,OpenAPI/Swagger 发现,GraphQL 测试(内省、深度、批处理),CORS(GET + 预检),HTTP 方法检查,速率限制突发,JWT 分析。

**输出:** `$HOME/data/api-scan_<时间戳>/api_scanner/`

* `report.txt` 和 `report.md` — 扫描器本地发现结果(未合并到 Discover 侦察报告中)
* `findings.json` — 所有发现结果的合并 JSON 导出
* `findings_registry.tsv` — 制表符分隔的发现日志(JSON 导出的来源)
* `scan.log` — 请求审计跟踪
* `.checkpoint/` — 每个阶段的恢复标记

需要 `curl` 和 `jq`。当安装了 `ffuf` 或 `feroxbuster` 时使用它们(通过 Discover **更新** 安装)。直接运行时加载 `discover.sh` 以获取 `f_banner` / 菜单辅助函数。

### 云安全扫描器 (`dev/cloud-scanner.sh`)

针对 AWS、Azure 和 GCP 的分阶段云配置错误审计。共享辅助函数位于 `dev/lib/cloud-scanner/`。

**交互式菜单**```
1. AWS (Amazon Web Services)
2. Azure (Microsoft Azure)
3. GCP (Google Cloud Platform)
4. All providers
5. Previous menu
```
**命令行界面**(当设置了提供者标志时跳过菜单):```
./dev/cloud-scanner.sh --aws --quick
./dev/cloud-scanner.sh --azure --gcp --full
./dev/cloud-scanner.sh --aws --output-dir ~/data/cloud-scan_custom
./dev/cloud-scanner.sh --resume ~/data/cloud-scan_20260704-1200 --aws
./dev/cloud-scanner.sh --help
```
| 标志 | 用途 |
|------|---------|
| `--aws` / `--azure` / `--gcp` | 运行一个云提供商(组合使用可运行多个) |
| `--quick` | 暴露重点检查(公共访问、MFA、开放入口) |
| `--full` | 全面审计,包括IAM深入分析、跨区域EC2/安全组、额外检查 |
| `--output-dir DIR` | 自定义输出目录 |
| `--resume DIR` | 使用现有扫描目录恢复(跳过已完成的阶段) |
| `-h`, `--help` | 显示使用说明 |

结果写入 `$HOME/data/cloud-scan_YYYYMMDD-HHMM/`(或 `--output-dir`):

* `findings_registry.tsv` — 严重性、云服务商、服务、资源、检查项、详情、证据
* `findings.json` — 所有发现的合并JSON导出
* `report.txt` / `report.md` — 扫描器本地汇总(不合并到Discover recon报告中)
* `scan.log` — API活动及发现日志
* `.checkpoint/` — 用于 `--resume` 的阶段标记

需要 `jq` 及相关云CLI(`aws`、`az`、`gcloud`/`gsutil`),并在扫描前配置好凭证。扫描器不会自动安装CLI或运行交互式 `aws configure` / `gcloud init`。直接运行时对于 `f_banner` / 菜单辅助功能,会引用 `discover.sh`。

### 容器安全扫描器(`dev/container-scanner.sh`)

使用Trivy、Docker和kubectl进行全面的Docker和Kubernetes安全评估。独立输出到 `$HOME/data/container-scan_*`(不更新Discover recon HTML报告)。

* **Docker镜像** — Trivy漏洞/密钥/配置扫描、SBOM(完整模式)、Dockerfile分析
* **Docker容器** — 特权模式、挂载点、能力、运行时检查(完整模式)
* **Kubernetes** — RBAC、NetworkPolicy、PSS标签、已弃用API、Pod安全

**扫描类型:** `docker-images`、`docker-containers`、`kubernetes`,或 `all`(从Discover菜单运行时默认值)。

**CLI选项:** `--quick`、`--full`、`--output-dir`、`--resume`、`--dockerfile-root`、`--include-ns`、`--exclude-ns`、`--trivy-jobs`、`--menu`、`-h`

**输出工件:** `findings_registry.tsv`、`findings.json`、`report.txt`、`report.md`、`scan.log`、`container_security_report.txt`

**依赖项:** `docker`、`kubectl`(Kubernetes扫描)、`trivy`、`jq`、`numfmt` — 通过Discover Update安装;无自动安装。

**环境变量:** `CONTAINER_OUTPUT_DIR`、`CONTAINER_DOCKERFILE_ROOT`、`CONTAINER_SCAN_MODE`、`CONTAINER_EXCLUDE_NS`

### OAuth和JWT安全扫描器(`dev/oauth-jwt-scanner.sh`)

OAuth/OIDC发现、实时授权探测、离线JWT分析以及可选的实时令牌验证。补充`api-scanner.sh`的JWT检查。独立输出到 `$HOME/data/oauth-jwt-scan_*`。

* **OAuth/OIDC** — 发现元数据、JWKS、redirect_uri/state/PKCE/implicit探测
* **JWT离线** — alg=none、RS256→HS256混淆、jku/x5u/kid攻击、声明健康检查、权限提升载荷
* **JWT实时** — 可选的Bearer测试,对 `--jwt-endpoint`(发现userinfo时自动填充)

**扫描类型:** `oauth`、`jwt`,或 `all`(组合)。

**菜单:** OAuth测试、JWT测试、组合扫描,或上一级菜单。

**CLI示例:**```bash
./dev/oauth-jwt-scanner.sh --target https://app.example.com --full
./dev/oauth-jwt-scanner.sh --jwt 'eyJhbG...' --jwt-endpoint https://app.example.com/api/me
./dev/oauth-jwt-scanner.sh --target https://app.example.com --api-scan-dir ~/data/api-scan_20260101-1200 --all
```
**选项:** `--target`, `--jwt`, `--jwt-file`, `--api-scan-dir`, `--jwt-endpoint`, `--client-id`, `--redirect-uri`, `--quick`, `--full`, `--oauth`, `--jwt-only`, `--all`, `--output-dir`, `--resume`, `--menu`, `-h`

**输出:** `findings_registry.tsv`, `findings.json`, `report.txt`, `report.md`, `scan.log`

**依赖项:** `curl`, `jq`

### 开放重定向扫描器(`dev/open-redirect.sh`)

使用可配置的金丝雀主机模糊测试重定向参数(注入并变异现有查询参数)。检测 3xx `Location`(跟随一跳)、meta 刷新以及 JavaScript/正文重定向。完整模式增加 POST 和头部探测。确认阶段使用第二个金丝雀主机以减少误报。Python 引擎:`dev/lib/open-redirect-scanner/engine.py`;载荷:`dev/data/openredirect-payloads.txt`。独立输出位于 `$HOME/data/openredirect-scan_*`。

**菜单:** 单个 URL、域名、URL 文件、高级选项、先前扫描目录或上一级菜单。

**CLI 示例:**```bash
./dev/open-redirect.sh --url https://app.example.com/login?next=/home --full
./dev/open-redirect.sh --domain example.com --quick
./dev/open-redirect.sh --scan-dir ~/data/api-scan_20260101-1200 --crawl --quick
./dev/open-redirect.sh --file ~/targets.txt --max-requests 500 --rps 5
```
**选项:** `--url`, `--domain`, `--file`, `--scan-dir`, `--wordlist`, `--canary-host`, `--quick`, `--full`, `--crawl`, `--workers`, `--delay`, `--rps`, `--max-requests`, `--no-confirm`, `--quiet`, `--output-dir`, `--resume`, `--menu`, `-h`

**输出:** `findings_registry.tsv`, `findings.json`, `report.txt`, `report.md`, `scan.log`, `openredirect_engine/results.json`, `openredirect_engine/checkpoint.json`

**依赖:** `python3`, `requests`(Discover Update 会安装 `python3-requests`), `jq`

### 敏感信息扫描器 (`dev/sensitive-scanner.sh`)

在本地文件/目录和暴露的 Web 路径中搜索密钥、凭据和 PII。Bash 编排加 Python 引擎:`filescan.py`(单遍文件扫描)和 `engine.py`(并行 Web 探测)。模式数据:`dev/data/sensitive-patterns.tsv`、`sensitive-denylist.txt`、`sensitive-skip-paths.txt`。独立输出位于 `$HOME/data/sensitive-scan_*`。

* **文件扫描** — 通过 `filescan.py` 每文件单遍扫描;黑名单、跳过的通配符、熵过滤器、Luhn/SSN/TC 验证;可选的 `gitleaks` / `trufflehog`(`--external auto`)
* **Web 扫描** — 并行工作器/RPS、按路径检查点恢复、robots 禁止 + 站点地图路径、api-scanner 端点导入、软 404 防护、目录列表检测、对 HTTP 200 响应体进行深度 `filescan.py`
* **api-scanner 钩子** — 内联响应检查使用 `filescan.py`;编排器可以自动启动 `--all` 并携带 bearer 令牌
* **报告** — 去重的 `findings_registry.tsv`、`findings.json`、`report.txt`、`report.md`;使用 `--no-store-content` / `--shred-content` 以获得更安全的产物

**菜单:** 文件或文件夹、URL、文件/文件夹 + 先前扫描目录、URL + api-scan 输出,或上一个菜单。

**示例:**```
./dev/sensitive-scanner.sh --path ./myapp --files --full
./dev/sensitive-scanner.sh --url https://app.example.com --web --quick --workers 8 --rps 5
./dev/sensitive-scanner.sh --url https://app.example.com --scan-dir ~/data/api-scan_20260101-1200 --all --quick --bearer-token "$TOKEN"
./dev/sensitive-scanner.sh --path /var/www/html/config.php --files --external gitleaks
./dev/lib/sensitive-scanner/run-tests.sh
```
**选项:** `--path`、`--url`、`--scan-dir`、`--wordlist`、`--quick`、`--full`、`--workers`、`--delay`、`--rps`、`--max-paths`、`--bearer-token`、`--insecure`、`--no-store-content`、`--shred-content`、`--redact-emails`、`--entropy-min`、`--external`、`--files`、`--web`、`--all`、`--output-dir`、`--resume`、`--quiet`、`--menu`、`-h`

**输出:** `findings_registry.tsv`、`findings.json`、`report.txt`、`report.md`、`scan.log`、`sensitive_info/`、`web_sensitive/engine/{results,checkpoint}.json`

**依赖项:** `python3`、`jq`、`find`;Web 扫描需要 `python3-requests`;可选 `gitleaks`、`trufflehog`、`rg`

### WAF 检测 (`dev/waf-detect.sh`)

识别目标前的 Web 应用防火墙和 CDN 边缘层。模块化库:`dev/lib/waf-detect/{common,probe}.sh`、`wafw00f_run.py`;数据:`dev/data/waf-signatures.tsv`、`waf-aliases.tsv`、`waf-labels.tsv`。独立输出位于 `$HOME/data/waf-detection_*`。

* **纯被动(api-scanner 钩子的默认模式)** — `--passive` 只发送正常的 HTTP GET;仅根据 `waf-signatures.tsv` 匹配响应头/正文。不运行 wafw00f,不触发 SQLi,不注入 `X-Forwarded-For`。
* **主动模式** — 通过 `wafw00f_run.py` 运行 wafw00f(主要方式,高置信度)并补充签名/行为探测。非交互式主动扫描需要 `--i-understand`。
* **补充模式** — `--supplemental auto` 在 wafw00f 高置信度命中后跳过冗余探测;行为发现需要 WAF 头部佐证。
* **合并发现** — 每个供应商一行,包含置信度(`高`/`中`/`低`)、来源和类型(`waf`/`cdn`/`both`)。
* **结构化命中** — `waf_engine/hits.jsonl` 和 `findings.json` 中的 `hits[]`,供下游工具使用。
* **恢复** — `--resume DIR` 从 `waf_engine/checkpoint.json` 继续。
* **报告** — `findings_registry.tsv`、`findings.json`、`report.txt`、`report.md`、`waf_results.tsv`

**菜单:** 单个目标、目标文件或上一级菜单(可选择主动/被动)。

**示例:**```
./dev/waf-detect.sh --url https://app.example.com --passive
./dev/waf-detect.sh --file ~/targets.txt --passive --delay 2
./dev/waf-detect.sh --url example.com --i-understand --output-dir ~/data/waf-test
./dev/waf-detect.sh --resume ~/data/waf-detection_20260704-1200 --workers 4
./dev/lib/waf-detect/run-tests.sh
```
**选项:** `--url`, `--file`, `--output-dir`, `--resume`, `--passive`, `--i-understand`, `--waf-only`, `--insecure`, `--no-redirect`, `--proxy`, `--delay`, `--max-targets`, `--workers`, `--wafw00f`, `--supplemental`, `--input-format`, `--quiet`, `--menu`, `-h`

**输出:** `findings_registry.tsv`, `findings.json`, `report.txt`, `report.md`, `waf_results.tsv`, `scan.log`, `waf_engine/{hits.jsonl,checkpoint.json,*.json}`

**依赖项:** `curl`, `jq`, `grep`, `python3`;可选的 `wafw00f`(主动模式,推荐)

**api-scanner 集成:** `api-scanner.sh --orchestrate` 提示在主扫描后运行 waf-detect(默认被动)。

### Web 与 API 安全(`dev/web-api-scanner.sh`)

基于 Metasploit 的 web/API 评估。模块化库:`dev/lib/web-api-scanner/{common,phases,msf,probe,waf,targets}.sh`,`msf_parse.py`;数据:`dev/data/web-api-{phases,tech-signatures}.tsv`。独立输出位于 `$HOME/data/web-api-scan_*`。

* **层级** — `passive`(侦察)| `standard`/`--quick`(侦察 + 技术扫描器)| `intrusive`(+ SQL 注入/暴力破解)| `exploit`(+ 漏洞利用检查)
* **阶段控制** — `--phases`,`--skip-phases`;每个阶段使用 `msfconsole` 并设置 `--phase-timeout`
* **技术指纹** — 加权的 `web-api-tech-signatures.tsv`(Laravel, Spring, Swagger, nginx, …)
* **WAF 感知** — 检测到 WAF/CDN 时跳过暴力破解阶段(`--scan-dir` 或头部签名)
* **认证** — `--bearer-token`,`--cookie-file` 用于 curl + MSF
* **api-scanner 集成** — `--scan-dir` 加载 `api_scanner/all_endpoints.txt` 作为 `brute_dirs` 路径
* **结构化命中** — `msf_parse.py` → `msf_engine/hits.jsonl` + `findings.json` 中的 `hits[]`
* **多目标** — `--file`,`--workers`,`--max-targets`
* **隐蔽性** — `--delay`,`--jitter`,`--proxy`,基于层级的 `THREADS`
* **MSF 数据库** — 默认仅检查;使用 `--msf-db-bootstrap` 进行可选设置

**菜单:** 扫描 URL(默认被动)或返回上一级菜单。

**示例:**```
./dev/web-api-scanner.sh --url https://app.example.com --passive
./dev/web-api-scanner.sh --url example.com --quick --scan-dir ~/data/api-scan_*/ 
./dev/web-api-scanner.sh --url example.com --tier exploit --i-understand --bearer-token "$TOKEN"
./dev/web-api-scanner.sh --file ~/targets.txt --quick --workers 2 --max-targets 10
WEBAPI_RUN_LIVE_MSF=1 ./dev/lib/web-api-scanner/run-tests.sh
```
**选项:** `--url`, `--file`, `--tier`, `--quick`, `--phases`, `--skip-phases`, `--scan-dir`, `--bearer-token`, `--cookie-file`, `--proxy`, `--phase-timeout`, `--workers`, `--threads`, `--jitter`, `--target-ip`, `--output-dir`, `--resume`, `--passive`, `--i-understand`, `--dry-run`, `--skip-msf-db`, `--msf-db-bootstrap`, `--keep-resources`, `--no-waf-aware`, `--insecure`, `--delay`, `--quiet`, `--menu`, `-h`

**输出:** `findings_registry.tsv`, `findings.json`, `report.txt`, `report.md`, `scan.log`, `msf_engine/`

**依赖:** `curl`, `jq`, `grep`, `msfconsole`;推荐使用 PostgreSQL 用于 MSF DB(可配合 `--skip-msf-db` 选项跳过)

**api-scanner 集成:** `api-scanner.sh --orchestrate` 会提示运行 web-api-scanner(默认被动模式)。

# 故障排除

一些用户报告除选项 3、4 和 5 外无法使用其他选项。选择其他选项(1、2、6 等)时没有任何反应。

## 验证下载哈希值

基于哈希的验证通过将文件的哈希值与预先计算的值进行比较,确保文件未被损坏。如果这两个值匹配,则认为文件未被修改。

### macOS

1. 打开终端
2. shasum -a 256 /path/to/file
3. 将计算出的值与网站上的校验和进行比较。

### Windows

1. 打开 PowerShell
2. Get-FileHash C:\path\to\file
3. 将计算出的值与网站上的校验和进行比较。

## 在 VirtualBox 或 Windows Subsystem for Linux (WSL) 上运行 Kali

一些用户报告解决方案是使用 VMware 镜像而不是 WSL。

其他用户注意到使用预制的 VirtualBox Kali 镜像时出现问题,而不是通过 VirtualBox 运行裸机 Kali ISO。
(https://www.kali.org/get-kali/#kali-bare-metal)

如果您不愿意或无法使用 VMware Workstation 运行 Kali,我们建议您尝试在 VirtualBox 中以客户机虚拟机的方式运行 Kali ISO。

1. 下载 Kali 提供的裸机 ISO。
2. 验证 ISO 哈希(见上文)。
3. 在 VirtualBox 中使用裸机 Kali ISO 启动一个新的 Kali 虚拟机。

安装过程中需要填写一些[基本安装说明](https://www.kali.org/docs/installation/hard-disk-install/)。

注意:如果在设置裸机 ISO 后访问 root 遇到问题,请参考:https://linuxconfig.org/how-to-reset-kali-linux-root-password
下载工具
标题 / 技术httpx 页面标题(已过滤)+ httpx 技术 / whatweb 插件