Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
discover — カスタムBashおよびPythonスクリプトは、偵察、スキャニング、列挙、およびMetasploitを使用した悪意のあるペイロード作成など、さまざまな侵入テストタスクを自動化するために使用されます。Kali LinuxとUbuntuで使用します。 | Kitploit
ツール/GitHubGitHub/leebaird/discover
OSINT (オープンソースインテリジェンス)偵察脆弱性スキャナーコンテナセキュリティエクスプロイトフレームワークペイロード生成スクリプトと自動化APIセキュリティテスト情報収集ウェブセキュリティペネトレーションテストクラウドセキュリティ
3.9k8701日前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.

ライセンス: MIT

  • Twitter フォロー Lee Baird @discoverscripts
  • Twitter フォロー Jay "L1ghtn1ng" Townsend @jay_townsend1
  • Twitter フォロー Jason Ashton @ninewires

セットアップと使用方法

  • ホームディレクトリにダウンロードしてください。``` cd ~ git clone https://github.com/leebaird/discover cd discover/ ./discover.sh
root@kitploit:~
* **Update**(メインメニューオプション16)を選択して、オペレーティングシステムを更新し、依存関係(`ffuf`、`feroxbuster`、`jq`など)をインストールします。
* Devスキャナーは`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:~
```python
#!/usr/bin/env python3

import sys
import argparse
from datetime import datetime
from typing import List, Dict, Any, Optional
from dataclasses import dataclass, field, asdict
from urllib.parse import urlparse, parse_qs
from collections import defaultdict
import tldextract
import json
import yaml
import hashlib
import re

@dataclass
class SubdomainInfo:
    domain: str
    source: str
    timestamp: str = field(default_factory=lambda: datetime.utcnow().isoformat())
    resolved_ips: List[str] = field(default_factory=list)
    http_status: Optional[int] = None
    screenshot_path: Optional[str] = None
    technologies: List[str] = field(default_factory=list)
    vulnerabilities: List[str] = field(default_factory=list)
    metadata: Dict[str, Any] = field(default_factory=dict)
    uuid: str = field(default_factory=lambda: hashlib.sha256(f"{datetime.utcnow().isoformat()}-{id(id)}".encode()).hexdigest()[:16])

class ReconManager:
    def __init__(self, config_path: Optional[str] = None):
        self.config = self._load_config(config_path)
        self.subdomains: Dict[str, SubdomainInfo] = {}
        self.results_dir = self.config.get("results_dir", "./recon_results")
        self.tools = self.config.get("tools", [])
        self.blacklist = self.config.get("blacklist", [])
        self.concurrency = self.config.get("concurrency", 10)

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

root@kitploit:~
## 偵察
### ドメイン```
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

注意: Passive および Active は root としては実行できません。

パッシブリコン

Amass、ARIN、DNSRecon、dnstwist、Metasploit、subfinder、 sublist3r、theHarvester、Whois、および複数のウェブサイトを使用します。

  • すべての無料APIキーを取得して、theHarvester の最大の結果を得ます。
  • APIキーを $HOME/.theHarvester/api-keys.yaml に追加します。
  • Passive は $HOME/data// に HTML レポートを生成します。
  • 登録済みドメインの検索は、既存のレポート内の pages/registered-domains.htm を更新します。
  • Active は httpx、whatweb、gowitness を使用します。オプションの NVD API キーは Active レポートの CVSS エンリッチメントを高速化します(下記の NVD API キー を参照)。

Import names (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):

root@kitploit:~
* `$HOME/data/<domain>/tools/names-manual.tsv` を編集
* 書式: Name, Title, Phone(タブ区切り、1行に1人)
* `#` で始まる行はコメント
* Title と Phone は空白でも可
* 手動ファイルに行を追加したら、Import names を再実行

Import names は3つのソースをマージし、`pages/names.htm` を更新します:

1. `tools/names` — パッシブスキャンで自動検出された名前
2. `pages/names.htm` — 既存のレポートテーブル(ページ内の作業を保持)
3. `tools/names-manual.tsv` — 手動エントリ; 入力されている場合、Title と Phone が優先されます

マージされた TSV は `tools/names` に保存されます。名前ページはソート可能な3列のテーブルです: 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):

サポートされているインポート元:

  • 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スキャンを実行したら、必ず「サブドメインのインポート」を再実行してください

