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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Simple-Sweet32 — 誕生日のパラドックスに基づく暗号攻撃の簡易版: Sweet32 (CVE-2016-2183) | Kitploit
ツール/GitHubGitHub/zakyhermawan/simple-sweet32
脆弱性分析エクスプロイト暗号化ペネトレーションテスト学習と教育
GitHubzakyhermawan/simple-sweet32

Simple-Sweet32

誕生日のパラドックスに基づく暗号攻撃の簡易版: Sweet32 (CVE-2016-2183)

リポジトリを見る
8ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Sweet32

これはSweet32攻撃(CVE-2016-2183)のデモンストレーションです:https://sweet32.info/

この攻撃は、CBCモードで3DESやBlowfishなど、ブロックサイズが小さい(64ビット)暗号アルゴリズムを悪用する誕生日攻撃の一例です。 攻撃には、既知平文を持つ暗号化ブロックを大量に生成する必要があります。生成後、同一の暗号化ブロックを特定し、未知の平文ブロックの平文値を特定するために利用できます。

この実装では、暗号アルゴリズムとして 3DES (Triple DES) を使用しています。これは64ビット(8バイト)のブロックサイズを持ち、実世界の3DESがSweet32攻撃に対して脆弱となるのと同じブロックサイズです。

攻撃の公式 (Beastly Attack)

2つの暗号文ブロックが衝突した場合(c_i = c_j)、次の式を使用して未知の平文を復元できます:

root@kitploit:~
p_i = p_j ⊕ c_{i-1} ⊕ c_{j-1}

ここで:

  • p_i は未知の平文(例:秘密のクッキー)
  • p_j は既知の平文(例:HTTPヘッダー)
  • c_{i-1} と c_{j-1} は前の暗号文ブロック

これは、CBCモードでは衝突がブロック暗号への入力が等しいことを意味し、暗号化鍵を知らなくてもXORによる復元が可能になるためです。

クイックデモ

保証された衝突を用いてデモを実行します:

root@kitploit:~
# Step 1: Generate encrypted packet with secret cookie
python generate_rigged_packets.py rigged_demo.bin

# Step 2: Execute the attack to recover the cookie
python sweet32.py --block-size 8 rigged_demo.bin

この攻撃はSECRET COOKIEの値を表示し、その後、暗号文のみを使用してそれを復元します!

スクリプト

generate_rigged_packets.py

デモンストレーション用に保証された衝突を含むパケットを作成します。 クッキーの値は、既知平文ブロックと衝突するように細工されています。

sweet32.py

Sweet32誕生日攻撃を実行してクッキーを復元します。

Sweet32について

Sweet32攻撃は誕生日のパラドックスを利用します。64ビットブロック暗号の場合:

  • 約2^32ブロック(約32GBのデータ)後、衝突が発生しやすくなります
  • 2つの暗号文ブロックが衝突すると、それらをXORすることで平文のXORが明らかになります
  • 一方の平文が既知であれば、もう一方を復元できます

これにより、長時間持続するHTTPSセッションでは3DES(および他の64ビットブロック暗号)が脆弱になります。

統計

実際のSweet32攻撃(3DES、64ビットブロック)の場合:

ブロックサイズブロックサイズパケット数必要なデータ量ブロック数
8バイト64ビット~785GB~785GB~2^32ブロック

実際の攻撃では、同じ鍵で約785GBのデータを暗号化する必要があり、そのため主に長時間持続するHTTPS接続に影響を及ぼします。

ツールをダウンロード