
صندوق تحليل برمجيات خبيثة قائم على بايثون يتكامل مع Sysinternals Procmon لجمع وتحليل والإبلاغ عن مؤشرات وقت التشغيل تلقائيًا مع فحص YARA وتوليد IOCs.
صندوق رمل تحليل البرامج الضارة Noriben
معلومات الاتصال: @bbaskin على تويتر brian _at_ thebaskins _dot_ com
Noriben هو نص برمجي مبني على بايثون يعمل مع Sysinternals Procmon لجمع وتحليل وإعداد تقارير حول مؤشرات وقت التشغيل للبرامج الضارة تلقائيًا. باختصار، يسمح لك بتشغيل تطبيق، والضغط على مفتاح، والحصول على تقرير نصي بسيط عن أنشطة العينة.
Noriben لا يتيح لك فقط تشغيل البرامج الضارة بشكل مشابه لصندوق الرمل، بل يتيح لك أيضًا تسجيل الأحداث على مستوى النظام بينما تقوم بتشغيل البرامج الضارة يدويًا بطرق خاصة تجعلها تعمل. على سبيل المثال، يمكنه الاستماع أثناء تشغيل تطبيق يتطلب خيارات سطر أوامر متفاوتة، أو تفاعل المستخدم. أو مراقبة النظام أثناء التنقل عبر التطبيق في مصحح الأخطاء.
بينما تم تصميم Noriben لتحليل البرامج الضارة، فقد تم استخدامه أيضًا على نطاق واسع لتدقيق تطبيقات البرامج العادية. في عام 2013، استخدمه مشروع Tor لتقديم تدقيق عام لحزمة متصفح Tor
أدناه فيديو لتصحيح أخطاء برنامج ضار يتحقق من الجهاز الظاهري بطريقة لا تزال تحصل على نتائج الصندوق الرمل (نقرات خاطئة بسبب مؤشر ماوس كان مبتعدًا بمقدار 5 بكسلات :))
Noriben يتطلب فقط Sysinternals procmon.exe (أو procmon64.exe) ليعمل. لا يتطلب تصفية مسبقة (على الرغم من أنها ستساعد كثيرًا) لأنه يحتوي على العديد من عناصر القائمة البيضاء لتقليل الضوضاء غير المرغوب فيها من نشاط النظام.
للحصول على شرح أكثر تفصيلاً، انظر عرض الشرائح الخاص بي من Black Hat 2015 Arsenal. ومنشور مدونة أكثر تفصيلاً: http://ghettoforensics.blogspot.com/2013/04/noriben-your-personal-portable-malware.html
لقد قمت أيضًا بتضمين واجهة أمامية مرغوبة جدًا، NoribenSandbox.py. يتيح لك هذا النص أتمتة تنفيذ Noriben داخل جهاز افتراضي ضيف واسترداد التقارير. يعمل حاليًا على OSX (ولكن سيتم نقله) وهو مسؤول عن: تشغيل جهاز افتراضي ولقطة محددة مسبقًا، ونسخ البرنامج الضار إلى الجهاز الافتراضي، وبدء Noriben والبرنامج الضار، والانتظار لفترة زمنية محددة مسبقًا، ونسخ النتائج إلى المضيف كملف ZIP، والتقاط لقطة شاشة للجهاز الافتراضي. يمكنك أيضًا استخدام --update لنسخ أحدث Noriben تلقائيًا من مضيفك، بحيث لا تضطر إلى إنشاء لقطات جديدة باستمرار عند إجراء تغيير على النص.
هل تريد رؤية ذلك قيد التشغيل؟
إذا كان لديك مجلد من ملفات تواقيع YARA، يمكنك تحديده باستخدام الخيار --yara. سيتم فحص كل ملف جديد يتم إنشاؤه مقابل هذه التواقيع مع عرض النتائج في نتائج المخرجات.
إذا كان لديك واجهة برمجة تطبيقات VirusTotal، ضعها في ملف باسم "virustotal.api" (أو قم بتضمينها مباشرة في النص البرمجي) لإرسال تجزئات MD5 للملفات تلقائيًا إلى VT للحصول على عدد النتائج الفيروسية.
يمكنك إضافة قوائم من MD5s للتجاهل التلقائي (مثل جميع ملفات النظام الخاصة بك). استخدم md5deep وضعها في ملف نصي، واستخدم --hash لقراءتها. سيتم وضع هذا في النهاية تحت التغييرات، على الرغم من ذلك.
يمكنك أتمتة النص لاستخدام صندوق الرمل. باستخدام -t لأتمتة وقت التنفيذ، و --cmd "path\exe" لتحديد ملف برنامج ضار، يمكنك تشغيل البرامج الضارة تلقائيًا، ونسخ النتائج إلى الخارج، ثم العودة لتشغيل عينة جديدة.
ميزة --generalize ستستبدل تلقائيًا المسارات المطلقة بمسارات بيئة Windows لتطوير أفضل لمؤشرات IOC. على سبيل المثال، سيتم حل C:\Users\malware_user\AppData\Roaming\malware.exe تلقائيًا إلى %AppData%\malware.exe.
الاستخدام:
--===[ Noriben v1.7.2
--===[ @bbaskin
الاستخدام: Noriben.py [-h] [-c CSV] [-p PML] [-f FILTER] [--hash HASH]
[--hashtype {MD5,SHA1,SHA256}] [--headless] [-t TIMEOUT]
[--output OUTPUT] [--yara YARA] [--generalize] [--cmd CMD]
[-d]
الوسائط الاختيارية:
-h, --help عرض رسالة المساعدة هذه والخروج
-c CSV, --csv CSV إعادة تحليل ملف Noriben CSV موجود
-p PML, --pml PML إعادة تحليل ملف Noriben PML موجود
-f FILTER, --filter FILTER
تحديد ملف فلتر Procmon PMC بديل
--hash HASH تحديد ملف القائمة البيضاء للتجزئات
--hashtype {MD5,SHA1,SHA256}
تحديد نوع التجزئة
--headless عدم فتح النتائج على الجهاز الافتراضي بعد المعالجة
-t TIMEOUT, --timeout TIMEOUT
عدد الثواني لجمع النشاط
--output OUTPUT المجلد لتخزين ملفات المخرجات
--yara YARA المجلد الذي يحتوي على قواعد YARA
--generalize تعميم مسارات الملفات لمتغيرات البيئة الخاصة بها.
الافتراضي: True
--cmd CMD سطر الأوامر المراد تنفيذه (بين علامتي اقتباس)
-d, --debug تمكين التصحيح
Brian Baskin <ضع اسمك هنا> <مرحب بالكتاب التقنيين!>
حقوق النشر 2015 Brian Baskin
مرخص بموجب ترخيص Apache، الإصدار 2.0 (الترخيص)؛ لا يجوز لك استخدام هذا العمل إلا وفقًا للترخيص. يمكنك الحصول على نسخة من الترخيص في ملف LICENSE، أو على:
http://www.apache.org/licenses/LICENSE-2.0
ما لم ينص القانون المعمول به أو يتم الاتفاق عليه كتابيًا، يتم توزيع البرنامج الموزع بموجب الترخيص على أساس "كما هو" دون ضمانات أو شروط من أي نوع، سواء كانت صريحة أو ضمنية. انظر الترخيص للحصول على الأذونات والقيود المحددة التي تحكم استخدامك.