5.5 KiB
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @hacktricks_live.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
CBC
Ako je kolačić samo korisničko ime (ili prvi deo kolačića je korisničko ime) i želite da se predstavite kao korisničko ime "admin". Tada možete kreirati korisničko ime "bdmin" i bruteforce-ovati prvi bajt kolačića.
CBC-MAC
Cipher block chaining message authentication code (CBC-MAC) je metoda koja se koristi u kriptografiji. Radi tako što uzima poruku i enkriptuje je blok po blok, pri čemu je enkripcija svakog bloka povezana sa prethodnim. Ovaj proces stvara lanac blokova, osiguravajući da čak i promena jednog jedinog bita originalne poruke dovede do nepredvidive promene poslednjeg bloka enkriptovanih podataka. Da bi se izvršila ili poništila takva promena, potreban je ključ za enkripciju, što osigurava bezbednost.
Da bi se izračunao CBC-MAC poruke m, poruka m se enkriptuje u CBC režimu sa nulom kao inicijalizacionim vektorom i čuva se poslednji blok. Sledeća slika prikazuje izračunavanje CBC-MAC poruke koja se sastoji od blokova koristeći tajni ključ k i blok šifre E:
Ranjivost
Sa CBC-MAC-om, obično se koristi IV vrednost 0.
Ovo je problem jer dve poznate poruke (m1
i m2
) nezavisno generišu dva potpisa (s1
i s2
). Dakle:
E(m1 XOR 0) = s1
E(m2 XOR 0) = s2
Zatim, poruka koja se sastoji od konkatenacije m1 i m2 (m3) generiše dva 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 enkripcije.
Zamislite da šifrujete ime Administrator u blokovima od 8 bajtova:
Administ
rator\00\00\00
Možete kreirati korisničko ime koje se zove Administ (m1) i dobiti potpis (s1).
Zatim, možete kreirati korisničko ime koje se zove rezultat rator\00\00\00 XOR s1
. Ovo će generisati E(m2 XOR s1 XOR 0)
koji je s32.
Sada možete koristiti s32 kao potpis za puno ime 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 koji je s32**.**
- Postavite kolačić na s32 i to će biti validan kolačić za korisnika Administrator.
Kontrolisanje napada IV
Ako možete kontrolisati korišćeni IV, napad može biti veoma jednostavan.
Ako su kolačići samo šifrovano korisničko ime, da biste se predstavili kao korisnik "administrator" možete kreirati korisnika "Administrator" i dobiti 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
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @hacktricks_live.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.