NovaLdr ⚜️
NovaLdr एक थ्रेडलेस मॉड्यूल स्टॉम्पिंग है जो Rust में लिखा गया है, जिसे मैलवेयर डेवलपमेंट की दुनिया की खोज करते हुए एक सीखने की परियोजना के रूप में डिज़ाइन किया गया है। यह अपनी कार्यक्षमताओं को प्राप्त करने के लिए अप्रत्यक्ष सिस्कॉल और स्ट्रिंग एन्क्रिप्शन जैसी उन्नत तकनीकों का उपयोग करता है। यह परियोजना एक पूर्ण या पॉलिश उत्पाद होने के लिए नहीं है, बल्कि मैलवेयर के तकनीकी पहलुओं की यात्रा है, जिसमें विभिन्न तकनीकों और सुविधाओं का प्रदर्शन किया गया है।
सुविधाएँ अवलोकन 💡
- अप्रत्यक्ष सिस्कॉल
- स्ट्रिंग एन्क्रिप्शन
- शेलकोड एन्क्रिप्शन: सरल XOR और शेलकोड बाइट्स को MAC पते में परिवर्तित करना
- थ्रेडलेस निष्पादन
- थ्रेडलेस इंजेक्ट: किसी दिए गए DLL के भीतर एक निर्दिष्ट फ़ंक्शन में एक ट्रैम्पोलिन लिखता है और इसे दूसरे DLL को लोड करने के लिए पुनर्निर्देशित करता है।
- JMPThreadHijack: SetThreadContext को कॉल किए बिना एक थ्रेड को हाईजैक करना। अभी भी सुधार की आवश्यकता है क्योंकि मैं आलसी हूँ और थ्रेड की मूल कार्यक्षमता को बनाए रखने के लिए पूरी चीज़ को पर्याप्त रूप से लागू नहीं किया है। बस एक त्वरित और गंदा PoC (पेलोड निष्पादन नियंत्रण से सावधान रहें। ब्राउज़र पेलोड को कई बार निष्पादित करते हैं)
- मॉड्यूल अनलिंक
- DOS हेडर मैजिक बाइट्स को ओवरराइट करता है।
- लक्ष्य प्रक्रिया से DLL बेस पतों को साफ़ करता है।
- लक्ष्य प्रक्रिया से DLL नाम स्ट्रिंग्स को हटाता है।
- मॉड्यूल सूची से एक मॉड्यूल को अनलिंक करता है
- प्रक्रिया स्पॉनिंग: NtCreateUserProcess के साथ निलंबित प्रक्रिया स्पॉन करना और PPID को स्पूफ करना तथा प्रक्रिया को DLL ब्लॉक पर सेट करना
- Ntdll अनहुकिंग: Parun की Fart तकनीक का उपयोग करके रिमोट और लोकल Ntdll अनहुकिंग
- कोई GetModuleHandleA और GetProcAddress नहीं: कस्टम फ़ंक्शन जो NT फ़ंक्शन का उपयोग करता है
- स्लीप एन्क्रिप्ट: कस्टम स्लीप फ़ंक्शन जो एक अलग थ्रेड का उपयोग करके अपनी स्लीप अवधि के दौरान स्टैक को एन्क्रिप्ट करता है।
- HWBP: सभी थ्रेड्स पर HWBP के साथ प्रक्रिया में पैचलेस AMSI + ETW बाईपास।
उपयोग 🛠️
- शेलकोड फ़ाइल जनरेट करें:
msfvenom -p windows/x64/messagebox TITLE=NovaLdr TEXT='In memory of all those murdered in the Nova party massacre 7.10.2023' ICON=WARNING EXITFUNC=thread -b '\xff\x00\x0b' -f raw -e none -o Nova_MSG.bin
- शेलकोड फ़ाइल को एन्क्रिप्ट करें और इसे MAC पते प्रारूप में बदलें
python bin2mac.py Nova_MSG.bin > nova_msg.txt
- आउटपुट फ़ाइल की सामग्री को कॉपी करें और इसे main.rs फ़ाइल में पेस्ट करें
- प्रोग्राम को संकलित करने के लिए बस फ़ाइल
compile.bat चलाएँ
अस्वीकरण 📢
NovaLdr केवल शैक्षिक और शोध उद्देश्यों के लिए है। लेखक इस प्रोग्राम के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं है। किसी भी लक्ष्य के विरुद्ध परीक्षण करने से पहले हमेशा अनुमति लें।
योगदान 📈
चूंकि यह परियोजना एक सीखने की यात्रा है, इसलिए NovaLdr को Rust में मैलवेयर डेवलपमेंट सीखने के लिए एक मूल्यवान संसाधन बनाने के लिए योगदान, सुझाव और संवर्द्धन का स्वागत है।
संसाधन और श्रेय 📍
POC

PE-SIEVE
