mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
92 lines
6.3 KiB
Markdown
92 lines
6.3 KiB
Markdown
# UUID Onsekerhede
|
|
|
|
{% hint style="success" %}
|
|
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Ondersteun HackTricks</summary>
|
|
|
|
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
|
|
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
## Basiese Inligting
|
|
|
|
Universally Unique Identifiers (UUIDs) is **128-bis getalle wat gebruik word om inligting uniek te identifiseer** in rekenaarstelsels. UUIDs is noodsaaklik in toepassings waar unieke identifiseerders nodig is sonder sentrale koördinering. Hulle word algemeen gebruik as databasis sleutels en kan na verskeie elemente soos dokumente en sessies verwys.
|
|
|
|
UUIDs is ontwerp om uniek te wees en **moeilik om te raai**. Hulle is gestruktureer in 'n spesifieke formaat, verdeel in vyf groepe wat as 32 heksadesimale syfers voorgestel word. Daar is verskillende weergawes van UUIDs, elkeen wat verskillende doeleindes dien:
|
|
|
|
* **UUID v1** is tyd-gebaseerd, wat die tydstempel, klokvolgorde en node ID (MAC adres) insluit, maar dit kan moontlik stelselinligting blootstel.
|
|
* **UUID v2** is soortgelyk aan v1 maar sluit wysigings in vir plaaslike domeine (nie wyd gebruik nie).
|
|
* **UUID v3 en v5** genereer UUIDs met behulp van hash waardes van namespace en naam, met v3 wat MD5 gebruik en v5 wat SHA-1 gebruik.
|
|
* **UUID v4** word byna heeltemal ewekansig gegenereer, wat 'n hoë vlak van anonimiteit bied maar met 'n geringe risiko van duplikate.
|
|
|
|
{% hint style="success" %}
|
|
Let daarop dat die weergawe en subweergawe van die UUID gewoonlik in dieselfde posisie binne die UUID verskyn. Byvoorbeeld in:\
|
|
12345678 - abcd - 1a56 - a539 - 103755193864\
|
|
xxxxxxxx - xxxx - Mxxx - Nxxx - xxxxxxxxxxxx
|
|
|
|
* Die **posisie van die M** dui die UUID **weergawe** aan. In die voorbeeld hierbo, is dit UUID v**1**.
|
|
* Die **posisie van die N** dui die UUID variasie aan.
|
|
{% endhint %}
|
|
|
|
## Sandwich-aanval
|
|
|
|
Die "Sandwich Aanval" is 'n spesifieke tipe aanval wat **die voorspelbaarheid van UUID v1 generasie in webtoepassings benut**, veral in funksies soos wagwoordherstel. UUID v1 word gegenereer op grond van tyd, klokvolgorde, en die node se MAC adres, wat dit ietwat voorspelbaar kan maak as 'n aanvaller sommige van hierdie UUIDs wat naby in tyd gegenereer is, kan verkry.
|
|
|
|
### Voorbeeld
|
|
|
|
Stel jou 'n webtoepassing voor wat UUID v1 gebruik om wagwoordherstel skakels te genereer. Hier is hoe 'n aanvaller dit kan benut om ongeoorloofde toegang te verkry:
|
|
|
|
1. **Beginopstelling**:
|
|
|
|
* Die aanvaller het beheer oor twee e-pos rekeninge: \`attacker1@acme.com\` en \`attacker2@acme.com\`.
|
|
* Die teiken se e-pos rekening is \`victim@acme.com\`.
|
|
|
|
2. **Uitvoering**:
|
|
|
|
* Die aanvaller aktiveer 'n wagwoordherstel vir hul eerste rekening (\`attacker1@acme.com\`) en ontvang 'n wagwoordherstel skakel met 'n UUID, sê \`99874128-7592-11e9-8201-bb2f15014a14\`.
|
|
* Onmiddellik daarna, aktiveer die aanvaller 'n wagwoordherstel vir die slagoffer se rekening (\`victim@acme.com\`) en dan vinnig vir die tweede aanvaller-beheerde rekening (\`attacker2@acme.com\`).
|
|
* Die aanvaller ontvang 'n herstel skakel vir die tweede rekening met 'n UUID, sê \`998796b4-7592-11e9-8201-bb2f15014a14\`.
|
|
|
|
3. **Analise**:
|
|
|
|
* Die aanvaller het nou twee UUIDs wat naby in tyd gegenereer is (\`99874128\` en \`998796b4\`). Gegewe die opeenvolgende aard van tyd-gebaseerde UUIDs, sal die UUID vir die slagoffer se rekening waarskynlik tussen hierdie twee waardes val.
|
|
|
|
4. **Brute Force Aanval:**
|
|
|
|
* Die aanvaller gebruik 'n hulpmiddel om UUIDs tussen hierdie twee waardes te genereer en toets elke gegenereerde UUID deur te probeer om toegang te verkry tot die wagwoordherstel skakel (bv. \`https://www.acme.com/reset/\<generated-UUID>\`).
|
|
* As die webtoepassing nie voldoende koersbeperkings of blokkeerders vir sulke pogings het nie, kan die aanvaller vinnig al die moontlike UUIDs in die reeks toets.
|
|
|
|
5. **Toegang Verkry:**
|
|
|
|
* Sodra die korrekte UUID vir die slagoffer se wagwoordherstel skakel ontdek word, kan die aanvaller die slagoffer se wagwoord herstel en ongeoorloofde toegang tot hul rekening verkry.
|
|
|
|
### Hulpmiddels
|
|
|
|
* Jy kan die sandwich aanval outomaties uitvoer met die hulpmiddel: [**https://github.com/Lupin-Holmes/sandwich**](https://github.com/Lupin-Holmes/sandwich)
|
|
* Jy kan hierdie tipe UUIDs in Burp Suite opspoor met die uitbreiding [**UUID Detector**](https://portswigger.net/bappstore/65f32f209a72480ea5f1a0dac4f38248).
|
|
|
|
## Verwysings
|
|
|
|
* [https://versprite.com/blog/universally-unique-identifiers/](https://versprite.com/blog/universally-unique-identifiers/)
|
|
|
|
{% hint style="success" %}
|
|
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Ondersteun HackTricks</summary>
|
|
|
|
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
|
|
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|