Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Chimera — أداة تحميل جانبي لـ DLL آلية مع قدرات التهرب من EDR | Kitploit
أدوات/GitHubGitHub/georgesotiriadis/chimera
توليد الحمولةالاستغلالشيل كودالفريق الأحمر
GitHubgeorgesotiriadis/chimera

Chimera

أداة تحميل جانبي لـ DLL آلية مع قدرات التهرب من EDR

عرض المستودع
50758منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Chimera Unlea$ed 

خلفية الأداة 


على الرغم من أن تحميل DLL الجانبي (DLL sideloading) يمكن استخدامه لأغراض مشروعة، مثل تحميل المكتبات الضرورية لعمل البرنامج، إلا أنه يمكن استخدامه أيضًا لأغراض ضارة. يمكن للمهاجمين استخدام تحميل DLL الجانبي لتنفيذ تعليمات برمجية عشوائية على النظام المستهدف، غالبًا عن طريق استغلال الثغرات في التطبيقات المشروعة المستخدمة لتحميل DLLs.

لأتمتة عملية تحميل DLL الجانبي وجعلها أكثر فعالية، تم إنشاء Chimera، وهي أداة تتضمن منهجيات مراوغة لتجاوز منتجات EDR/AV. يمكن لهذه الأداة تشفير الشيل كود (shellcode) تلقائيًا عبر XOR بمفتاح عشوائي وإنشاء قوالب صور يمكن استيرادها إلى Visual Studio لإنشاء DLL ضار.

أيضًا، يتم استخدام استدعاءات النظام الديناميكية (Dynamic Syscalls) من SysWhispers3 ونسخة مُعدّلة من لغة التجميع (assembly) لمراوغة النمط الذي تبحث عنه EDR، مع إضافة زحافات NOP عشوائية ونقل السجلات. علاوة على ذلك، يُستخدم حقن الطيور المبكرة (Early Bird Injection) لحقن الشيل كود في عملية أخرى يمكن للمستخدم تحديدها مع آليات مراوغة بيئة الصندوق الرملي (Sandbox Evasion) مثل فحص القرص الصلب وما إذا كانت العملية قيد التصحيح. أخيرًا، يتم وضع هجوم توقيتي في المُحمل (loader) يستخدم موقتات قابلة للانتظار (waitable timers) لتأخير تنفيذ الشيل كود.

تم اختبار هذه الأداة وأثبتت فعاليتها في تجاوز منتجات EDR/AV وتنفيذ تعليمات برمجية عشوائية على النظام المستهدف.

أظهرت النسخة المحدثة من Chimera Unleashed تقدمًا كبيرًا في مراوغة التحليل الثابت والديناميكي، خاصة في سياق نظام الكشف والاستجابة للنقاط الطرفية (EDR) من Microsoft 365. نجحت تقنيات التحميل الجانبي للأداة، حتى عند تطبيقها على ملفات ثنائية معروفة مثل OneDrive، في التهرب من الاكتشاف. ومع ذلك، من الجدير بالذكر أنه بينما ظل جانب التحميل الجانبي غير مكتشف، تم تحديد عملية حقن الطيور المبكرة التي تستخدمها الأداة من قبل نظام EDR. يسلط هذا الضوء على مجال للتحسين لتعزيز قدرات التخفي الشاملة للأداة.

استخدام الأداة


التحديثات والميزات الرئيسية:

  • هيكل مُعاد تنسيقه: تم إعادة هيكلة البرنامج بالكامل لتحسين سهولة التطوير والصيانة المستقبلية.
  • دمج الكود متعدد الأشكال (Polymorphic Code): دمج كود متعدد الأشكال، مما يعزز بشكل كبير قدرات المراوغة ويجعل الأداة أكثر مرونة ضد التحليل الثابت.
  • دمج SysWhispers 3: الانتقال من SysWhispers 2 إلى نسخة معدلة من SysWhispers 3. يعمل هذا التحديث على تحسين قدرة الأداة على مراوغة آليات التعرف على الأنماط التي تستخدمها أنظمة EDR، باستخدام استدعاءات نظام ديناميكية وتقنيات تجميع معدلة.
  • تشفير AES: تم تنفيذ تشفير AES لتأمين الشيل كود، مما يضيف طبقة إضافية من الأمان والإبهام.
  • حقن الطيور المبكرة: تستخدم الأداة تقنيات حقن الطيور المبكرة، مما يسمح بتنفيذ كود أكثر تمويًا داخل العمليات المستهدفة.
  • Module Stomping: ستتم إضافته في المستقبل، كما يمكنك تنفيذ تقنية حقن الكود الخاصة بك في الأداة.

