
NebulaPulsar هو إطار عمل إثبات مفهوم للزرع في الذاكرة لصفحات الويب الخلفية (webshells) الخاصة بـ Java (JSP) و ASP.NET (ASPX/ASHX/ASMX)، تم تطويره في الأصل كجزء من مشروع Alien.
تحديث: أصبح هذا المشروع الآن مشروعًا فرعيًا من Alien لإظهار أفكاري وأغراض التجربة.
NebulaPulsar هو إطار عمل إثبات مفهوم للزرع في الذاكرة لمنصات Java (JSP) وASP.NET (ASPX/ASHX/ASMX)، تم تطويره أصلاً كجزء من مشروع Alien.
على عكس عروض webshell التقليدية التي تركز فقط على تنفيذ الأوامر، يستكشف NebulaPulsar كيف يمكن للزرع في الذاكرة إنشاء قناة اتصال مشفرة، وتحميل الحمولات ديناميكيًا، وتنفيذها بالكامل في الذاكرة.
المشروع مخصص لأغراض البحث الأمني، وتحليل البرامج الضارة، والتعليم الدفاعي. لم يتم تصميمه ليكون إطارًا هجوميًا تشغيليًا.
تفاصيل تقنية:
إذا وجدت هذا المشروع مفيدًا أو غنيًا بالمعلومات، سأكون ممتنًا حقًا لوضع ⭐ على المستودع. دعمك سيكون دافعًا كبيرًا لي لمواصلة تحسين هذه الأداة.
"إذا قمت بإهانة أبحاث الهجوم، فإنك تسيء تقدير مساهمتها. الهجوم والدفاع ليسا ندين. الدفاع هو طفل الهجوم." — جون لامبرت
تم إنشاء هذا المشروع فقط للأغراض التعليمية والبحثية والدفاعية في مجال الأمن السيبراني.
الغرض منه هو دراسة تنفيذ تقنيات الزرع الحديثة في الذاكرة، والاتصال المشفر، وتنفيذ الحمولة الديناميكي عبر منصات Java و.NET.
المشروع ليس مخصصًا للوصول غير المصرح به، أو الثبات، أو النشر الخبيث. أي استخدام ضد أنظمة دون إذن صريح يتم ثنيه بشدة.
المؤلف لا يتحمل أي مسؤولية عن أي إساءة استخدام أو ضرر ناتج عن هذا المشروع.
أثناء تطوير Alien، أردت أن أفهم بشكل أفضل كيفية تصميم الـ webshells المقيمة في الذاكرة الحديثة والزرعات داخليًا.
العديد من الـ webshells المتاحة للجمهور تركز على الوظائف ولكنها نادرًا ما تشرح لماذا تم تنفيذها بهذه الطريقة. ميزات مثل الاتصال المشفر، وتنفيذ الحمولة في الذاكرة، وتحميل الفئات الديناميكي، والزرع المعتمد على الجلسات غالبًا ما تُعامل كصناديق سوداء.
تم إنشاء NebulaPulsar لسد هذه الفجوة.
بدلاً من استنساخ تطبيق موجود، يستكشف هذا المشروع المفاهيم الأساسية وراء الزرعات الذاكرة الحديثة ويوضح كيفية تنفيذ هذه الأفكار على كل من منصتي Java و.NET.
طوال عملية التطوير، درست موضوعات تشمل:
ClassLoader في JavaAssembly.Load() والانعكاسالهدف هو فهم كيف تعمل هذه التقنيات، وليس تشجيع إساءة استخدامها.
ينقسم هذا الإطار إلى طبقتين:
NebulaPulsar هو الزرع المقيم في الذاكرة. وهو مسؤول عن:
DarkMatter هي الحمولة التي ينفذها NebulaPulsar.
تنفذ منطق ما بعد الاستغلال الفعلي مع بقائها مستقلة عن طبقة النقل، مما يسهل توسيعها بوحدات وقدرات إضافية.
يتم حقن NebulaPulsar أولاً في الـ webshell الهدف ويبقى مقيمًا في الذاكرة.
بمجرد التهيئة، ينشئ قناة اتصال مشفرة وينتظر الحمولات الواردة.
ثم يتم تسليم الحمولات اللاحقة، مثل DarkMatter، عبر هذه القناة. يقوم NebulaPulsar بفك تشفير الحمولة، وتحميلها مباشرة في الذاكرة، ونقل التنفيذ إليها.
DarkMatter مسؤولة عن تنفيذ وظائف أكثر تقدمًا، بينما يظل NebulaPulsar خفيف الوزن ويركز على إدارة الحمولة والاتصال.
التحميل:
wget https://github.com/iss4cf0ng/NebulaPulsar/releases/latest/download/NebulaPulsar.tar.gz
tar -xzf NebulaPulsar.tar.gz
cd ./NebulaPulsar
تشغيل باستخدام Python:
python3 main.py --url http://localhost/nebulapulsar.jsp --script java --encoding='utf-8'
شكرًا لاطلاعك على هذا المشروع. مرحب بالملاحظات والاقتراحات.