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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CAPEv2 — استخراج تكوين البرامج الضارة والحمولة | Kitploit
أدوات/GitHubGitHub/kevoreilly/capev2
التحليل الديناميكي (عزل)تحليل الذاكرة الجنائيتحليل الثغرات الأمنيةتحليل الشبكة الجنائيالهندسة العكسيةمصممي الأخطاءالتحقيق الجنائي الرقميتحليل البرمجيات الخبيثةالتعلم والتعليم
GitHubkevoreilly/capev2

CAPEv2

استخراج تكوين البرامج الضارة والحمولة

3.4k597منذ 8س 47دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

CAPE: استخراج تكوين البرامج الضارة والحمولة - الوثائق

CAPE هو صندوق رمل للبرامج الضارة.

يُستخدم صندوق الرمل لتنفيذ الملفات الضارة في بيئة معزولة مع تتبع سلوكها الديناميكي وجمع الأدلة الجنائية.

تم اشتقاق CAPE من Cuckoo v1 الذي يتميز بالقدرات الأساسية التالية على منصة Windows:

  • التتبع السلوكي القائم على ربط واجهة برمجة التطبيقات (API hooking)
  • التقاط الملفات التي تم إنشاؤها وتعديلها وحذفها أثناء التنفيذ
  • التقاط حركة مرور الشبكة بتنسيق PCAP
  • تصنيف البرامج الضارة بناءً على التوقيعات السلوكية والشبكية
  • لقطات شاشة لسطح المكتب تم التقاطها أثناء تنفيذ البرنامج الضار
  • تفريغ كامل للذاكرة للنظام المستهدف

يكمل CAPE مخرجات صندوق رمل Cuckoo التقليدية بعدة إضافات رئيسية:

  • فك تغليف ديناميكي آلي للبرامج الضارة
  • تصنيف البرامج الضارة بناءً على توقيعات YARA للحمولات المفكوكة
  • استخراج تكوين البرامج الضارة بشكل ثابت وديناميكي
  • مصحح آلي قابل للبرمجة عبر توقيعات YARA، مما يسمح بـ:
    • أدوات فك تغليف/استخراج تكوين مخصصة
    • إجراءات مضادة ديناميكية لمكافحة صندوق الرمل
    • تتبعات التعليمات
  • سطح مكتب تفاعلي

توجد نسخة تجريبية مجانية على الإنترنت يمكن لأي شخص استخدامها:

https://capesandbox.com - لتفعيل الحساب تواصل مع https://twitter.com/capesandbox

بعض التاريخ

بدأ مشروع Cuckoo Sandbox كمشروع Google Summer of Code في عام 2010 ضمن The Honeynet Project. تم تصميمه وتطويره في الأصل بواسطة Claudio Guarnieri، وتم إصدار أول نسخة تجريبية في عام 2011. في يناير 2014، تم إصدار Cuckoo v1.0.

كان عام 2015 عامًا محوريًا، مع انشقاق كبير في تاريخ Cuckoo. توقف تطوير المراقب الأصلي وطريقة ربط API في مشروع Cuckoo الرئيسي. تم استبداله بـ مراقب بديل يستخدم تنسيق توقيع قائم على restructuredText تم تجميعه عبر سلسلة أدوات Linux، من إنشاء Jurriaan Bremer.

في نفس الوقت تقريبًا، تم إنشاء انشقاق يسمى Cuckoo-modified بواسطة Brad 'Spender' Spengler لمواصلة تطوير المراقب الأصلي مع تحسينات كبيرة بما في ذلك دعم 64 بت والأهم تقديم مترجم Microsoft Visual Studio.

خلال تلك السنة نفسها، بدأ تطوير أداة سطر أوامر ديناميكية لاستخراج التكوين والحمولة تسمى CAPE في Context Information Security بواسطة Kevin O'Reilly. تم صياغة الاسم كاختصار لـ 'Config And Payload Extraction' وركز البحث الأصلي على استخدام خطافات API التي توفرها مكتبة Detours الخاصة بشركة Microsoft لالتقاط حمولات وتكوين البرامج الضارة المفكوكة. ومع ذلك، أصبح من الواضح أن خطافات API وحدها لا توفر القوة والدقة الكافية للسماح بفك تغليف الحمولات أو التكوينات من أي برمجيات ضارة.

