mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
76 lines
5.1 KiB
Markdown
76 lines
5.1 KiB
Markdown
# Bezbednosne ranjivosti UUID-a
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
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**](https://github.com/sponsors/carlospolop)!
|
|
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
|
|
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
|
|
|
</details>
|
|
|
|
## 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 v**1**.
|
|
* **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:
|
|
|
|
1. **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\`.
|
|
|
|
2. **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\`.
|
|
|
|
3. **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.
|
|
|
|
4. **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.
|
|
|
|
5. **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**](https://github.com/Lupin-Holmes/sandwich)
|
|
* Možete otkriti ovaj tip UUID-ova u Burp Suite-u sa ekstenzijom [**UUID Detector**](https://portswigger.net/bappstore/65f32f209a72480ea5f1a0dac4f38248).
|
|
|
|
## Reference
|
|
|
|
* [https://versprite.com/blog/universally-unique-identifiers/](https://versprite.com/blog/universally-unique-identifiers/)
|