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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
echteeteepee — James Kettle氏の(CVE-2025-32094)「HTTP/1.1 must die: the desync endgame」をテストするためのGoツールとNucleiテンプレート | Kitploit
ツール/GitHubGitHub/perplext/echteeteepee
脆弱性スキャナー動的分析 (サンドボックス)ウェブセキュリティファジングペネトレーションテスト学習と教育
GitHubperplext/echteeteepee

echteeteepee

James Kettle氏の(CVE-2025-32094)「HTTP/1.1 must die: the desync endgame」をテストするためのGoツールとNucleiテンプレート

リポジトリを見る
511年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

HTTP/1 Desync 脆弱性テストツール

このリポジトリには、James Kettle(PortSwigger)による画期的な研究に基づき、HTTP/1 リクエストスマグリング(desync)脆弱性を検出するための防御的セキュリティツールが含まれています。

研究の帰属

この成果は、以下の技術に直接触発され、実装しています:

  • 「HTTP/1 Must Die」 by James Kettle(PortSwigger Research)
    • 元の研究: https://portswigger.net/research/http1-must-die
    • 研究者: James Kettle(@albinowax)
    • 所属: PortSwigger Web Security

これらのツールに実装された攻撃パターン、技術、検出手法は、主要なウェブインフラストラクチャプロバイダーにわたる HTTP/1.1 プロトコル実装の根本的な欠陥を明らかにした James Kettle の先駆的な研究に基づいています。

研究の影響

James Kettle の研究は、以下に影響する脆弱性を実証しました:

  • Cloudflare、T-Mobile、GitLab、Netlify、Akamai
  • バグ報奨金として35万ドル以上を獲得
  • ウェブ全体の重要なインフラストラクチャ修正につながった

概要

HTTP/1.1 の曖昧なリクエスト境界定義は、James Kettle が「極度の曖昧さ」と呼んだ、リクエストの開始と終了に関する問題を引き起こします。これにより、フロントエンドとバックエンドのサーバー間でパーサーの不整合が生じ、高度なリクエストスマグリング攻撃が可能になります。これらのツールは、防御的セキュリティテストのためにそのような脆弱性を特定するのに役立ちます。

含まれるツール

1. Go テストツール(http1-desync-test.go)

複数の攻撃パターンを実装した、包括的な HTTP/1 desync 脆弱性テスターです。

特徴

  • V-H(Visible-Hidden)Desync: 可視・非表示のパーサー不整合をテスト
  • 0.CL(Zero Content-Length)Desync: Content-Length: 0 の処理の違いを悪用
  • Expect ヘッダー Desync: リクエストスマグリングに Expect: 100-continue を使用
  • Double-Desync: レスポンスキューポイズニングの脆弱性をテスト
  • CL.TE Desync: Content-Length と Transfer-Encoding の競合をテスト

インストール

root@kitploit:~
# リポジトリのクローン
git clone https://github.com/nconsolo/echteeteepee.git
cd echteeteepee

# 依存関係のインストール
go mod download

# ツールのビルド
go build -o http1-desync-test http1-desync-test.go

使用方法

root@kitploit:~
# すべての攻撃パターンをテスト
./http1-desync-test -target https://example.com

# 特定の攻撃パターンをテスト
./http1-desync-test -target https://example.com -test vh

# 詳細出力を有効にする
./http1-desync-test -target https://example.com -verbose

# カスタムタイムアウトを設定
./http1-desync-test -target https://example.com -timeout 10s

コマンドラインオプション

  • -target: ターゲット URL(必須)
  • -test: テストタイプ: all、vh、0cl、expect、double、clte(デフォルト: all)
  • -timeout: リクエストタイムアウト(デフォルト: 5s)
  • -verbose: 生のリクエスト/レスポンスを表示する詳細出力を有効化

2. Nuclei テンプレート(nuclei-templates/http1-desync.yaml)

大規模に HTTP/1 desync 脆弱性を検出するための Nuclei 自動スキャンテンプレートです。

インストール

root@kitploit:~
# Nuclei のインストール(未インストールの場合)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# テンプレートを Nuclei テンプレートディレクトリにコピー
cp nuclei-templates/http1-desync.yaml ~/.nuclei-templates/

使用方法

root@kitploit:~
# 単一ターゲットのスキャン
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml

# 複数ターゲットのスキャン
nuclei -l targets.txt -t nuclei-templates/http1-desync.yaml

# レート制限付きスキャン
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml -rl 10

攻撃パターンの解説

すべての攻撃パターンは James Kettle の研究結果と実証済みの悪用技術に基づいています。

V-H(Visible-Hidden)Desync

出典: James Kettle の「HTTP/1 Must Die」研究
フロントエンドプロキシがあるリクエスト境界を認識する一方で、バックエンドサーバーが別の境界を認識するという不整合を悪用します。攻撃ペイロードは、フロントエンドにはヘッダーデータに見えるものの中に隠れたリクエストを埋め込みますが、バックエンドはそれを独立したリクエストとして解釈します。

研究からの例: 主要な CDN プロバイダーにおけるパーサーの違いを実証するために使用されました。

0.CL(Zero Content-Length)Desync

出典: James Kettle の IIS および T-Mobile 脆弱性の発見
サーバー間での Content-Length: 0 ヘッダーの解釈の違いを利用します。一部のサーバーは CL=0 の場合にボディを無視しますが、他のサーバーはそれを処理するため、リクエスト境界の混乱を引き起こします。

実際の影響: IIS サーバーおよび T-Mobile インフラストラクチャに対して実際に悪用されました。

Expect ヘッダー Desync

出典: James Kettle の T-Mobile および LastPass 研究
フロントエンドとバックエンドが継続処理を異なる方法で扱う Expect: 100-continue メカニズムを悪用します。これにより、フロントエンドが 100-continue レスポンスを待っている間にリクエストをスマグリングする機会が生まれます。