لهذا السبب بدأ البحث في مفهوم مصحح جديد للسماح بالتحكم الدقيق وتتبع البرامج الضارة مع تجنب استخدام واجهات تصحيح Microsoft، وذلك ليكون متخفيًا قدر الإمكان. تم دمج هذا المصحح في أداة سطر الأوامر الأولية القائمة على Detours، مما يجمع بين خطافات API وينتج عنه قدرات قوية جدًا.

عندما أظهر العمل الأولي أنه سيكون من الممكن استبدال Microsoft Detours بمحرك ربط API الخاص بـ Cuckoo-modified، وُلدت فكرة CAPE Sandbox. مع إضافة المصحح، وفك التغليف الآلي، والتصنيف القائم على YARA، واستخراج التكوين المتكامل، تم إصدار CAPE Sandbox لأول مرة في سبتمبر 2016 في 44con: CAPE الإصدار 1.

في صيف 2018، كان المشروع محظوظًا برؤية بداية مساهمات ضخمة من Andriy 'doomedraven' Brukhovetskyy، وهو مساهم طويل الأمد في Cuckoo. في عام 2019 بدأ المهمة الضخمة لنقل CAPE إلى Python 3 وفي أكتوبر من ذلك العام تم إصدار CAPEv2.

تم تطوير CAPE باستمرار وتحسينه لمواكبة التطورات في كل من البرامج الضارة وقدرات أنظمة التشغيل. في عام 2021، تمت إضافة القدرة على برمجة مصحح CAPE أثناء التفجير عبر فحوصات YARA الديناميكية، مما يسمح بإنشاء تجاوزات ديناميكية لتقنيات مكافحة صندوق الرمل. أصبح Windows 10 هو نظام التشغيل الافتراضي، وتشمل الإضافات الهامة الأخرى سطح المكتب التفاعلي، والتقاط الحمولة عبر AMSI (واجهة فحص البرامج الضارة)، و 'syscall hooking' بناءً على Microsoft Nirvana وإجراءات مضادة لاستدعاءات النظام المباشرة/غير المباشرة القائمة على المصحح.

التصنيف

image

يمكن تصنيف البرامج الضارة في CAPE عبر ثلاث آليات:

  • فحوصات YARA للحمولات المفكوكة
  • فحوصات Suricata لالتقاطات الشبكة
  • توقيعات سلوكية تمسح مخرج ربط API

استخراج التكوين

image

يمكن إجراء التحليل باستخدام إطار CAPE الخاص، بدلاً من ذلك يتم دعم الأطر التالية: RATDecoders، DC3-MWCP، MalDuck، أو MaCo

ملاحظة خاصة حول أطر تحليل التكوين:

  • نظرًا لطبيعة البرامج الضارة، حيث تتغير باستمرار عند إصدار أي إصدار جديد، فقد يصبح شيء ما معطلاً!
  • نقترح استخدام إطار CAPE وهو ببساطة Python نقي مع نقطة دخول def extract_config(data): سيتم استدعاؤها بواسطة cape_utils.py وبدون تعقيدات.
    • كمكافأة، يمكنك إعادة استخدام أدوات الاستخراج الخاصة بك في مشاريع أخرى.

فك التغليف الآلي

image

يستفيد CAPE من العديد من تقنيات أو سلوكيات البرامج الضارة للسماح بالتقاط الحمولات المفكوكة:

  • حقن العمليات
    • حقن شيل كود
    • حقن DLL
    • تجويف العملية
    • مضاعفة العملية
  • استخراج أو فك ضغط الوحدات القابلة للتنفيذ أو شيل كود في الذاكرة

ستؤدي هذه السلوكيات إلى التقاط الحمولات التي يتم حقنها أو استخراجها أو فك ضغطها لمزيد من التحليل. بالإضافة إلى ذلك، يقوم CAPE تلقائيًا بإنشاء تفريغ عملية لكل عملية، أو في حالة DLL، صورة وحدة DLL في الذاكرة. هذا مفيد للعينات المعبأة بأدوات تعبئة بسيطة، حيث غالبًا ما يكون تفريغ صورة الوحدة مفكوكًا بالكامل.

بالإضافة إلى آليات فك التغليف 'السلبية' الافتراضية لـ CAPE، من الممكن تمكين فك التغليف 'النشط' الذي يستخدم نقاط التوقف لاكتشاف الكتابة إلى مناطق ذاكرة مخصصة حديثًا أو محمية، من أجل التقاط الحمولات المفكوكة في أقرب وقت ممكن قبل التنفيذ. يتم تمكين ذلك عبر مربع اختيار الإرسال عبر الويب أو عن طريق تحديد الخيار unpacker=2 ويتم تركه معطلاً افتراضيًا لأنه قد يؤثر على جودة التفجير.

