NovaLdr ⚜️
نوفالدر هو أداة Threadless Module Stomping مكتوبة بلغة Rust، صُممت كمشروع تعليمي أثناء استكشاف عالم تطوير البرامج الضارة. تستخدم تقنيات متقدمة مثل الاستدعاءات النظامية غير المباشرة وتشفير السلاسل النصية لتحقيق وظائفها. هذا المشروع ليس منتجًا كاملاً أو مصقولًا بل هو رحلة في الجوانب التقنية للبرامج الضارة، تعرض تقنيات وميزات متنوعة.
نظرة عامة على الميزات 💡
- الاستدعاءات النظامية غير المباشرة
- تشفير السلاسل النصية
- تشفير شيلكود: XOR بسيط وتحويل بايتات الشيلكود إلى عنوان MAC
- تنفيذ بدون خيط
- حقن بدون خيط: يكتب ترامبولين في دالة محددة داخل DLL معينة ويعيد توجيهها لتحميل DLL أخرى.
- JMPThreadHijack: اختطاف خيط دون استدعاء SetThreadContext. لا يزال بحاجة إلى تحسين لأنني كسول ولم أنفذ الأمر بالكامل بشكل كافٍ للحفاظ على الوظيفة الأصلية للخيط. مجرد إثبات مفهوم سريع وقذر (احذر من التحكم في تنفيذ الحمولة. تميل المتصفحات إلى تنفيذ الحمولة عدة مرات)
- فك ارتباط الوحدة
- يكتب فوق بايتات التوقيع لرأس DOS.
- يمسح عناوين قاعدة DLL من العملية المستهدفة.
- يزيل سلاسل أسماء DLL من العملية المستهدفة.
- يفك ارتباط وحدة من قائمة الوحدات
- إنشاء عملية: إنشاء عملية معلقة باستخدام NtCreateUserProcess وانتحال PPID وضبط العملية على منع DLL
- إزالة الخطاف من Ntdll: إزالة الخطاف عن بعد ومحليًا باستخدام تقنية Parun's Fart
- بدون GetModuleHandleA و GetProcAddress: دالة مخصصة تستخدم دوال NT
- تشفير أثناء النوم: دالة نوم مخصصة تقوم بتشفير المكدس أثناء فترة النوم باستخدام خيط منفصل.
- نقطة توقف الأجهزة (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
إخلاء مسؤولية 📢
نوفالدر مخصص للأغراض التعليمية والبحثية فقط. المؤلف غير مسؤول عن أي سوء استخدام أو ضرر ناتج عن هذا البرنامج. اطلب دائمًا الإذن قبل اختباره ضد أي هدف.
المساهمة 📈
نظرًا لأن هذا المشروع هو رحلة تعليمية، فإن المساهمات والاقتراحات والتحسينات مرحب بها لجعل نوفالدر مصدرًا قيمًا لتعلم تطوير البرامج الضارة بلغة Rust.
الموارد والإسناد 📍
إثبات المفهوم

فحص PE-SIEVE
