4 KiB
{% hint style="success" %}
Ucz się i praktykuj Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i praktykuj Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wesprzyj HackTricks
- Sprawdź plany subskrypcji!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.
Podsumowanie ataku
Wyobraź sobie serwer, który podpisuje pewne dane, dodając do nich tajny klucz i następnie haszując te dane. Jeśli znasz:
- Długość tajnego klucza (można to również przeprowadzić metodą brutalnej siły w określonym zakresie długości)
- Dane w postaci tekstu jawnego
- Algorytm (podatny na ten atak)
- Padding jest znany
- Zazwyczaj używany jest domyślny, więc jeśli spełnione są pozostałe 3 wymagania, to również jest znany
- Padding różni się w zależności od długości tajnego klucza+danych, dlatego potrzebna jest długość tajnego klucza
W takim przypadku atakujący może dodać dane i wygenerować poprawny podpis dla poprzednich danych + dodanych danych.
Jak to działa?
W podatnych algorytmach haszowanie odbywa się poprzez najpierw zahaszowanie bloku danych, a następnie, z wcześniej utworzonego hasza (stanu), dodanie następnego bloku danych i ponowne zahaszowanie.
Wyobraź sobie, że tajny klucz to "tajny" a dane to "dane", MD5 z "tajnydane" to 6036708eba0d11f6ef52ad44e8b74d5b.
Jeśli atakujący chce dodać ciąg znaków "dodaj" może:
- Wygenerować MD5 z 64 "A"
- Zmienić stan wcześniej zainicjowanego hasha na 6036708eba0d11f6ef52ad44e8b74d5b
- Dodać ciąg znaków "dodaj"
- Zakończyć haszowanie, a wynikowy hash będzie poprawny dla "tajny" + "dane" + "padding" + "dodaj"
Narzędzie
{% embed url="https://github.com/iagox86/hash_extender" %}
Referencje
Możesz znaleźć dobrze wyjaśniony ten atak na stronie https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks
{% hint style="success" %}
Ucz się i praktykuj Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i praktykuj Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wesprzyj HackTricks
- Sprawdź plany subskrypcji!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.