4.2 KiB
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
攻撃の概要
サーバーがあるデータに秘密を追加し、そのデータをハッシュ化して署名していると想像してください。以下を知っている場合:
- 秘密の長さ(これは与えられた長さ範囲からもブルートフォースできる)
- クリアテキストデータ
- アルゴリズム(およびこの攻撃に対して脆弱である)
- パディングが既知
- 通常、デフォルトのものが使用されるため、他の3つの要件が満たされている場合、これも満たされる
- パディングは秘密+データの長さに応じて異なるため、秘密の長さが必要
その後、攻撃者はデータを追加し、以前のデータ+追加されたデータの有効な署名を生成することが可能です。
方法
基本的に、脆弱なアルゴリズムは、まずデータのブロックをハッシュ化し、その後、以前に作成されたハッシュ(状態)から、次のデータのブロックを追加してハッシュ化します。
その後、秘密が「secret」でデータが「data」であると想像してください、「secretdata」のMD5は6036708eba0d11f6ef52ad44e8b74d5bです。
攻撃者が文字列「append」を追加したい場合:
- 64個の「A」のMD5を生成
- 以前に初期化されたハッシュの状態を6036708eba0d11f6ef52ad44e8b74d5bに変更
- 文字列「append」を追加
- ハッシュを完了し、結果のハッシュは「secret」+「data」+「パディング」+「append」に対して有効なものになります
ツール
{% embed url="https://github.com/iagox86/hash_extender" %}
参考文献
この攻撃について詳しく説明されているhttps://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.