「サブドメインのインポート」は既存の tools/subdomains とマージし、old/subdomain-categories.tsv からカテゴリを割り当て、プライベートIPを tools/private-subs に分割し、サブドメイン、カテゴリ、IP列のみで pages/subdomains.htm を更新します。その後 Active を実行して、Photo、Status、Web Server、Technologies を入力します。

Active (active.sh)

アクティブリコン

パッシブスキャン(およびオプションで「サブドメインのインポート」)の後に実行し、どの公開ホストがHTTP/HTTPSで応答するか調査し、テクノロジーを特定し、スクリーンショットを取得します。``` Enter the location of your previous passive scan: /home/user/data/example.com

root@kitploit:~
`httpx`、`whatweb`、`gowitness`、`python3`、およびChromeまたはChromiumが必要です(**Update**経由でインストール)。

* `tools/subdomains` からパブリックホスト名を読み取ります(RFC1918 IPはスキップされます)
* httpx でホスト名をプローブし、`tools/httpx.jsonl` に書き込みます
* ステータス 200–399、401、403、または405のレスポンスをaliveとして扱います
* alive URL をwhatwebでフィンガープリントし、`tools/whatweb.json` に書き込みます
* `tools/gowitness/` 以下にgowitness(go-rodドライバ)でalive URLのスクリーンショットを取得します
* `recon/active-tech.py` を使用してhttpxとwhatwebをマージし、`pages/subdomains.htm` を更新します
* 利用可能な場合にNVD CVSSで強化されたソフトウェアバージョンを含むActiveサマリーを `pages/active.htm`(Reportsメニュー→Active)に書き込みます
* Activeを再実行すると、httpx/whatweb/gowitnessの成果物を置き換え、`pages/subdomains.htm` のアクティブ列を再構築し、`pages/active.htm` を更新します

**Reports** メニューには **Passive**(`pages/passive.htm`、以前の `report.htm` の集約)と **Active**(`pages/active.htm`、httpx/whatweb統計)が含まれます。

**Activeスコープのメトリクス**

| メトリクス | 意味 |
|--------|---------|
| パブリックサブドメイン | `tools/subdomains` 内の非RFC1918 IPを持つホスト |
| プライベートサブドメイン | `tools/private-subs` 内の行 |
| 応答ホスト | httpxステータス(任意のコード)のあるユニークホスト |

**ステータスコード**はActiveページで**すべて**のhttpxレスポンス(404/5xxを含む)をカウントします。スクリーンショット、whatweb、および**カテゴリ別のAlive**は、引き続きaliveサブセットのみ(ステータス200–399、401、403、または405)を使用します。

**パブリックサブドメインテーブル**(Active後):

| 列 | ソース |
|--------|--------|
| サブドメイン、カテゴリ、IP | passiveスキャン / サブドメインのインポート |
| 写真 | キャプチャ時のgowitnessスクリーンショットリンク |
| ステータス | httpxステータスコード |
| Webサーバー | httpx/whatweb Serverヘッダー |
| タイトル / テクノロジー | httpxページタイトル(フィルタリング済み)+ httpx tech / whatwebプラグイン |

プライベートサブドメインテーブルは3列(サブドメイン、カテゴリ、プライベートIPアドレス)のままです。

`active-tech.py` は列間の重複データをマージして重複排除します。例えば、OpenSSLやmod_jkのバージョンがTechnologiesに既にリストされている場合はWeb Serverから削除され、`Microsoft IIS/10`は`IIS:10`が存在する場合は`Microsoft IIS`に短縮され、`Apache/2.4.37`は`Apache HTTP Server:2.4.37`が存在する場合は`Apache`に短縮され、Red HatなどのOS名がWeb Serverバナーに既に表示されている場合はTechnologiesから削除され、httpxの`Nginx`ラベルは`nginx`に正規化されます。

`tools/` 以下に書き込まれる成果物:

* `active-targets.txt` — httpxに送信されたパブリックホスト名
* `httpx.jsonl` — httpx JSON出力
* `active-alive.tsv` — aliveレスポンスのホスト、URL、ステータス
* `active.txt` — whatwebおよびgowitnessに送信されたalive URL
* `whatweb.json` — whatweb JSON出力
* `gowitness/screenshots/` — JPEGスクリーンショット
* `gowitness/gowitness.jsonl` および `gowitness/gowitness.db` — gowitnessメタデータ
* `software-cves-cache.json` — Activeレポート用のキャッシュされたNVD CVSS/CVEルックアップ

#### NVD APIキー(オプション、Active CVSS)

Activeリコンは、[National Vulnerability Database](https://nvd.nist.gov/) からのCVSSスコアとCVE IDで `pages/active.htm` の **Software versions** テーブルを強化できます。ルックアップは `recon/software-cve.py` に実装されています。

**キーなしの場合:** 強化は引き続き実行されますが、NVDの匿名レート制限が適用されます(遅くなります。リクエスト間におよそ数秒かかります)。

**キーありの場合:** 認証済みのレート制限(はるかに高速)。

**強化を完全にスキップ:**```
export DISCOVER_SKIP_CVE=1

