UUID Güvenlik Açıkları
Reading time: 4 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
Temel Bilgiler
Evrensel Benzersiz Tanımlayıcılar (UUID'ler), bilgisayar sistemlerinde bilgileri benzersiz bir şekilde tanımlamak için kullanılan 128 bitlik sayılardır. UUID'ler, merkezi bir koordinasyona ihtiyaç duymadan benzersiz tanımlayıcıların gerekli olduğu uygulamalarda önemlidir. Genellikle veritabanı anahtarları olarak kullanılır ve belgeler ile oturumlar gibi çeşitli öğeleri referans alabilirler.
UUID'ler, benzersiz olacak şekilde ve tahmin edilmesi zor olacak şekilde tasarlanmıştır. 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 sürümleri vardır:
- UUID v1, zaman damgası, saat sırası ve düğüm kimliği (MAC adresi) içeren zaman tabanlıdır, 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 kopya riski taşır.
tip
UUID'nin sürümü ve alt sürümü genellikle UUID içinde aynı konumda görünür. Örneğin:
12345678 - abcd - 1a56 - a539 - 103755193864
xxxxxxxx - xxxx - Mxxx - Nxxx - xxxxxxxxxxxx
- M'nin konumu, UUID'nin sürümünü gösterir. Yukarıdaki örnekte, UUID v1'dir.
- N'nin konumu, UUID varyantını gösterir.
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 zaman açısından yakın üretilen bazı UUID'leri 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 yetkisiz erişim elde etmek için nasıl istismar edebileceği:
- 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.
- Uygulama:
- Saldırgan, ilk hesabı için bir şifre sıfırlama işlemi başlatır (`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 işlemi başlatır (`victim@acme.com`) ve ardından hızlıca ikinci saldırgan kontrolündeki hesap için (`attacker2@acme.com`) başlatır.
- Saldırgan, ikinci hesap için bir UUID ile sıfırlama bağlantısı alır, diyelim ki `998796b4-7592-11e9-8201-bb2f15014a14`.
- Analiz:
- Saldırgan artık zaman açısından yakın üretilen 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'nin muhtemelen bu iki değerin arasında olacağı tahmin edilebilir.
- 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.
- 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 elde edebilir.
Araçlar
- Sandviç saldırısını otomatik olarak gerçekleştirmek için aracı kullanabilirsiniz: https://github.com/Lupin-Holmes/sandwich
- Bu tür UUID'leri Burp Suite'te UUID Detector uzantısıyla tespit edebilirsiniz.
Referanslar
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.