5.4 KiB
{% hint style="success" %}
Učite i vežbajte hakovanje AWS-a:HackTricks Obuka AWS Crveni Tim Stručnjak (ARTE)
Učite i vežbajte hakovanje GCP-a: HackTricks Obuka GCP Crveni Tim Stručnjak (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @hacktricks_live.
- Delite trikove hakovanja slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
CBC
Ako je kolačić samo korisničko ime (ili je prvi deo kolačića korisničko ime) i želite da se predstavite kao korisnik "admin". Tada možete kreirati korisničko ime "bdmin" i bruteforce prvi bajt kolačića.
CBC-MAC
Šifrovani blok-lančani kod poruke za autentifikaciju (CBC-MAC) je metoda korišćena u kriptografiji. Radi tako što uzima poruku i šifruje je blok po blok, gde je šifrovanje svakog bloka povezano sa prethodnim. Ovaj proces stvara lanac blokova, osiguravajući da čak i promena jednog bita originalne poruke dovede do nepredvidive promene poslednjeg bloka šifrovanih podataka. Da bi se napravila ili poništila takva promena, potreban je ključ za šifrovanje, osiguravajući sigurnost.
Za izračunavanje CBC-MAC poruke m, šifruje se m u CBC režimu sa nulom kao inicijalizacijom vektora i čuva se poslednji blok. Sledeća slika prikazuje računanje CBC-MAC poruke koja se sastoji od blokova koristeći tajni ključ k i blok šifre E:
Ranjivost
Sa CBC-MAC obično se koristi IV 0.
To je problem jer će 2 poznate poruke (m1
i m2
) nezavisno generisati 2 potpisa (s1
i s2
). Dakle:
E(m1 XOR 0) = s1
E(m2 XOR 0) = s2
Zatim će poruka sastavljena od m1 i m2 konkateniranih (m3) generisati 2 potpisa (s31 i s32):
E(m1 XOR 0) = s31 = s1
E(m2 XOR s1) = s32
Što je moguće izračunati bez poznavanja ključa za šifrovanje.
Zamislite da šifrujete ime Administrator u blokovima od 8 bajtova:
Administ
rator\00\00\00
Možete kreirati korisničko ime nazvano Administ (m1) i dobiti potpis (s1).
Zatim možete kreirati korisničko ime nazvano rezultat rator\00\00\00 XOR s1
. Ovo će generisati E(m2 XOR s1 XOR 0)
što je s32.
sada možete koristiti s32 kao potpis punog imena Administrator.
Rezime
- Dobijte potpis korisničkog imena Administ (m1) koji je s1
- Dobijte potpis korisničkog imena rator\x00\x00\x00 XOR s1 XOR 0 je s32**.**
- Postavite kolačić na s32 i biće validan kolačić za korisnika Administrator.
Kontrolisanje napada IV
Ako možete kontrolisati korišćeni IV, napad bi mogao biti veoma jednostavan.
Ako su kolačići samo šifrovano korisničko ime, da se predstavite kao korisnik "administrator" možete kreirati korisnika "Administrator" i dobićete njegov kolačić.
Sada, ako možete kontrolisati IV, možete promeniti prvi bajt IV-a tako da IV[0] XOR "A" == IV'[0] XOR "a" i ponovo generisati kolačić za korisnika Administrator. Ovaj kolačić će biti validan za predstavljanje korisnika administrator sa početnim IV.
Reference
Više informacija na https://en.wikipedia.org/wiki/CBC-MAC
{% hint style="success" %}
Učite i vežbajte hakovanje AWS-a:HackTricks Obuka AWS Crveni Tim Stručnjak (ARTE)
Učite i vežbajte hakovanje GCP-a: HackTricks Obuka GCP Crveni Tim Stručnjak (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @hacktricks_live.
- Delite trikove hakovanja slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.