गैरेथ हेयस के ब्लैक हैट वार्ता के लिए सभी सामग्री: CSS: द बॉम्ब इनसाइड योर इनबॉक्स।

रिपो में आपका स्वागत है। इस रिपॉजिटरी में मेरे टॉक "CSS: आपके इनबॉक्स के अंदर बम" के सभी मटेरियल मौजूद हैं। इस रिपॉजिटरी में प्रूफ ऑफ कॉन्सेप्ट कोड, टेस्ट केस और सहायक सामग्री शामिल है, जिन्हें केवल वैध सुरक्षा अनुसंधान, विश्लेषण और रक्षात्मक परीक्षण के उद्देश्यों के लिए पहचाना, विकसित या एकत्र किया गया था। आप इस शोध के बारे में यहाँ पढ़ सकते हैं: शोध पत्र
इस डायरेक्टरी में FastMail पर CSS hotwiring हमले का PoC मौजूद है। पहला कोड स्निपेट बिना एन्कोड किए हुए प्लेनटेक्स्ट वेक्टर को दिखाता है। दूसरा उदाहरण एन्कोडेड पेलोड है, और जब CSSOM का उपयोग किया जाता है और CSS कोड वापस पढ़ा जाता है, तो यह म्यूटेट हो जाता है।
इस डायरेक्टरी में Firefox का उपयोग करके Medium पर हमले को प्रदर्शित करने वाला PoC शामिल है। यह टोकन के शुरुआती, अंत और मध्य भाग को चुराने के लिए CSS जनरेट करता है। फिर जब पीड़ित बटन पर क्लिक करता है, तो इसे क्लिपबोर्ड पर कॉपी कर देता है। मैंने टोकन के हिस्सों को प्राप्त करने के लिए आवश्यक PHP फ़ाइलें भी शामिल की हैं। टेक्स्ट फ़ाइलें सर्वर पर राइटेबल होनी चाहिए और पथ से जानकारी निकालने के लिए .htaccess फ़ाइल का उपयोग करना आवश्यक है।
यह डायरेक्टरी टोकन एक्सफ़िलट्रेशन तकनीक प्रदर्शित करती है, जो CSP द्वारा बाहरी संसाधनों को ब्लॉक किए जाने पर टेक्स्ट नोड्स चुराने के लिए उपयोग होती है। मैंने यह स्पष्ट करने के लिए डिबगिंग जानकारी शामिल की है कि यह कैसे काम करती है।
यह शुद्ध HTML का उपयोग करके कीस्ट्रोक्स चुराने का प्रदर्शन है। मैं अक्षरों को छिपाने के लिए छोटे यूनिकोड वर्णों का उपयोग करता हूँ। marquee का उपयोग select को काटने के लिए किया जाता है ताकि वह select जैसा न दिखे।
यह PoC उस प्रॉम्प्ट को दिखाता है जिसका उपयोग मैंने Atlas को पेज से डेटा लेने और टैब खोलकर उसे URL के माध्यम से एक्सफ़िलट्रेट करने के लिए समझाने में किया। आप देखेंगे कि प्रत्येक URL प्रॉम्प्ट में है, ऐसा इसलिए है क्योंकि Atlas प्रॉम्प्ट टेक्स्ट की तुलना उसके द्वारा खोले जाने वाले URLs से करता हुआ प्रतीत होता था, ताकि यह तय कर सके कि उसे कन्फर्मेशन प्रॉम्प्ट खोलना है या नहीं।
इसमें वह PoC शामिल है जिसका उपयोग मैंने Outlook को डीफेस करने के लिए किया था। "data-tabster" वह HTML एट्रिब्यूट है जिसकी आवश्यकता लाइब्रेरी को ईमेल पढ़े जाने पर CSS गैजेट को नोड में जोड़ने के लिए होती है।
यह Outlook पर वह एक्सप्लॉइट है जिसे मैंने अपने टॉक में प्रदर्शित किया था। यह लॉगिन स्क्रीन को स्पूफ करता है, Firefox पर इसे रीयल-टाइम बनाने के लिए एनिमेशन ट्रिक का उपयोग करता है, और लेबल फर्जी इनपुट को क्लिक करने योग्य बनाता है, जो लॉगिन स्क्रीन के व्यवहार को दोहराता है।
यह दिखाता है कि मैंने Outlook में UI को नियंत्रित करने के लिए लेबल का उपयोग कैसे किया, ताकि किसी हमलावर के संदेश को पीड़ित के इनबॉक्स में पिन किया जा सके।
अविश्वसनीय रूप से, मैं सैनिटाइज़्ड CSS में पूरी तरह से काम करने वाला कीलॉगर बनाने में सफल रहा। यह स्क्रीन को अपने कब्ज़े में लेने के लिए CSS गैजेट का उपयोग करता है। लेकिन इसकी सीमाएँ हैं, क्योंकि आपका CSS पर पूर्ण नियंत्रण नहीं था। Outlook लॉगिन स्क्रीन को पूरी तरह से स्पूफ करने वाले पूर्ण संस्करण के लिए "Outlook Firefox keylogger" देखें।
यह PoC दिखाता है कि Chrome में रीयलटाइम कीलॉगर बनाने के लिए Interest Invokers का उपयोग कैसे करें।
मैंने Gitlab का परीक्षण करते समय एक न्यूनतम CSS टोकन एक्सफ़िलट्रेशन टूल बनाया था। यदि आपके पास स्टाइल इंजेक्शन है और रिकर्सिव CSS इम्पोर्ट की अनुमति है, तो आप इसका उपयोग कर सकते हैं।
Shazzer ने मुझे इमेज प्रॉक्सी बाइपास और विभिन्न CSS विचित्रताओं और व्यवहारों का पता लगाने में सक्षम बनाया। मैंने अपने वेक्टर्स को सार्वजनिक कर दिया है ताकि आप देख सकें कि वे कैसे खोजे गए थे। आप निम्न URL के साथ वेक्टर्स का पूरा संग्रह देख सकते हैं:
नोट: वेक्टर्स मेरे टॉक के बाद सार्वजनिक किए जाएँगे।
मैंने CSS म्यूटेशन बनाने के लिए Hackvertor का उपयोग किया। यह cssEscape टैग का उपयोग करके किया गया था। Hackvertor में "Copy as HTML" सुविधा भी है, जो आपके इनपुट का ब्लॉब बनाकर उसे क्लिपबोर्ड पर रख देती है। इसका उपयोग पेस्ट से CSS इंजेक्शन के लिए साइटों की जाँच करने के लिए किया गया था।
शोध पत्र देखना न भूलें!