يمكن برمجة CAPE عبر توقيع YARA لفك تغليف أدوات تعبئة محددة. على سبيل المثال، أدوات التعبئة من نوع UPX شائعة جدًا، وعلى الرغم من أن هذه الأدوات في CAPE تؤدي إلى التقاط الحمولات المفكوكة بشكل سلبي، إلا أن الالتقاط الافتراضي يتم بعد أن تبدأ الحمولة المفكوكة في التنفيذ. لذلك من خلال اكتشاف أدوات التعبئة المشتقة من UPX ديناميكيًا عبر توقيع YARA مخصص وتعيين نقطة توقف على تعليمة التعبئة النهائية، من الممكن التقاط الحمولة عند نقطة الدخول الأصلية (OEP) قبل أن تبدأ في التنفيذ.

image

image

يسمح الخيار dump-on-api بتفريغ وحدة عند استدعائها لوظيفة API محددة يمكن تحديدها في الواجهة الويب (مثال: dump-on-api=DnsQuery_A).

المصحح

سمح المصحح لـ CAPE بمواصلة التطور إلى ما بعد قدراته الأصلية، والتي تتضمن الآن تجاوزات ديناميكية لمكافحة التهرب. نظرًا لأن البرامج الضارة الحديثة تحاول عادةً التهرب من التحليل داخل صناديق الرمل، على سبيل المثال باستخدام مصائد زمنية للمحاكاة الافتراضية أو كشف خطافات API، يسمح CAPE بتطوير إجراءات مضادة ديناميكية تجمع بين إجراءات المصحح داخل توقيعات Yara لاكتشاف البرامج الضارة المراوغة أثناء تفجيرها، وإجراء تلاعب في تدفق التحكم لإجبار العينة على التفجير بالكامل أو تخطي الإجراءات المراوغة.

image image

الوصول السريع إلى المصحح ممكن باستخدام خيارات الإرسال bp0 إلى bp3 التي تقبل قيم RVA أو VA لتعيين نقاط التوقف، حيث سيتم إخراج تتبع تعليمات قصير، محكوم بخيارات count و depth (مثال: bp0=0x1234,depth=1,count=100). image

لتعيين نقطة توقف عند نقطة دخول الوحدة، يُستخدم ep بدلاً من عنوان (مثال: bp0=ep). بدلاً من ذلك، break-on-return يسمح بنقطة توقف على عنوان الإرجاع لوظيفة API تم ربطها (مثال: break-on-return=NtGetContextThread). المعامل الاختياري base-on-api يسمح بتعيين قاعدة الصورة لنقاط توقف RVA بواسطة استدعاء API (مثال: base-on-api=NtReadFile,bp0=0x2345).

image

الخيارات action0 إلى action3 تسمح بتنفيذ إجراءات عند الوصول إلى نقاط التوقف، مثل تفريغ مناطق الذاكرة (مثال: action0=dumpebx) أو تغيير تدفق التحكم في التنفيذ (مثال: action1=skip). تحتوي وثائق CAPE على أمثلة أخرى لهذه الإجراءات.

capemon

المستودع الذي يحتوي على كود مراقب CAPE منفصل.

ملخص التحديثات سجل التغييرات

مساهمات المجتمع

يوجد مستودع مجتمع للتوقيعات يحتوي على عدة مئات من التوقيعات التي طورها مجتمع CAPE. يجب دفع جميع الميزات المجتمعية الجديدة إلى هذا المستودع. لاحقًا يمكن نقلها إلى النواة إذا كان المطورون قادرين وراغبين في صيانتها.

يرجى المساهمة في هذا المشروع من خلال المساعدة في إنشاء توقيعات جديدة، أو محللات، أو تجاوزات لعائلات برامج ضارة أخرى. هناك العديد منها قيد التطوير حاليًا، لذا ترقبوا.

شكر كبير لـ @D00m3dR4v3n على نقله الفردي لـ CAPE إلى Python 3.