無料のAPIキーを取得する

  1. キーをリクエスト: https://nvd.nist.gov/developers/request-an-api-key
  2. NISTから届くメールを確認する
  3. キーをDiscoverに提供する (シェルエクスポートおよび/またはプライベート.env — 下記参照)

Discoverがキーを見つける方法

優先順位 (リスト内でより上位にある空でない値が常に優先):

  1. シェル環境 — export NVD_API_KEY=...
  2. Discoverインストール内のプライベート.env — $DISCOVER/.env
  3. ホーム設定内のプライベート.env — ~/.discover/.env

.env行の例 (引用符不要):``` NVD_API_KEY=your-key-here

root@kitploit:~
* テンプレートをコピーします(上記のドキュメントにあるように、Discover が `~/discover` にあることを前提とします):
  `cp ~/discover/.env.example ~/discover/.env`
  または `mkdir -p ~/.discover && cp ~/discover/.env.example ~/.discover/.env`
* 別の場所にクローンした場合は、そのパス(または `$DISCOVER/.env.example`)を `~/discover` の代わりに使用します
* `.env` は gitignore されています。実際のキーをコミットしないでください
* `.env.example` はドキュメントとしてのみ追跡されます

**その他の便利な変数**

| 変数 | 目的 |
|----------|---------|
| `NVD_API_KEY` | CVSS検索を高速化するためのオプションのNVD APIキー |
| `DISCOVER_SKIP_CVE=1` | NVDクエリをスキップ;Softwareテーブルはバージョンを引き続き表示します |
| `DISCOVER_CVE_PROGRESS=1` | Active構築中に各製品のルックアップを表示します |

キャッシュファイル: `<report>/tools/software-cves-cache.json`(エンゲージメントごと;再実行ではキャッシュされた product:version 結果を再利用します)。CVSS値は NVD CPE マッチからの**トリアージの手がかり**であり、確認された所見ではありません — クライアントに報告する前に検証してください。

**CISA 既知の悪用された脆弱性 (KEV)**

Discover **Update**(メインメニューオプション16 / `misc/update.sh`)は、CISA KEV JSONカタログをDiscoverの `resource/` フォルダにダウンロードします:```
$DISCOVER/resource/known_exploited_vulnerabilities.json

(例:~/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で更新され、コミットされません)。

Active Software versionsテーブルでは、Top CVEは、製品のNVD CVEのいずれかがKEVカタログに含まれている場合、CISA KEVマッチを優先します(KEVの中で最高CVSSのものが選ばれます)。それ以外の場合、Top CVEは最高CVSSのNVD結果です。KEV選択では、リンクされたCVE IDの横にオレンジ色のKEVバッジが表示されます。

SECの役員情報(Namesページ)

米国上場企業の場合、Discoverは名前のマージステップの前にSEC EDGARから経営陣と取締役を取得します。

  1. DEF 14A — 委任状説明文と取締役会テーブル(正式な役職名を含む)
  2. Form 4 — 最近のインサイダー提出書類(役員および取締役を補完)
  • 結果はzsec-peopleに書き込まれ、既存のName、Title、Phone列(Phoneは空白)とともにtools/namesにマージされます。
  • SEC提出書類には、業務用メールや個人の電話番号は含まれていません。
  • Namesページのレイアウトは変更されません — メール列は追加されません。
  • 手動上書き:tools/sec-people-manual.tsv(タブ区切り:Name、Title、Phone)。

