
ماسح ضوئي للبرامج الضارة على الويب
ماسح برمجيات خبيثة (ويب) تم تطويره خلال Hackathon 2017 لـ CyperCamp
حاليًا، هناك بعض الميزات المتاحة لأي نوع من المواقع (مخصص أو CMS) وبعضها متاح فقط لمنصات محددة:
لتثبيت masc على جهاز الكمبيوتر الخاص بك، يمكنك ببساطة استنساخ هذا المستودع. يمكنك أيضًا تنزيل أحدث إصدار، وفك ضغطه وتجربته. أو ربما تفضل تثبيته باستخدام pip (pip3 install masc).
تحقق من المتطلبات قبل تشغيله.
تحقق من هذا الإشعار قبل ذلك إذا كنت تستخدم Debian Linux.
تحقق من هذا الإشعار قبل ذلك إذا كنت تستخدم Mac OSX.
تم اختبار masc فقط على منصات Linux و Mac OSX. يجب أن يعمل تحت Windows لكني لم أجربه بعد.
أولاً، لاحظ أن هذه الأداة تم تطويرها في بيئات Linux و Mac OSX، وحاليًا تم اختبارها فقط تحت أنظمة التشغيل هذه
santi@zenbook:$ pip3 install python-magic yara-python watchdog termcolor pypandoc progress pyclamd
في دفتر ملاحظاتي، بعد الترقية إلى Debian testing، بدأ masc في إظهار خطأ متعلق بـ Yara
OSError: /usr/lib/libyara.so: cannot open shared object file: No such file or directory
بعد تجربة الكثير من الحلول التي وجدتها على الإنترنت، أدركت أن هذا الملف موجود في جهازي في /usr/local/lib/python3.5/dist-packages/usr/lib، لذا قمت بإنشاء رابط رمزي من المسار السابق إلى /usr/lib
santi@zenbook:$ ln -s /usr/local/lib/python3.5/dist-packages/usr/lib/libyara.so /usr/lib/libyara.so
والآن، masc ومكتبة Yara يعملان دون مشاكل.
masc تم تطويره تحت Linux لكن تم اختباره تحت Mac OSX. على أي حال، يجب أن يعمل بدون مشاكل تحت أي نظام تشغيل متوافق مع Unix.
على وجه الخصوص، في Mac OSX لاحظت أنه من الضروري تثبيت Homebrew لاستخدام مكتبة python-magic بشكل صحيح كـ libmagic. تحقق أولاً من الرابط السابق للصفحة الرئيسية لـ brew ثم ستتمكن من التثبيت كما هو موضح أدناه:
santi@zenbook:$ brew install libmagic
أيضًا، في جهازي كان علي تغيير السطر الأول من نصوص masc.py. Python3 مثبت في /usr/local/bin ولا يُسمح بإنشاء روابط رمزية من /usr/bin
قم بتغيير السطر الأول في masc.py
#!/usr/bin/python3
بهذا السطر
#!/usr/local/bin/python3
على أي حال، يمكنك دائمًا تشغيل masc باستخدام مترجم Python بدلاً من تشغيل النص مباشرةً:
santi@zenbook:$ python3 masc.py
usage: masc [-h] [-af FILENAME] [--aw STRING] [-cc] [-c] [-l] [-b] [-m]
[-n NAME] [-p PATH] [-r] [-s] [-t {wordpress,drupal,custom}]
optional arguments:
-h, --help show this help message and exit
-af FILENAME, --add-file FILENAME
Add a suspect file to the dictionary
-aw STRING --add-word STRING
Add a suspect content to the dictionary
-cc, --clean-cache Clean masc cache (cache and logs files, NO backups)
-c, --clean-site Clean up the site (and apply some extra actions to hide information to attackers)
-l, --list-backups List local backups
-b, --make-backup Create a local backup of the current installation
-m, --monitor Monitor site to detect changes
-n NAME, --name NAME Name assigned to the scanned installation
-p PATH, --path PATH Website installation path
-r, --rollback Restore a local backup
-s, --scan Scan website for malware
-t {wordpress,drupal,custom}, --site-type {wordpress,drupal,custom}
which type of web you want to scan:: wordpress,
joomla, drupal or magento
الإجراءات التي يمكنك تنفيذها على تثبيت ويب هي:
ويجب أن تضع في اعتبارك أنه إذا كنت ترغب في تنفيذ بعض الإجراءات على نوع معين من تثبيت الويب، فمن الضروري تحديد النوع (-t أو --type) والمسار (-p أو --path).
على سبيل المثال، إذا كان لديك تثبيت WordPress في /var/www/html وتريد مسحه بالكامل:
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html
وإذا كنت ترغب في تنفيذ إجراءات التنظيف (لإزالة بعض البرمجيات الخبيثة، على سبيل المثال):
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html --clean-site
هناك عينتان من مواقع الويب المخترقة في ملف zip النماذج:
بالإضافة إلى ذلك، هناك مستودع في Docker Hub لإجراء الاختبارات masc-wordpress
يمكنك العثور على برنامج تعليمي حول كيفية استخدام masc في الويكي
إذا كنت ترغب في المساهمة في هذا المشروع، ألقِ نظرة على الويكي. هناك قسم حول كيفية المساهمة في هذا المشروع
شكرًا لـ OWASP WebMalwareScanner على بعض الأفكار وقواعد بيانات التوقيعات مع المجاميع الاختبارية وقواعد YARA (وكيفية تحميلها للعمل بها).
Santiago Faci [email protected]