mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 04:33:28 +00:00
92 lines
6.6 KiB
Markdown
92 lines
6.6 KiB
Markdown
# UUID Güvenlik Açıkları
|
||
|
||
{% hint style="success" %}
|
||
AWS Hacking'i öğrenin ve pratik yapın:<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">\
|
||
GCP Hacking'i öğrenin ve pratik yapın: <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>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
|
||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
## Temel Bilgiler
|
||
|
||
Evrensel Benzersiz Tanımlayıcılar (UUID'ler) **bilgi sistemlerinde bilgiyi benzersiz bir şekilde tanımlamak için kullanılan 128-bit sayılardır**. UUID'ler, merkezi bir koordinasyon olmadan benzersiz tanımlayıcıların gerekli olduğu uygulamalarda önemlidir. Genellikle veritabanı anahtarları olarak kullanılır ve belgeler ve oturumlar gibi çeşitli öğeleri referans alabilir.
|
||
|
||
UUID'ler benzersiz olacak şekilde tasarlanmıştır ve **tahmin edilmesi zordur**. Belirli bir formatta yapılandırılmıştır ve 32 onaltılık basamaktan oluşan beş gruba ayrılmıştır. Farklı amaçlar için hizmet eden farklı UUID versiyonları vardır:
|
||
|
||
* **UUID v1** zaman tabanlıdır, zaman damgası, saat sırası ve düğüm kimliği (MAC adresi) içerir, ancak sistem bilgilerini potansiyel olarak açığa çıkarabilir.
|
||
* **UUID v2** v1'e benzer ancak yerel alanlar için değişiklikler içerir (yaygın olarak kullanılmaz).
|
||
* **UUID v3 ve v5** ad alanı ve isimden hash değerleri kullanarak UUID'ler oluşturur; v3 MD5 kullanırken v5 SHA-1 kullanır.
|
||
* **UUID v4** neredeyse tamamen rastgele üretilir, yüksek bir anonimlik seviyesi sağlar ancak küçük bir çifte düşme riski taşır.
|
||
|
||
{% hint style="success" %}
|
||
UUID'nin versiyonu ve alt versiyonu genellikle UUID içinde aynı pozisyonda görünür. Örneğin:\
|
||
12345678 - abcd - 1a56 - a539 - 103755193864\
|
||
xxxxxxxx - xxxx - Mxxx - Nxxx - xxxxxxxxxxxx
|
||
|
||
* **M'nin pozisyonu**, UUID'nin **versiyonunu** gösterir. Yukarıdaki örnekte, UUID v**1**'dir.
|
||
* **N'nin pozisyonu**, UUID varyantını gösterir.
|
||
{% endhint %}
|
||
|
||
## Sandviç Saldırısı
|
||
|
||
"Sandviç Saldırısı", **web uygulamalarında UUID v1 üretiminin tahmin edilebilirliğini istismar eden** belirli bir saldırı türüdür, özellikle şifre sıfırlama gibi özelliklerde. UUID v1, zaman, saat sırası ve düğümün MAC adresine dayalı olarak üretilir; bu, bir saldırganın bu UUID'lerden bazılarını zaman açısından yakın bir şekilde elde edebilmesi durumunda tahmin edilebilir hale getirebilir.
|
||
|
||
### Örnek
|
||
|
||
UUID v1'i şifre sıfırlama bağlantıları oluşturmak için kullanan bir web uygulamasını hayal edin. İşte bir saldırganın bunu nasıl istismar edebileceği:
|
||
|
||
1. **Başlangıç Ayarı**:
|
||
|
||
* Saldırganın iki e-posta hesabı üzerinde kontrolü vardır: \`attacker1@acme.com\` ve \`attacker2@acme.com\`.
|
||
* Hedefin e-posta hesabı \`victim@acme.com\`'dur.
|
||
|
||
2. **Uygulama**:
|
||
|
||
* Saldırgan, ilk hesabı için bir şifre sıfırlama tetikler (\`attacker1@acme.com\`) ve bir UUID ile şifre sıfırlama bağlantısı alır, diyelim ki \`99874128-7592-11e9-8201-bb2f15014a14\`.
|
||
* Hemen ardından, saldırgan kurbanın hesabı için bir şifre sıfırlama tetikler (\`victim@acme.com\`) ve ardından hızlıca ikinci saldırgan kontrolündeki hesap için (\`attacker2@acme.com\`) tetikler.
|
||
* Saldırgan, ikinci hesap için bir UUID ile sıfırlama bağlantısı alır, diyelim ki \`998796b4-7592-11e9-8201-bb2f15014a14\`.
|
||
|
||
3. **Analiz**:
|
||
|
||
* Saldırgan artık zaman açısından yakın üretilmiş iki UUID'ye sahiptir (\`99874128\` ve \`998796b4\`). Zaman tabanlı UUID'lerin ardışık doğası göz önüne alındığında, kurbanın hesabı için UUID muhtemelen bu iki değerin arasında olacaktır.
|
||
|
||
4. **Kaba Kuvvet Saldırısı:**
|
||
|
||
* Saldırgan, bu iki değer arasında UUID'ler oluşturmak için bir araç kullanır ve her üretilen UUID'yi şifre sıfırlama bağlantısına erişmeye çalışarak test eder (örneğin, \`https://www.acme.com/reset/\<generated-UUID>\`).
|
||
* Web uygulaması bu tür denemeleri yeterince sınırlamaz veya engellemezse, saldırgan aralıktaki tüm olası UUID'leri hızlıca test edebilir.
|
||
|
||
5. **Erişim Sağlandı:**
|
||
|
||
* Kurbanın şifre sıfırlama bağlantısı için doğru UUID keşfedildiğinde, saldırgan kurbanın şifresini sıfırlayabilir ve hesabına yetkisiz erişim sağlayabilir.
|
||
|
||
### Araçlar
|
||
|
||
* Sandviç saldırısını otomatik olarak gerçekleştirmek için aracı kullanabilirsiniz: [**https://github.com/Lupin-Holmes/sandwich**](https://github.com/Lupin-Holmes/sandwich)
|
||
* Bu tür UUID'leri Burp Suite'te [**UUID Detector**](https://portswigger.net/bappstore/65f32f209a72480ea5f1a0dac4f38248) uzantısıyla tespit edebilirsiniz.
|
||
|
||
## Referanslar
|
||
|
||
* [https://versprite.com/blog/universally-unique-identifiers/](https://versprite.com/blog/universally-unique-identifiers/)
|
||
|
||
{% hint style="success" %}
|
||
AWS Hacking'i öğrenin ve pratik yapın:<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">\
|
||
GCP Hacking'i öğrenin ve pratik yapın: <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>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
|
||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||
|
||
</details>
|
||
{% endhint %}
|