mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-25 22:20:43 +00:00
7.6 KiB
7.6 KiB
UUID Insecurities
ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
- HackTricksで企業を宣伝したいまたはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS&HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTのコレクションを見つける
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦で私たちをフォローする @carlospolopm。
- ハッキングトリックを共有するために HackTricksとHackTricks CloudのgithubリポジトリにPRを提出する
基本情報
ユニバーサルユニーク識別子(UUID)は、コンピュータシステムで情報を一意に識別するために使用される128ビットの番号です。 UUIDは、一意の識別子が中央調整なしで必要なアプリケーションで不可欠です。データベースキーとして一般的に使用され、ドキュメントやセッションなどのさまざまな要素を参照できます。
UUIDは一意で推測しにくいように設計されています。特定の形式で構造化され、32桁の16進数で表される5つのグループに分かれています。異なるバージョンのUUIDがあり、それぞれ異なる目的を果たしています:
- UUID v1は時間ベースで、タイムスタンプ、クロックシーケンス、およびノードID(MACアドレス)を組み込んでいますが、システム情報を公開する可能性があります。
- UUID v2はv1に似ていますが、ローカルドメイン向けの変更が含まれています(あまり使用されません)。
- UUID v3およびv5は、名前空間と名前からハッシュ値を使用してUUIDを生成し、v3はMD5を使用し、v5はSHA-1を使用します。
- UUID v4はほぼ完全にランダムに生成され、高い匿名性を提供しますが、わずかな重複のリスクがあります。
{% hint style="success" %}
UUIDのバージョンとサブバージョンは通常、UUID内の同じ位置に表示されます。例えば:
12345678 - abcd - 1a56 - a539 - 103755193864
xxxxxxxx - xxxx - Mxxx - Nxxx - xxxxxxxxxxxx
- Mの位置はUUIDのバージョンを示します。上記の例では、UUID v1です。
- Nの位置はUUIDのバリアントを示します。 {% endhint %}
サンドイッチ攻撃
"サンドイッチ攻撃"は、特にパスワードリセットなどの機能でUUID v1の生成の予測可能性を悪用する特定のタイプの攻撃です。 UUID v1は時間、クロックシーケンス、およびノードのMACアドレスに基づいて生成されるため、攻撃者がこれらのUUIDのいくつかを時間の近い範囲で取得できれば、それをある程度予測可能にする可能性があります。
例
UUID v1をパスワードリセットリンクの生成に使用するWebアプリケーションを想像してみてください。攻撃者がこれを悪用して不正アクセスを得る方法は次のとおりです:
- 初期設定:
- 攻撃者は2つの電子メールアカウントをコントロールしています:`attacker1@acme.com`と`attacker2@acme.com`。
- ターゲットの電子メールアカウントは`victim@acme.com`です。
- 実行:
- 攻撃者は最初のアカウント(`attacker1@acme.com`)のパスワードリセットをトリガーし、UUID付きのパスワードリセットリンクを受け取ります。例えば`99874128-7592-11e9-8201-bb2f15014a14`とします。
- 直後に、攻撃者はターゲットのアカウント(`victim@acme.com`)のパスワードリセットをトリガーし、その後すぐに2番目の攻撃者がコントロールするアカウント(`attacker2@acme.com`)のパスワードリセットをトリガーします。
- 攻撃者は、2番目のアカウントのリセットリンクをUUID付きで受け取り、例えば`998796b4-7592-11e9-8201-bb2f15014a14`とします。
- 分析:
- 攻撃者は今、時間の近い範囲で生成された2つのUUID(`99874128`および`998796b4`)を持っています。時間ベースのUUIDの連続的な性質を考えると、ターゲットのアカウントのUUIDはおそらくこれらの2つの値の間にあるでしょう。
- ブルートフォース攻撃:
- 攻撃者は、これらの2つの値の間でUUIDを生成するツールを使用し、生成された各UUIDをテストしてパスワードリセットリンクにアクセスを試みます(例:`https://www.acme.com/reset/<generated-UUID>`)。
- Webアプリケーションがこのような試行を十分にレート制限したりブロックしない場合、攻撃者は範囲内のすべての可能なUUIDを迅速にテストできます。
- アクセスが得られる:
- ターゲットのパスワードリセットリンクの正しいUUIDが見つかると、攻撃者はターゲットのパスワードをリセットし、そのアカウントに不正アクセスできます。
ツール
- このサンドイッチ攻撃を自動的に実行するために、ツールを使用できます:https://github.com/Lupin-Holmes/sandwich
- 拡張機能UUID Detectorを使用して、Burp SuiteでこのタイプのUUIDを検出できます。
参考文献
ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
- HackTricksで企業を宣伝したいまたはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS&HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTのコレクションを見つける
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦で私たちをフォローする @carlospolopm。
- ハッキングトリックを共有するために HackTricksとHackTricks CloudのgithubリポジトリにPRを提出する