Chimera مكتوبة بلغة python3 ولا حاجة لتثبيت أي تبعيات إضافية.

تدعم Chimera حاليًا خيارين من DLL إما Microsoft Teams أو Microsoft OneDrive.

يمكن للمستخدم إنشاء userenv.dll وهو DLL مفقود من Microsoft Teams وإدراجه في المجلد المحدد:

⁠%USERPROFILE%/Appdata/local/Microsoft/Teams/current

بالنسبة لـ Microsoft OneDrive، يستخدم البرنامج النصي إصدار DLL (version.dll) وهو شائع لأنه مفقود من الملف الثنائي، مثل onedriveupdater.exe.

وسائط سطر الأوامر

تستخدم Chimera Unleashed argparser لتحليل وسائط سطر الأوامر. الوسائط التالية متاحة:

  • --raw أو -r: مسار الملف الذي يحتوي على الشيل كود. مطلوب.
  • --path أو -p: مسار إخراج ملف قالب C. مطلوب.
  • --pname أو -n: اسم العملية لحقن الشيل كود فيها. مطلوب.
  • --dexports أو -d: تحديد صادرات DLL التي سيتم استخدامها (إما 'teams' أو 'onedrive'). مطلوب.
  • --enc أو -e: تحديد التشفير المفضل (XOR / AES). مطلوب.
  • --inj أو -i: تحديد تقنية الحقن المفضلة (EB / MS). مطلوب.
  • --rshell أو -s: [اختياري] استبدال اسم متغير الشيل كود باسم فريد. الافتراضي هو 'encoded_shell'.

مثال على الاستخدام: python Chimera.py --raw <path_to_shellcode> --path <output_path> --pname <process_name> --dexports <exports_file> --enc AES --inj EB --rshell my_shellcode

ملاحظة مفيدة

بمجرد اكتمال عملية التجميع، سيتم إنشاء DLL، يجب أن يتضمن إما "version.dll" لـ OneDrive أو "userenv.dll" لـ Microsoft Teams. بعد ذلك، من الضروري إعادة تسمية ملفات DLL الأصلية.

على سبيل المثال، يجب إعادة تسمية "userenv.dll" الأصلي إلى "tmpB0F7.dll"، بينما يجب إعادة تسمية "version.dll" الأصلي إلى "tmp44BC.dll". بالإضافة إلى ذلك، لديك خيار تعديل اسم DLL الوكيل (proxy DLL) كما تريد عن طريق تغيير الكود المصدري لصادرات DLL بدلاً من استخدام أسماء البرنامج النصي الافتراضية.

ملف code.h يحتوي على الشيل كود.

إعداد مشروع Visual Studio


الخطوة 1: إنشاء مشروع Visual Studio جديد مع قالب DLL

  1. قم بتشغيل Visual Studio وانقر على "إنشاء مشروع جديد" أو اذهب إلى "ملف" -> "جديد" -> "مشروع."
  2. في نافذة قوالب المشاريع، حدد "Visual C++" من الجانب الأيسر.
  3. اختر "مشروع فارغ" من القوالب المتاحة.
  4. قدم اسمًا وموقعًا مناسبين للمشروع، ثم انقر على "موافق."
  5. في نافذة خصائص المشروع، انتقل إلى "خصائص التكوين" -> "عام" واضبط "نوع التكوين" على "مكتبة ديناميكية (.dll)."
  6. قم بتكوين إعدادات المشروع الأخرى كما ترغب واحفظ المشروع.

الخطوة 2: استيراد الملفات إلى مشروع Visual Studio

  1. حدد مجلد "chimera_automation" الذي يحتوي على الصور اللازمة.
  2. افتح المجلد وحدد الملفات التالية: main.c, syscalls.c, syscallsstubs.std.x64.asm.
  3. في Visual Studio، انقر بزر الماوس الأيمن على المشروع في لوحة "مستكشف الحلول" واختر "إضافة" -> "عنصر موجود."
  4. تصفح إلى موقع كل ملف (main.c, syscalls.c, syscallsstubs.std.x64.asm) وحددها واحدًا تلو الآخر. انقر على "إضافة" لاستيرادها إلى المشروع.
  5. أنشئ مجلدًا باسم "header_files" داخل دليل المشروع إذا لم يكن موجودًا بالفعل.
  6. حدد ملف الرأس "syscalls_mem.h" في مجلد "header_files" من دليل "chimera_automation".
  7. انقر بزر الماوس الأيمن على مجلد "header_files" في لوحة "مستكشف الحلول" في Visual Studio واختر "إضافة" -> "عنصر موجود."
  8. تصفح إلى موقع "syscalls_mem.h" وحدده. انقر على "إضافة" لاستيراده إلى المشروع.