会社の本社所在地(Summaryページ)

受動的偵察中に、Discoverはpages/summary.htm上の会社名とドメインの間にある住所と電話番号ブロックの入力試行を行います。

  1. SEC EDGAR 10-K — 米国上場企業の場合、最新の10-K(インラインXBRLのdei:タグ)から主要な執行役員オフィスのフィールドを読み取ります。
  2. Website footer — 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 と表示されます。
  • ホームページがボットにブロックされた場合、スキャンの前後にtools/social-manual.tsv(タブ区切り:Platform、URL)にURLを追加します。

Person```

RECON

First name: Last name:

root@kitploit:~
* 複数のウェブサイトからの情報を統合します。

## スキャン
### ターゲットリストの生成```
SCANNING

1.  ARP scan
2.  Ping sweep
3.  Previous menu
  • さまざまなツール(Angry IP Scanner、arp-scan、netdiscover、Nmap pingsweep)を使用してターゲットリストを作成します。

CIDR、List、IP、Range、またはURL```

Type of scan:

  1. External
  2. Internal
  3. Previous menu
root@kitploit:~
* 外部スキャンは、Nmapのソースポートを53に設定し、max-rrt-timeoutを1500msに設定します。
* 内部スキャンは、Nmapのソースポートを88に設定し、max-rrt-timeoutを500msに設定します。
* Nmapは、ホスト検出、ポートスキャン、サービス列挙、OS識別に使用されます。
* 追加の列挙のために、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:

Firefoxで複数のタブを開く```

Open multiple tabs in Firefox with:

  1. List
  2. Files in a directory
  3. Directories in robots.txt
  4. Previous menu
root@kitploit:~
### Nikto

* 複数のIPやURLを含むリスト。
* Niktoを使って複数のWebサイトをスキャンし終えたら、ディレクトリ内にあるすべてのhtmレポートを開きたい場合。
* wgetを使用してドメインのrobot.txtファイルをダウンロードし、その後すべてのディレクトリを開きます。```
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:

root@kitploit:~
* 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
root@kitploit:~
### 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)。

開発

スキャン結果は、特に明記されていない限り、$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
root@kitploit:~
**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

フェーズ(フルスキャン): HTML/JS リンク抽出、ffuf/feroxbuster ファジング、パスプロービング、OpenAPI/Swagger 発見、GraphQL テスト(イントロスペクション、深さ、バッチング)、CORS(GET + プリフライト)、HTTP メソッドチェック、レート制限バースト、JWT 分析。

出力: $HOME/data/api-scan_<タイムスタンプ>/api_scanner/

  • report.txt および report.md — スキャナー固有の検出結果(Discover recon レポートには統合されません)
  • 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
root@kitploit:~
**CLI** (プロバイダーフラグが設定されている場合にメニューをスキップします):```
./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

結果は $HOME/data/cloud-scan_YYYYMMDD-HHMM/(または --output-dir)の下に書き込まれます:

  • findings_registry.tsv — 重要度、プロバイダ、サービス、リソース、チェック、詳細、証拠
  • findings.json — すべての検出結果の統合JSONエクスポート
  • report.txt / report.md — スキャナローカルの集計(Discoverの偵察レポートにはマージされません)
  • scan.log — APIアクティビティと検出結果ログ
  • .checkpoint/ — --resume用のフェーズマーカー

スキャン前に、jqと関連するクラウドCLI(aws、az、gcloud/gsutil)が必要で、認証情報が設定されている必要があります。スキャナはCLIを自動インストールしたり、対話型のaws configure / gcloud initを実行したりしません。直接実行した場合、f_banner / メニューヘルパーのためにdiscover.shをソースします。

Container Security Scanner (dev/container-scanner.sh)

