Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kiterunner — 高速なAPIおよびWebコンテンツ発見ツール。コンパイル済みSwaggerデータセットを使用してルートをブルートフォースし、深度スキャン、カスタムワードリスト、同時ホストスキャンをサポートします。 | Kitploit
ツール/GitHubGitHub/assetnote/kiterunner
偵察ウェブ脆弱性スキャナー動的コード分析 (DAST)ウェブアプリケーション悪用APIセキュリティテスト情報収集ウェブセキュリティAPIセキュリティAPIセキュリティ 第1位APIセキュリティテスト 第1位
3.2k340415年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
動的コード分析 (DAST) 第14位
ウェブアプリケーション悪用 第15位
ウェブセキュリティ 第14位
ウェブ脆弱性スキャナー 第14位
GitHubassetnote/kiterunner

kiterunner

高速なAPIおよびWebコンテンツ発見ツール。コンパイル済みSwaggerデータセットを使用してルートをブルートフォースし、深度スキャン、カスタムワードリスト、同時ホストスキャンをサポートします。

リポジトリを見る

Kiterunner

GoDoc GitHub release Go Report Card

はじめに

長い間、コンテンツディスカバリーはファイルやフォルダを見つけることに焦点が当てられてきました。このアプローチは、静的ファイルをホストしたり、部分的なパスに対して3xxで応答する従来のWebサーバーには効果的ですが、現代のWebアプリケーション、特にAPIではもはや有効ではありません。

時間の経過とともに、より大きなワードリストを使用できるようにコンテンツディスカバリーツールを高速化するために多くの時間が投資されてきましたが、コンテンツディスカバリーの技術そのものは革新されてきませんでした。

Kiterunnerは、従来のコンテンツディスカバリーを電光石火の速さで実行できるだけでなく、現代のアプリケーションにおけるルート/エンドポイントのブルートフォースも実行できるツールです。

Flask、Rails、Express、Djangoなどの現代的なアプリケーションフレームワークは、特定のHTTPメソッド、ヘッダー、パラメーター、値を期待するルートを明示的に定義するパラダイムに従っています。

従来のコンテンツディスカバリーツールを使用する場合、そのようなルートは見逃されることが多く、簡単に発見できません。

Swagger仕様のデータセットを収集し、独自のスキーマに凝縮することで、Kiterunnerはこのデータセットを使用して、送信する各リクエストに正しいHTTPメソッド、ヘッダー、パス、パラメーター、値を送信することでAPIエンドポイントをブルートフォースできます。

Swaggerファイルは、インターネット規模のスキャンで40以上の最も一般的なswaggerパスを対象とするなど、複数のデータソースから収集されました。その他のデータソースには、GitHub via BigQueryやAPIs.guruが含まれます。

目次

  • Kiterunner
  • はじめに
  • インストール
    • リリースのダウンロード
    • ソースからのビルド
    • AUR経由のインストール
  • 使い方
    • クイックスタート
    • CLIヘルプ
    • 入力/ホストのフォーマット
    • APIスキャン
    • バニラブルートフォース
    • Dirsearchブルートフォース
  • 技術的特徴
    • 深さスキャン
    • Assetnoteワードリストの使用
      • Head構文
    • 並行性設定/高速化
    • ファイル形式間の変換
    • リクエストの再生
  • 技術的実装
    • 中間データ型(PRoutes)
    • Kiteファイル形式

インストール

リリースのダウンロード

プリビルドされたコピーは https://github.com/assetnote/kiterunner/releases からダウンロードできます。

ソースからのビルド```bash

build the binary

make build

symlink your binary

ln -s $(pwd)/dist/kr /usr/local/bin/kr

compile the wordlist

kr kb compile <input.json> <output.kite>

kr kb compile routes.json routes.kite

scan away

kr scan hosts.txt -w routes.kite -x 20 -j 100 --ignore-length=1053

JSONデータセットは以下にあります:

- [routes-large.json](https://wordlists-cdn.assetnote.io/rawdata/kiterunner/routes-large.json.tar.gz) (圧縮時118MB、展開時2.6GB)
- [routes-small.json](https://wordlists-cdn.assetnote.io/rawdata/kiterunner/routes-small.json.tar.gz) (圧縮時14MB、展開時228MB)

あるいは、以下のリンクからコンパイル済みの`.kite`ファイルをダウンロードすることもできます:

- [routes-large.kite](https://wordlists-cdn.assetnote.io/data/kiterunner/routes-large.kite.tar.gz) (圧縮時40MB、展開時183MB)
- [routes-small.kite](https://wordlists-cdn.assetnote.io/data/kiterunner/routes-small.kite.tar.gz) (圧縮時2MB、展開時35MB)

## AUR
Archベースのディストリビューションを使用しているユーザーは、[AUR](https://aur.archlinux.org/packages/kiterunner-bin/)からビルド済みバイナリをダウンロードできます。
`yay` などの「AURヘルパー」を使用してkiterunnerをインストールできます。```
yay -S kiterunner-bin

