UUID Insecurities
Reading time: 5 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
Basic Information
Universally Unique Identifiers (UUIDs) 128-बिट नंबर हैं जो कंप्यूटर सिस्टम में जानकारी की अद्वितीय पहचान के लिए उपयोग किए जाते हैं। UUIDs उन अनुप्रयोगों में आवश्यक हैं जहाँ अद्वितीय पहचानकर्ता बिना केंद्रीय समन्वय के आवश्यक होते हैं। इन्हें सामान्यतः डेटाबेस कुंजी के रूप में उपयोग किया जाता है और ये विभिन्न तत्वों जैसे दस्तावेज़ों और सत्रों को संदर्भित कर सकते हैं।
UUIDs को अद्वितीय और अनुमान लगाने में कठिन बनाने के लिए डिज़ाइन किया गया है। इन्हें एक विशिष्ट प्रारूप में संरचित किया गया है, जिसे 32 हेक्साडेसिमल अंकों के रूप में पांच समूहों में विभाजित किया गया है। UUIDs के विभिन्न संस्करण होते हैं, प्रत्येक का अलग-अलग उद्देश्यों के लिए उपयोग किया जाता है:
- UUID v1 समय-आधारित है, जिसमें टाइमस्टैम्प, घड़ी अनुक्रम, और नोड ID (MAC पता) शामिल है, लेकिन यह संभावित रूप से सिस्टम जानकारी को उजागर कर सकता है।
- UUID v2 v1 के समान है लेकिन स्थानीय डोमेन के लिए संशोधन शामिल करता है (विशाल रूप से उपयोग नहीं किया जाता)।
- UUID v3 और v5 नामस्थान और नाम से हैश मानों का उपयोग करके UUID उत्पन्न करते हैं, जिसमें v3 MD5 का उपयोग करता है और v5 SHA-1 का उपयोग करता है।
- UUID v4 लगभग पूरी तरह से यादृच्छिक रूप से उत्पन्न होता है, जो उच्च स्तर की गुमनामी प्रदान करता है लेकिन डुप्लिकेट का थोड़ा जोखिम होता है।
tip
ध्यान दें कि UUID का संस्करण और उपसंस्करण आमतौर पर UUID के भीतर एक ही स्थिति में दिखाई देता है। उदाहरण के लिए:
12345678 - abcd - 1a56 - a539 - 103755193864
xxxxxxxx - xxxx - Mxxx - Nxxx - xxxxxxxxxxxx
- M की स्थिति UUID संस्करण को इंगित करती है। ऊपर दिए गए उदाहरण में, यह UUID v1 है।
- N की स्थिति UUID भिन्नता को इंगित करती है।
Sandwich attack
"Sandwich Attack" एक विशिष्ट प्रकार का हमला है जो वेब अनुप्रयोगों में UUID v1 उत्पन्न करने की भविष्यवाणी का लाभ उठाता है, विशेष रूप से पासवर्ड रीसेट जैसी सुविधाओं में। UUID v1 समय, घड़ी अनुक्रम, और नोड के MAC पते के आधार पर उत्पन्न होता है, जिससे यह कुछ हद तक अनुमानित हो सकता है यदि एक हमलावर इन UUIDs में से कुछ प्राप्त कर सकता है जो समय के करीब उत्पन्न हुए हैं।
Example
कल्पना करें कि एक वेब अनुप्रयोग UUID v1 का उपयोग पासवर्ड रीसेट लिंक उत्पन्न करने के लिए करता है। यहाँ एक हमलावर इसको अनधिकृत पहुंच प्राप्त करने के लिए कैसे भुनाने का प्रयास कर सकता है:
- प्रारंभिक सेटअप:
- हमलावर के पास दो ईमेल खातों पर नियंत्रण है: `attacker1@acme.com` और `attacker2@acme.com`।
- लक्ष्य का ईमेल खाता है `victim@acme.com`।
- कार्यवाही:
- हमलावर अपने पहले खाते (`attacker1@acme.com`) के लिए पासवर्ड रीसेट को सक्रिय करता है और एक UUID के साथ पासवर्ड रीसेट लिंक प्राप्त करता है, मान लीजिए `99874128-7592-11e9-8201-bb2f15014a14`।
- तुरंत बाद, हमलावर लक्ष्य के खाते (`victim@acme.com`) के लिए पासवर्ड रीसेट को सक्रिय करता है और फिर जल्दी से दूसरे हमलावर-नियंत्रित खाते (`attacker2@acme.com`) के लिए।
- हमलावर दूसरे खाते के लिए एक UUID के साथ रीसेट लिंक प्राप्त करता है, मान लीजिए `998796b4-7592-11e9-8201-bb2f15014a14`।
- विश्लेषण:
- अब हमलावर के पास समय के करीब उत्पन्न दो UUIDs हैं (`99874128` और `998796b4`)। समय-आधारित UUIDs की अनुक्रमिक प्रकृति को देखते हुए, लक्ष्य के खाते के लिए UUID संभवतः इन दो मानों के बीच होगा।
- Brute Force Attack:
- हमलावर इन दो मानों के बीच UUID उत्पन्न करने के लिए एक उपकरण का उपयोग करता है और प्रत्येक उत्पन्न UUID का परीक्षण करता है पासवर्ड रीसेट लिंक तक पहुँचने का प्रयास करके (जैसे, `https://www.acme.com/reset/<generated-UUID>`)।
- यदि वेब अनुप्रयोग उचित दर सीमा निर्धारित नहीं करता है या ऐसे प्रयासों को अवरुद्ध नहीं करता है, तो हमलावर जल्दी से सीमा में सभी संभावित UUIDs का परीक्षण कर सकता है।
- पहुंच प्राप्त की:
- एक बार जब लक्ष्य के पासवर्ड रीसेट लिंक के लिए सही UUID खोजा जाता है, तो हमलावर लक्ष्य का पासवर्ड रीसेट कर सकता है और उनके खाते में अनधिकृत पहुंच प्राप्त कर सकता है।
Tools
- आप उपकरण के साथ स्वचालित रूप से सैंडविच हमले को कर सकते हैं: https://github.com/Lupin-Holmes/sandwich
- आप Burp Suite में एक्सटेंशन UUID Detector के साथ इन प्रकार के UUIDs का पता लगा सकते हैं।
References
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।