研究背景: T-Mobile および LastPass の認証システムに対して実証されました。

Double-Desync(レスポンスキューポイズニング)

出典: James Kettle の高度な desync 手法
複数の desync 攻撃を連鎖させてレスポンスキューを汚染し、攻撃者が他のユーザーが受け取るレスポンスを制御できるようにします。これは研究の中で最も高度な攻撃の一つです。

重要な発見: 正規ユーザーに悪意のあるレスポンスを配信することで、サイトの完全な乗っ取りを可能にします。

CL.TE / TE.CL 競合

出典: James Kettle による中核的な HTTP/1.1 曖昧さの研究
Content-Length と Transfer-Encoding: chunked ヘッダーの間の競合を悪用します。サーバーによってこれらのヘッダーの優先順位が異なり、リクエストスマグリングを可能にするパーサーの不整合が生じます。

基礎: これらの競合は、James Kettle が HTTP/1.1 仕様で特定した根本的な欠陥を表しています。

検出指標

James Kettle の研究方法論に基づき、これらのツールは以下を探します:

主要な指標(元の研究から)

  • 予期しない 404/403/401 レスポンス: スマグリングされたリクエストが不正なエンドポイントに到達したことを示します
  • admin/制限付きパスを含むレスポンス: 保護された領域へのリクエストスマグリングの成功を示唆します
  • 単一接続内の複数の HTTP レスポンス: レスポンスキューポイズニングの兆候
  • パーサーエラーレスポンス(400 Bad Request): desync 混乱の成功を示す可能性があります

高度な検出方法

  • レスポンスタイミングの異常: サーバー側の処理混乱を示唆する遅延
  • コンテンツ長の不一致: 正しくないボディ長を持つレスポンス
  • ヘッダーインジェクションの痕跡: レスポンス内にスマグリングされたヘッダーの証拠
  • キャッシュポイズニングの指標: 他のユーザーに影響を与える予期しないキャッシュレスポンス

脆弱性の重大度評価

James Kettle の影響分類に従います:

  • 重大(Critical): ユーザーになりすましを可能にするレスポンスキューポイズニング
  • 高(High): 管理エンドポイントへのリクエストスマグリング
  • 中(Medium): 悪用の証明がないパーサーの不整合
  • 低(Low): セキュリティ影響のない良性の desync 動作

責任ある使用

これらのツールは以下を目的としています:

  • 認可されたシステムに対する防御的セキュリティテスト
  • 適切な許可を得た脆弱性評価
  • 制御された環境でのセキュリティ研究

以下の目的でこれらのツールを使用しないでください:

  • 所有していない、またはテストの許可がないシステムに対して
  • 悪意のある目的または不正アクセスのために
  • 適切な予防策なしに本番環境で

技術的な実装詳細

接続管理

James Kettle の方法論に従い、ツールは desync 状態を適切にテストするために永続的な HTTP/1.1 接続を維持します。各テストは単一の TCP 接続を作成し、パーサーの違いを観察するために複数のリクエストを送信します。

リクエストの作成

攻撃ペイロードは、James Kettle が研究で使用した正確なパターンに基づいて慎重に作成され、彼が文書化したサーバー動作との互換性を確保しています。

レスポンス分析

検出ロジックは、James Kettle が 35万ドル以上のバグ報奨金研究で成功した desync 攻撃を特定するために使用したのと同じ指標を実装しています。

脆弱性の影響と修復

James Kettle の発見と推奨事項に基づきます:

影響のカテゴリ

  1. サイトの完全な乗っ取り: レスポンスキューポイズニングによる
  2. 認証情報の窃取: 認証エンドポイントへのリクエストスマグリングによる
  3. キャッシュポイズニング: 正規ユーザーへの悪意のあるコンテンツの配信
  4. 権限昇格: スマグリングされたリクエストによる管理エンドポイントへのアクセス

修復戦略(James Kettle による)

  1. 主要な解決策: アップストリーム接続を HTTP/2 に移行する
  2. 中間的な対策: HTTP リクエスト正規化を有効にする
  3. 検出: 定期的な desync 脆弱性スキャンの展開
  4. 監視: 接続レベルの異常検出の実装

テストに関する推奨事項

  • サービスを中断しないようにメンテナンス時間帯にテストする
  • 本番システムをスキャンする際はレート制限を使用する
  • 大規模なテストの前にセキュリティチームと調整する
  • James Kettle の脆弱性分類を使用して発見事項を文書化する

参考資料とクレジット

主要な研究

  • 「HTTP/1 Must Die」 - James Kettle(PortSwigger Research) https://portswigger.net/research/http1-must-die
  • 「HTTP Desync Attacks: Request Smuggling Reborn」 - James Kettle https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn
  • Black Hat USA 2019 プレゼンテーション - James Kettle 「HTTP Desync Attacks: Smashing into the Cell Next Door」

追加リソース

  • HTTP Request Smuggling - PortSwigger Academy
  • Burp Suite HTTP Request Smuggler Extension
  • CWE-444: Inconsistent Interpretation of HTTP Requests

ツールのクレジット

  • James Kettle(@albinowax): 元の研究と攻撃方法論
  • PortSwigger: 研究の公開と HTTP Request Smuggler ツール
  • ProjectDiscovery: Nuclei スキャンフレームワーク

ライセンス

MIT ライセンス - 詳細は LICENSE ファイルを参照してください

免責事項

これらのツールは、教育および防御的なセキュリティ目的でのみ提供されます。ユーザーは、システムをテストする前に適切な認可を確保する責任があります。著者は、これらのツールの誤用またはそれによって引き起こされた損害について一切の責任を負いません。

ツールをダウンロード