MS17-010
यह रिपॉज़िटरी MS17-010 पर मेरे कार्य को सार्वजनिक करने के लिए है। मेरी कोई समर्थन देने की योजना नहीं है। सभी समर्थन मुद्दों पर मेरी ओर से कोई प्रतिक्रिया नहीं मिलेगी।
फ़ाइलें
- BUG.txt MS17-010 बग विवरण और कुछ विश्लेषण
- checker.py सुलभ named pipe खोजने के लिए स्क्रिप्ट
- eternalblue_exploit7.py windows 7/2008 के लिए Eternalblue एक्सप्लॉइट
- eternalblue_exploit8.py windows 8/2012 x64 के लिए Eternalblue एक्सप्लॉइट
- eternalblue_poc.py बफर ओवरफ्लो बग के लिए Eternalblue PoC
- eternalblue_kshellcode_x64.asm मेरे Eternalblue एक्सप्लॉइट के लिए x64 कर्नेल शेलकोड। यह शेलकोड Windows Vista और बाद के संस्करणों पर काम करना चाहिए
- eternalblue_kshellcode_x86.asm मेरे Eternalblue एक्सप्लॉइट के लिए x86 कर्नेल शेलकोड। यह शेलकोड Windows Vista और बाद के संस्करणों पर काम करना चाहिए
- eternalblue_sc_merge.py eternalblue x86 और x64 शेलकोड को मर्ज करने की स्क्रिप्ट। मर्ज किए गए शेलकोड के साथ, x86 और x64 दोनों का समर्थन करने वाले Eternalblue एक्सप्लॉइट को लक्ष्य आर्किटेक्चर का पता लगाने की आवश्यकता नहीं होती
- eternalchampion_leak.py जानकारी लीक करने वाले भाग के लिए Eternalchampion PoC
- eternalchampion_poc.py RIP को नियंत्रित करने के लिए Eternalchampion PoC
- eternalchampion_poc2.py कोड निष्पादन प्राप्त करने के लिए Eternalchampion PoC
- eternalromance_leak.py जानकारी लीक करने वाले भाग के लिए Eternalromance PoC
- eternalromance_poc.py OOB लेखन के लिए Eternalromance PoC
- eternalromance_poc2.py एक ट्रांज़ेक्शन को नियंत्रित करने के लिए Eternalromance PoC जो मनमाना पढ़ने/लिखने की ओर ले जाता है
- eternalsynergy_leak.py जानकारी लीक करने वाले भाग के लिए Eternalsynergy PoC
- eternalsynergy_poc.py बड़े पेज्ड पूल के साथ हीप स्प्रेइंग प्रदर्शित करने के लिए Eternalsynergy PoC
- infoleak_uninit.py अप्रारंभित ट्रांज़ेक्शन डेटा बफर से जानकारी लीक करने के लिए PoC
- mysmb.py MS17-010 बग्स का आसानी से शोषण करने के लिए विस्तारित Impacket SMB क्लास
- npp_control.py सेशन सेटअप कमांड के साथ नॉनपेज्ड पूल आवंटन को नियंत्रित करने के लिए PoC
- zzz_exploit.py Windows 2000 और बाद के संस्करणों के लिए एक्सप्लॉइट (named pipe तक पहुँच आवश्यक है)
अनाम उपयोगकर्ता
अनाम उपयोगकर्ता (null session) को नए Windows संस्करण की डिफ़ॉल्ट सेटिंग्स में अधिक प्रतिबंध मिलते हैं। बिना प्रमाणीकरण के Windows SMB का शोषण करने के लिए, नीचे दिए गए व्यवहार के बारे में जागरूक रहना चाहिए।
- Windows Vista के बाद से, डिफ़ॉल्ट सेटिंग्स अनाम उपयोगकर्ता को किसी भी named pipe तक पहुँच की अनुमति नहीं देती हैं
- Windows 8 के बाद से, डिफ़ॉल्ट सेटिंग्स अनाम उपयोगकर्ता को IPC$ शेयर तक पहुँच की अनुमति नहीं देती हैं (IPC$ सुलभ हो सकता है लेकिन अधिक कुछ नहीं किया जा सकता)
NSA एक्सप्लॉइट्स के बारे में
- Eternalblue को किसी लक्ष्य का शोषण करने के लिए केवल IPC$ तक पहुँच की आवश्यकता होती है, जबकि अन्य एक्सप्लॉइट्स को named pipe तक पहुँच की भी आवश्यकता होती है। इसलिए यह एक्सप्लॉइट सभी कॉन्फ़िगरेशन में Windows < 8 के विरुद्ध हमेशा काम करता है (यदि tcp पोर्ट 445 सुलभ है)। हालाँकि, Eternalblue में अन्य एक्सप्लॉइट्स की तुलना में लक्ष्य को क्रैश करने की अधिक संभावना होती है।
- Eternalchampion को named pipe तक पहुँच की आवश्यकता होती है। इस एक्सप्लॉइट में लक्ष्य को क्रैश करने की कोई संभावना नहीं है।
- Eternalromance को named pipe तक पहुँच की आवश्यकता होती है। यह एक्सप्लॉइट Windows < 8 को लक्षित कर सकता है क्योंकि सूचना लीक वाला बग Windows 8 में ठीक कर दिया गया है। इस एक्सप्लॉइट में Eternalblue की तुलना में लक्ष्य को क्रैश करने की संभावना कम होनी चाहिए। मैंने इस एक्सप्लॉइट की विश्वसनीयता का परीक्षण कभी नहीं किया।
- Eternalsynergy को named pipe तक पहुँच की आवश्यकता होती है। मेरा मानना है कि यह एक्सप्लॉइट Windows 8 और बाद के संस्करणों को लक्षित करने के लिए Eternalromance से संशोधित किया गया है। Eternalsynergy सूचना लीक के लिए एक अन्य बग का उपयोग करता है और निष्पादन योग्य मेमोरी खोजने के लिए कुछ तरकीब अपनाता है (मैं नहीं जानता कि यह कैसे काम करता है क्योंकि मैंने केवल आउटपुट लॉग और pcap फ़ाइल पढ़ी है)।