Trivy、Docker、kubectlを使用した包括的なDockerおよびKubernetesセキュリティ評価。スタンドアロン出力は$HOME/data/container-scan_*の下(Discoverの偵察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 and JWT Security Scanner (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ライブ — --jwt-endpointに対するオプションのBearerテスト(発見時に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

root@kitploit:~
**オプション:** `--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`(ワンホップフォロー付き)、メタリフレッシュ、JavaScript/ボディリダイレクトを検出します。フルモードではPOSTおよびヘッダープローブを追加します。確認パスでは2つ目のカナリーホストを使用して誤検出を低減します。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, , ,

出力: 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)

シークレット、認証情報、個人識別情報(PII)をローカルファイル/ディレクトリおよび露出したWebパス内で探します。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によるファイルごとの1パス; 拒否リスト、スキップグロブ、エントロピーフィルター、Luhn/SSN/TC検証; オプションのgitleaks/trufflehog(--external auto)
  • Webスキャン — 並列ワーカー/RPS、パスごとのチェックポイント再開、robots disallow + sitemapパス、api-scannerエンドポイントインポート、ソフト404ガード、ディレクトリリスティング検出、HTTP 200ボディに対する深いfilescan.py
  • api-scannerフック — インライン応答チェックはfilescan.pyを使用; オーケストレーターはベアラートークンで--allを自動起動可能
  • レポート — 重複排除された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

root@kitploit:~
**オプション:** `--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ヘッダーの裏付けが必要です。
* **統合された検出結果** — ベンダーごとに1行で、信頼度(`high`/`medium`/`low`)、ソース、タイプ(`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

Options: --url, --file, --output-dir, --resume, --passive, --i-understand, --waf-only, --insecure, --no-redirect, --proxy, --delay, --max-targets, --workers, --wafw00f, --supplemental, , , ,

Output: 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_* の下に生成されます。

  • Tiers — passive (偵察) | standard/--quick (偵察 + 技術スキャナー) | intrusive (+ SQLi/ブルートフォース) | 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 用)

メニュー: URL をスキャン (デフォルトはパッシブ) または前のメニュー。

Examples:``` ./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

root@kitploit:~
**Options:** `--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`

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

**依存関係:** `curl`, `jq`, `grep`, `msfconsole`;MSF DB には PostgreSQL 推奨(`--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. 値をウェブサイトのチェックサムと比較する。

## Kali を VirtualBox または Windows Subsystem for Linux(WSL)で実行する

一部のユーザーは、WSL ではなく VMware イメージを使用することで問題が解決したと報告しています。

また、VirtualBox でベアメタル Kali ISO を直接実行する代わりに、既製の VirtualBox Kali イメージを使用する際に問題が発生したという報告もあります。
(https://www.kali.org/get-kali/#kali-bare-metal)

Kali の実行に VMware Workstation を使用できない/使用したくない場合は、VirtualBox のゲスト VM として Kali ISO を実行してみることをお勧めします。

1. Kali が提供するベアメタル ISO をダウンロードする。
2. ISO のハッシュを確認する(上記参照)。
3. VirtualBox 内で、ベアメタル Kali ISO を使用して新しい Kali VM を起動する。

インストール中に、いくつかの[基本的なインストール手順](https://www.kali.org/docs/installation/hard-disk-install/)への入力が必要になります。

注意:ベアメタル ISO のセットアップ後に root へのアクセスに問題がある場合は、以下を参照してください。
https://linuxconfig.org/how-to-reset-kali-linux-root-password
ツールをダウンロード
フラグ目的
--quick発見と文書化のみ
--full全フェーズ(デフォルト)
--orchestrateフルスキャン後、関連スキャナーのプロンプト表示
--token認証済みリクエストのためのベアラートークン
--cookie-fileNetscape クッキージャー
--max-parallel N同時実行ワーカー数(デフォルト: 3)
--max-endpoints Nマージ後にテストするエンドポイントの上限
--skip PHASEフェーズをスキップ(繰り返し可能)
--resume DIR既存の出力ディレクトリを使用して再開
--authorized認可確認プロンプトをスキップ
--aggressive-httpTRACE/CONNECT メソッドテストを含める
Flag目的
--aws / --azure / --gcp1つのプロバイダを実行(複数の場合は組み合わせ)
--quick露出に焦点を当てたチェック(パブリックアクセス、MFA、オープンイングレス)
--fullIAMの詳細調査、マルチリージョンのEC2/SG、追加項目を含む包括的な監査
--output-dir DIRカスタム出力ディレクトリ
--resume DIR既存のスキャンディレクトリを使用して再開(完了済みフェーズをスキップ)
-h, --help使用方法を表示
--resume
--menu
-h
--input-format
--quiet
--menu
-h
  • 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 DB — デフォルトでは確認のみ; --msf-db-bootstrap でオプトインセットアップ