
يبني أجهزة ويندوز افتراضية لتحليل البرامج الضارة بحيث لا تضطر إلى القيام بذلك بنفسك.
= Malboxes :toc: preamble :toclevels: 2 :twob: https://twitter.com/obilodeau :twhg: https://twitter.com/hugospns // github stuff ifdef::env-github[:github:]
ifndef::github[] // local logo image::docs/logos/main.svg[شعار Malboxes] endif::[]
ifdef::github[] // logo on github image::https://raw.githubusercontent.com/GoSecure/malboxes/master/docs/logos/main.svg?sanitize=true[شعار Malboxes]
.حالة المشروع // Travis Build Status image:https://img.shields.io/travis/GoSecure/malboxes/master.svg[حالة البناء (Travis CI), link=https://travis-ci.org/GoSecure/malboxes] // BlackHat Arsenal 2017 image:https://raw.githubusercontent.com/toolswatch/badges/master/arsenal/usa/2017.svg?sanitize=true[Black Hat Arsenal, link=https://www.toolswatch.org/2017/06/the-black-hat-arsenal-usa-2017-phenomenal-line-up-announced/] // Gitter Chat image:https://badges.gitter.im/malboxes_/Lobby.svg[link="https://gitter.im/malboxes_/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"] endif::[]
تقوم ببناء أجهزة ويندوز افتراضية لتحليل البرامج الضارة حتى لا تضطر إلى ذلك.
https://github.com/gosecure/malboxes
== المتطلبات
=== الحد الأدنى من المواصفات لجهاز البناء
=== Fedora
dnf install ruby-devel gcc-c++ zlib-devel
vagrant plugin install winrm winrm-fs
=== Debian
apt install vagrant git python3-pip
=== Ubuntu
apt install git python3-pip
=== ArchLinux
pacman -Sy vagrant packer python-pip git
== التثبيت
=== Linux/Unix
pip install malboxes:=== Windows
ملاحظة: بدءًا من ويندوز 10، يكون Hyper-V دائمًا قيد التشغيل أسفل نظام التشغيل. نظرًا لأن VT-X يحتاج إلى التشغيل حصريًا بواسطة مشرف افتراضي واحد،
https://github.com/GoSecure/malboxes/issues/39[فهذا يتسبب في فشل VirtualBox (و malboxes)]. لتعطيل Hyper-V والسماح بتشغيل VirtualBox، قم بتنفيذ الأمر التالي في موجه أوامر إداري ثم أعد التشغيل: bcdedit /set hypervisorlaunchtype off
==== باستخدام Chocolatey
تفترض الخطوات التالية أن لديك https://chocolatey.org/[Chocolatey] مثبتًا. بخلاف ذلك، اتبع إجراء التثبيت اليدوي <<Manually,الموضح أدناه>>.
==== يدويًا
C:\Windows\System32\=== للنشر على AWS (اختياري) قم بتشغيل هذا الأمر بعد التثبيت العادي:
vagrant plugin install vagrant-aws
ملاحظة: ميزة AWS تم اختبارها فقط على لينكس في الوقت الحالي ولا تدعم EC2 إصدار سطح المكتب 32 بت من ويندوز 10.
== الاستخدام
=== إنشاء الصندوق
ينشئ هذا الصندوق الأساسي الذي يتم استيراده في Vagrant. بعد ذلك يمكنك إعادة استخدام نفس الصندوق عدة مرات لكل تحليل عينة.
قم بتشغيل:
malboxes build <template>
يمكنك أيضًا عرض جميع القوالب المدعومة باستخدام:
malboxes list
سيؤدي هذا إلى بناء صندوق Vagrant جاهز لتحقيق البرامج الضارة يمكنك الآن تضمينه في Vagrantfile لاحقًا.
على سبيل المثال:
malboxes build win10_x64_analyst
يحتوي <<_configuration,قسم التهيئة>> على مزيد من المعلومات حول ما يمكن تهيئته باستخدام malboxes.
=== نسخ لكل تحليل
malboxes spin win10_x64_analyst <name>
سيؤدي هذا إلى إنشاء Vagrantfile جاهز لاستخدامه في تحليل البرامج الضارة. انقله
إلى دليل من اختيارك وقم بتشغيل:
vagrant up
بشكل افتراضي، سيتم مشاركة الدليل المحلي في الجهاز الافتراضي على سطح المكتب. يمكن
تغيير ذلك عن طريق التعليق على الجزء ذي الصلة من Vagrantfile.
على سبيل المثال:
malboxes spin win7_x86_analyst 20160519.cryptolocker.xyz
=== للنشر على AWS (اختياري)
يمكن لـ Malboxes تحميل جهاز افتراضي والتفاعل معه على خدمات Amazon Web Services. للقيام بذلك، اتبع هذه الخطوات:
. سيحتاج Malboxes إلى حاوية S3 على AWS لتحميل الجهاز الافتراضي قبل تحويله إلى AMI (صورة آلة أمازون). إذا لم يكن لديك واحدة، link:https://docs.aws.amazon.com/quickstarts/latest/s3backup/step-1-create-bucket.html[قم بإنشاء واحدة الآن.]
. يتطلب مثيلك أيضًا link:https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups[مجموعة أمان] تحتوي على قاعدة واحدة على الأقل تسمح بالاتصالات الواردة لـ WinRM (النوع: WinRM-HTTP، البروتوكول: TCP، نطاق المنفذ: 5985، المصدر: عنوان IP العام للمضيف).
. بعد ذلك، تحتاج إلى دور خدمة vmimport مهيأ.
اتبع القسم المسمى VM Import Service Role من https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html[هذا الدليل].
يجب تنفيذ هذه الخطوات باستخدام حساب لديه صلاحيات iam:CreateRole و iam:PutRolePolicy.
. إذا تم استخدام <<_configuration,التهيئة الافتراضية>>، قم بتغيير المشرف الافتراضي إلى aws واملأ الخيارات الإلزامية المتعلقة به. بخلاف ذلك، تأكد من إضافة جميع الخيارات المتعلقة بـ AWS إلى تهيئتك المخصصة.
. أخيرًا، يمكنك اتباع نفس الخطوات الموضحة في قسمي <<Box creation,إنشاء الصندوق>> و <<Per analysis instances,النسخ لكل تحليل>> لتشغيل مثيلك!
ملاحظة: قد يستغرق استيراد AMI وقتًا طويلاً جدًا (حوالي ساعة)، ومع ذلك يمكنك التحقق من حالة المهمة عن طريق القيام <<AMI import status,بهذا>>. في الوقت الحالي، يمكن بناء AMI واحد فقط لكل قالب.
==== حالة استيراد AMI قم بتثبيت awscli باستخدام pip:
pip install awscli
link:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration[قم بتهيئة] awscli باستخدام:
aws configure
ثم قم بتشغيل:
aws ec2 describe-import-image-tasks
==== RDP
للاتصال بمثيل على السحابة باستخدام RDP، قم بتشغيل هذا الأمر في نفس موقع Vagrantfile الخاص بك:
vagrant rdp -- /cert-ignore
لكي يعمل هذا، سيتطلب المثيل مجموعة أمان تسمح بالاتصالات الواردة لـ RDP (النوع: RDP، البروتوكول: TCP، نطاق المنفذ: 3389، المصدر: عنوان IP العام للمضيف).
ملاحظة: يمكنك تجاهل الخطأ التالي بأمان لأن rsync لم يتم تطبيقه بعد: No host IP was given to the Vagrant core NFS helper. This is an internal error that should be reported as a bug.
==== إيقاف مثيل
لإيقاف مثيل على السحابة، قم بتشغيل هذا الأمر في نفس موقع Vagrantfile الخاص بك:
vagrant halt
== التهيئة
توجد تهيئة Malboxes في دليل يتبع اصطلاحات نظام التشغيل المعتادة:
~/.config/malboxes/~/Library/Application Support/malboxes/C:\Users\<username>\AppData\Local\malboxes\malboxes\الملف يسمى config.js ويتم نسخه من ملف مثال عند التشغيل الأول.
الملف link:malboxes/config-example.js[مثال التهيئة] موثق.
=== دعم ESXi / vSphere
يستخدم Malboxes virtualbox كخلفية افتراضية ولكن منذ الإصدار 0.3.0 تمت إضافة دعم ESXi / vSphere. ملاحظات حول link:docs/esx-setup.adoc[الخطوات المطلوبة لدعم ESXi / vSphere متاحة]. نظرًا لأن إعداد كل شخص يختلف قليلاً، لا تتردد في فتح مشكلة إذا واجهت مشكلة أو تحسين وثائقنا عبر طلب سحب.
=== الملفات الشخصية
نستكشف مفهوم الملفات الشخصية التي يتم تخزينها بشكل منفصل عن التهيئة ويمكن استخدامها لإنشاء ملفات، أو تغيير السجل، أو تثبيت حزم إضافية. انظر link:malboxes/profile-example.js[profile-example.js] للحصول على مثال تهيئة. هذه القدرة الجديدة تجريبية وقابلة للتغيير مع تجربتنا لها.
=== مجموعات أمان AWS
حاليًا، لا يدعم Malboxes الإنشاء التلقائي لمجموعات الأمان، لذلك ستحتاج إلى استخدام وحدة تحكم AWS لإنشاء مجموعاتك. ومع ذلك، باستخدام المكتبة link:https://boto3.amazonaws.com/v1/documentation/api/latest/index.html[Boto3] يجب أن تكون هناك طريقة لتنفيذ ذلك.
== مزيد من المعلومات
=== فيديوهات
فيديو تقديمي
image::https://img.youtube.com/vi/oq6N3WLAoe8/0.jpg[link="https://www.youtube.com/watch?v=oq6N3WLAoe8"]
=== منشورات المدونة
=== العروض التقديمية
تم تقديم malboxes في https://www.nsec.io/2016/01/applying-devops-principles-for-better-malware-analysis/[NorthSec 2016] في محاضرة بعنوان Applying DevOps Principles for Better Malware Analysis ألقاها link:{twob}[Olivier Bilodeau] و link:{twhg}[Hugo Genesse]
== الترخيص
الشفرة مرخصة بموجب GPLv3+، راجع LICENSE للتفاصيل. الوثائق والمواد التقديمية مرخصة بموجب Creative Commons
Attribution-ShareAlike 4.0، راجع docs/LICENSE للتفاصيل.
== الإسناد
بعد أن كانت لدي فكرة عن سير عمل محسن لمحلل البرامج الضارة استنادًا إلى ما استخدمته للتطوير على خوادم لينكس (Vagrant)، قمت بالبحث سريعًا في Google إذا كان هناك شخص ما يفعل شيئًا مماثلاً في هذا الصدد.
وجدت مستودع https://github.com/m-dwyer/packer-malware[packer-malware] على
github من Mark Andrew Dwyer. تم تحميل Malboxes بفضل عمله الذي ساعدني
خاصة في مجالات ملفات Autounattend.xml.