الخطوة 3: تخصيص البناء

  1. في نافذة خصائص المشروع، انتقل إلى "خصائص التكوين" -> "تخصيصات البناء."
  2. انقر على زر "تخصيصات البناء" لفتح مربع حوار تخصيص البناء.

الخطوة 4: تمكين MASM

  1. في مربع حوار تخصيص البناء، حدد المربع بجوار "masm" لتمكينه.
  2. انقر على "موافق" لإغلاق مربع حوار تخصيص البناء.

الخطوة 5: 

  1. انقر بزر الماوس الأيمن على ملف التجميع -> الخصائص واختر التالي
  2. استبعاد من البناء -> لا
  3. المحتوى -> نعم
  4. نوع العنصر -> Microsoft Macro Assembler

إعداد المشروع النهائي

تحسينات المترجم (Compiler Optimizations) 


الخطوة 1: تغيير التحسين 

  1. في Visual Studio اختر مشروع -> الخصائص 
  2. C/C++ -> التحسين وقم بالتغيير إلى التالي

الخطوة 2: إزالة معلومات التصحيح

  1. في Visual Studio اختر مشروع -> الخصائص 
  2. الرابط -> التصحيح -> إنشاء معلومات تصحيح -> لا

المساهمون

المساهم الأصلي:

  • George Sotiriadis
    • الإصدار الأولي والمفهوم.
    • إعادة هيكلة الكود في النسخة المحدثة.
    • SysWhispers3 المعدل في النسخة المحدثة.

المساهم:

  • Efstratios Chatzoglou
    • إضافة الكود متعدد الأشكال، أداة الإبهام، وتشفير AES في النسخة المحدثة.
    • المساعدة في إعادة هيكلة الكود والتطوير الإضافي.

إخلاء المسؤولية:


إلى أقصى حد يسمح به القانون المعمول به، فإنني (George Sotiriadis) و/أو الشركات التابعة التي قدمت محتوى إلى مستودعي، لن تكون مسؤولة عن أي أضرار غير مباشرة أو عرضية أو خاصة أو تبعية أو عقابية، أو أي خسارة في الأرباح أو الإيرادات، سواء تكبدت بشكل مباشر أو غير مباشر، أو أي خسارة في البيانات أو الاستخدام أو السمعة أو غيرها من الخسائر غير الملموسة، الناتجة عن (1) وصولك إلى هذا المورد و/أو عدم القدرة على الوصول إلى هذا المورد؛ (2) أي سلوك أو محتوى من أي طرف ثالث مشار إليه بواسطة هذا المورد، بما في ذلك على سبيل المثال لا الحصر، أي سلوك تشهيري أو مسيء أو غير قانوني من مستخدمين آخرين أو أطراف ثالثة؛ (3) أي محتوى تم الحصول عليه من هذا المورد.

المراجع 


https://www.ired.team/offensive-security/code-injection-process-injection/early-bird-apc-queue-code-injection

https://evasions.checkpoint.com/

https://github.com/Flangvik/SharpDllProxy

https://github.com/jthuraisamy/SysWhispers2

https://systemweakness.com/on-disk-detection-bypass-avs-edr-s-using-syscalls-with-legacy-instruction-series-of-instructions-5c1f31d1af7d

https://github.com/Mr-Un1k0d3r

تنزيل الأداة
  • --rxor أو -x: [اختياري] استبدال اسم تشفير xor باسم فريد. الافتراضي هو 'do_xor'.
  • --rkey أو -k: [اختياري] استبدال اسم متغير المفتاح باسم فريد. الافتراضي هو 'key'.
  • --rsleep أو -z: [اختياري] إجمالي وقت النوم (بالثواني) المراد تضمينه أثناء التنفيذ. الافتراضي هو 4000.
  • --size أو -f: [اختياري] حجم ملف البيانات الزائفة (junk data) بالكيلوبايت. الصفر (0) معطل، وواحد (1) يعني حجم ملف عشوائي. الافتراضي هو 0.