5.1 KiB
Bezbednosne ranjivosti UUID-a
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 PLANOVE ZA PRIJAVU!
- Nabavite zvanični PEASS & HackTricks suvenir
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
Univerzalno jedinstveni identifikatori (UUID) su 128-bitni brojevi koji se koriste za jedinstveno identifikovanje informacija u računarskim sistemima. UUID-ovi su esencijalni u aplikacijama gde su potrebni jedinstveni identifikatori bez centralne koordinacije. Često se koriste kao ključevi baza podataka i mogu se odnositi na različite elemente poput dokumenata i sesija.
UUID-ovi su dizajnirani da budu jedinstveni i teški za pogoditi. Strukturirani su u određenom formatu, podeljeni u pet grupa predstavljenih kao 32 heksadecimalne cifre. Postoje različite verzije UUID-ova, pri čemu svaka služi različitim svrhama:
- UUID v1 je zasnovan na vremenu, uključujući vremenski pečat, sekvenca sata i ID čvora (MAC adresa), ali može potencijalno otkriti informacije o sistemu.
- UUID v2 je sličan v1 ali uključuje modifikacije za lokalne domene (retko korišćen).
- UUID v3 i v5 generišu UUID-ove koristeći vrednosti heša iz prostora imena i imena, pri čemu v3 koristi MD5 a v5 koristi SHA-1.
- UUID v4 se generiše gotovo potpuno nasumično, pružajući visok nivo anonimnosti ali sa blagim rizikom duplikata.
{% hint style="success" %}
Imajte na umu da verzija i podverzija UUID-a obično se pojavljuju na istom mestu unutar UUID-a. Na primer u:
12345678 - abcd - 1a56 - a539 - 103755193864
xxxxxxxx - xxxx - Mxxx - Nxxx - xxxxxxxxxxxx
- Pozicija M označava UUID verziju. U gore navedenom primeru, to je UUID v1.
- Pozicija N označava UUID varijantu. {% endhint %}
Napad sendvič
"Napad sendvič" je specifičan tip napada koji iskorišćava predvidljivost generisanja UUID v1 u veb aplikacijama, posebno u funkcijama poput resetovanja lozinke. UUID v1 se generiše na osnovu vremena, sekvenca sata i MAC adrese čvora, što može učiniti da bude donekle predvidljiv ako napadač može da dobije neke od ovih UUID-ova generisanih u blizini vremena.
Primer
Zamislite veb aplikaciju koja koristi UUID v1 za generisanje linkova za resetovanje lozinke. Evo kako napadač može iskoristiti ovo da dobije neovlašćen pristup:
- Početno podešavanje:
- Napadač ima kontrolu nad dva email naloga: `napadac1@acme.com` i `napadac2@acme.com`.
- Email nalog mete je `zrtva@acme.com`.
- Izvršenje:
- Napadač pokreće resetovanje lozinke za svoj prvi nalog (`napadac1@acme.com`) i dobija link za resetovanje lozinke sa UUID-om, recimo `99874128-7592-11e9-8201-bb2f15014a14`.
- Neposredno nakon toga, napadač pokreće resetovanje lozinke za nalog žrtve (`zrtva@acme.com`) a zatim brzo za drugi nalog pod kontrolom napadača (`napadac2@acme.com`).
- Napadač dobija link za resetovanje za drugi nalog sa UUID-om, recimo `998796b4-7592-11e9-8201-bb2f15014a14`.
- Analiza:
- Napadač sada ima dva UUID-a generisana u blizini vremena (`99874128` i `998796b4`). S obzirom na sekvencijalnu prirodu vremenskih UUID-ova, UUID za nalog žrtve će verovatno pasti između ova dva broja.
- Napad Brute Force:
- Napadač koristi alat za generisanje UUID-ova između ova dva broja i testira svaki generisani UUID pokušavajući da pristupi linku za resetovanje lozinke (npr. `https://www.acme.com/reset/<generisani-UUID>`).
- Ako veb aplikacija ne adekvatno ograničava brzinu ili blokira takve pokušaje, napadač može brzo testirati sve moguće UUID-ove u opsegu.
- Pristup Dobijen:
- Kada se otkrije tačan UUID za link za resetovanje lozinke žrtve, napadač može resetovati lozinku žrtve i dobiti neovlašćen pristup njenom nalogu.
Alati
- Možete automatski izvršiti napad sendvič pomoću alata: https://github.com/Lupin-Holmes/sandwich
- Možete otkriti ovaj tip UUID-ova u Burp Suite-u sa ekstenzijom UUID Detector.