使い方

クイックスタート```

kr [scan|brute] [flags]

- `<input>` はファイル、ドメイン、またはURIにすることができます。こちらで判断します。詳細は [Input/Host Formatting](#inputhost-formatting) を参照してください。```
# Just have a list of hosts and no wordlist
kr scan hosts.txt -A=apiroutes-210328:20000 -x 5 -j 100 --fail-status-codes 400,401,404,403,501,502,426,411

# You have your own wordlist but you want assetnote wordlists too
kr scan target.com -w routes.kite -A=apiroutes-210328:20000 -x 20 -j 1 --fail-status-codes 400,401,404,403,501,502,426,411

# Bruteforce like normal but with the first 20000 words
kr brute https://target.com/subapp/ -A=aspx-210328:20000 -x 20 -j 1

# Use a dirsearch style wordlist with %EXT%
kr brute https://target.com/subapp/ -w dirsearch.txt -x 20 -j 1 -exml,asp,aspx,ashx -D

CLI ヘルプ```

Usage: kite scan [flags]

Flags: -A, --assetnote-wordlist strings use the wordlists from wordlist.assetnote.io. specify the type/name to use, e.g. apiroutes-210228. You can specify an additional maxlength to use only the first N values in the wordlist, e.g. apiroutes-210228;20000 will only use the first 20000 lines in that wordlist --blacklist-domain strings domains that are blacklisted for redirects. We will not follow redirects to these domains --delay duration delay to place inbetween requests to a single host --disable-precheck whether to skip host discovery --fail-status-codes ints which status codes blacklist as fail. if this is set, this will override success-status-codes --filter-api strings only scan apis matching this ksuid --force-method string whether to ignore the methods specified in the ogl file and force this method -H, --header strings headers to add to requests (default [x-forwarded-for: 127.0.0.1]) -h, --help help for scan --ignore-length strings a range of content length bytes to ignore. you can have multiple. e.g. 100-105 or 1234 or 123,34-53. This is inclusive on both ends --kitebuilder-full-scan perform a full scan without first performing a phase scan. -w, --kitebuilder-list strings ogl wordlist to use for scanning -x, --max-connection-per-host int max connections to a single host (default 3) -j, --max-parallel-hosts int max number of concurrent hosts to scan at once (default 50) --max-redirects int maximum number of redirects to follow (default 3) -d, --preflight-depth int when performing preflight checks, what directory depth do we attempt to check. 0 means that only the docroot is checked (default 1) --profile-name string name for profile output file --progress a progress bar while scanning. by default enabled only on Stderr (default true) --quarantine-threshold int if the host return N consecutive hits, we quarantine the host as wildcard. Set to 0 to disable (default 10) --success-status-codes ints which status codes whitelist as success. this is the default mode -t, --timeout duration timeout to use on all requests (default 3s) --user-agent string user agent to use for requests (default "Chrome. Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36") --wildcard-detection can be set to false to disable wildcard redirect detection (default true)

Global Flags: --config string config file (default is $HOME/.kiterunner.yaml) -o, --output string output format. can be json,text,pretty (default "pretty") -q, --quiet quiet mode. will mute unecessarry pretty text -v, --verbose string level of logging verbosity. can be error,info,debug,trace (default "info")

bruteforce フラグ (上記のすべてのフラグ +)```
  -D, --dirsearch-compat              this will replace %EXT% with the extensions provided. backwards compat with dirsearch because shubs loves him some dirsearch
  -e, --extensions strings            extensions to append while scanning
  -w, --wordlist strings              normal wordlist to use for scanning

入力/ホストのフォーマット

入力が提供されると、kiterunnerは以下の順序で入力を解決しようとします:

  1. 入力がファイルかどうか。もしファイルなら、そのファイル内のすべての行を別々のドメインとして読み込みます
  2. 入力は「ドメイン」として扱われます

たとえば「ドメイン」として google.com を指定した場合、それが現在のディレクトリにテキストファイルとしても存在するときは、 先に見つかったテキストファイル google.com を読み込みます。

ドメインの解析

ツールをダウンロード