توصيات التثبيت والبرامج النصية للأداء الأمثل

  • Python3

    • تم اختبار agent.py مع إصدارات Python (3.7.2|3.8) x86. يجب عليك استخدام إصدار Python x86 داخل VM!
    • تم اختبار المضيف مع إصدارات Python3 3.10 و3.12، ولكن الإصدارات الأحدث يجب أن تعمل أيضًا.
  • يجب تنفيذ rooter فقط كجذر (root)، والباقي كمستخدم cape. تشغيله كجذر سيعبث بالأذونات.

  1. تعرف على الوثائق و__اقرأ جميع__ ملفات التكوين داخل مجلد conf!
  2. للتوافق الأفضل نوصي بشدة بالتثبيت على Ubuntu 24.04 LTS واستخدام Windows 10 أو Windows 11 23H2 كهدف.
  3. kvm-qemu.sh و cape2.sh يجب تنفيذهما من جلسة tmux لمنع أي مشاكل في نظام التشغيل إذا انقطع اتصال ssh.
  4. يوصى باستخدام KVM كمراقب للجهاز الافتراضي.
  • استبدل <username> بنمط حقيقي.
  • تحتاج إلى استبدال كل <WOOT> في الداخل!
  • اقرأه! يجب أن تفهم ما يفعله! يحتوي على تكوين في رأس البرنامج النصي.
  • sudo ./kvm-qemu.sh all <username> 2>&1 | tee kvm-qemu.log
  1. لتثبيت CAPE نفسه، استخدم cape2.sh مع جميع التحسينات
    • اقرأ وافهم ما يفعله! هذا ليس حلاً سحريًا لجميع مشاكلك! يحتوي على تكوين في رأس البرنامج النصي.
    • sudo ./cape2.sh base 2>&1 | tee cape.log
  2. بعد تثبيت كل شيء، احفظ كلا سجلي التثبيت كمرجع ذهبي!
  3. قم بتكوين CAPE عن طريق إجراء تعديلات على ملفات التكوين داخل مجلد conf.
  4. أعد تشغيل جميع خدمات CAPE لتفعيل تغييرات التكوين وتشغيل CAPE بشكل صحيح!
    • خدمات CAPE
      • cape.service
      • cape-processor.service
      • cape-web.service
      • cape-rooter.service
      • لإعادة تشغيل أي خدمة استخدم systemctl restart <service_name>
      • لعرض سجل الخدمة استخدم journalctl -u <service_name>
    • لتصحيح أي مشكلة، أوقف الخدمة ذات الصلة وقم بتشغيل الأمر الذي يشغل تلك الخدمة يدويًا لرؤية المزيد من السجلات. تحقق من -h لقائمة المساعدة. يمكن أن يساعد تشغيل الخدمة في وضع التصحيح (-d) أيضًا.
  5. أعد التشغيل واستمتع!
  • جميع البرامج النصية تحتوي على مساعدة -h، ولكن يرجى التحقق من البرامج النصية لـ فهم ما تفعله.

كيفية إنشاء أجهزة افتراضية باستخدام virt-manager، انظر الوثائق للتكوين

  • خطوة بخطوة

تبعية أساسية للجهاز الافتراضي

  • choco.bat

كيفية التحديث

  • CAPE: git pull
  • المجتمع: python3 utils/community.py -waf انظر -h قبل ذلك للتأكد من أنك تفهم

كيفية الترقية مع الكثير من التعديلات الصغيرة المخصصة التي لا يمكن أن تكون عامة؟

باستخدام rebase

root@kitploit:~
git add --all
git commit -m '[STASH]'
git pull --rebase origin master
# fix conflict (rebase) if needed
git reset HEAD~1

باستخدام merge

root@kitploit:~
# make sure kevoreilly repo has been added as a remote (only needs to be done once)
git remote add kevoreilly https://github.com/kevoreilly/CAPEv2.git
# make sure all your changes are commited on the branch which you will be merging
git commit -a -m '<your commit message goes here>'
# fetch changes from kevoreilly repo
git fetch kevoreilly
# merge kevoreilly master branch into your current branch
git merge kevoreilly/master
# fix merge conflicts if needed
# push to your repo if desired
git push

كيفية الاستشهاد بهذا العمل

إذا كنت تستخدم CAPEv2 في عملك، فيرجى الاستشهاد به كما هو محدد في قائمة "Cite this repository" على GitHub.

ملاحظة خاصة حول تبعيات الطرف الثالث:

  • لقد أصبحت صداعًا، خاصة تلك التي تستخدم pefile حيث أن كل منها يثبت الإصدار الذي يريده.
    • اقتراحنا هو استنساخها/تفرعها، وإزالة تبعية pefile حيث أنك قمت بالفعل بتثبيتها. وفويلا، لا مزيد من الألم.

الوثائق

  • ReadTheDocs
  • DeepWiki - تم إنشاؤه بواسطة الذكاء الاصطناعي، قد يكون بعضها خاطئًا لكنه دقيق بشكل عام.
تنزيل الأداة