
ماسح اختطاف التطبيقات لنظام macOS

boko.py هو ماسح تطبيقات لنظام macOS يبحث ويحدد ثغرات اختطاف dylib المحتملة وثغرات dylib الضعيفة لملفات التطبيقات القابلة للتنفيذ، بالإضافة إلى البرامج النصية التي قد يستخدمها التطبيق والتي لديها القدرة على أن تكون مزودة بأبواب خلفية. كما تقوم الأداة بالإشارة إلى الملفات المثيرة للاهتمام وإدراجها بدلاً من تصفح نظام الملفات يدويًا للتحليل. مع وظيفة الاكتشاف النشط، لا مزيد من التخمين حول ما إذا كان الملف القابل للتنفيذ عرضة لاختراق dylib!
السبب وراء إنشاء هذه الأداة هو رغبتي في الحصول على تحكم أكبر في البيانات التي اكتشفها ماسح اختطاف Dylib Hijack Scanner. معظم الماسحات المتاحة للجمهور تتوقف بمجرد اكتشاف الحالة الأولى لـ dylib ضعيف دون توسيع بقية مسارات rpath. نظرًا لأن النتيجة الأولى يتم توسيعها أحيانًا في ملف غير موجود داخل منطقة محمية بـ SIP، أردت الحصول على بقية تلك المسارات الموسعة. بسبب ذلك، توجد إيجابيات كاذبة، لذا تقوم الأداة بتعيين حقل يقين لكل عنصر.
| اليقين | الوصف |
|---|---|
| مؤكد | الثغرة قابلة للاستغلال بنسبة 100% |
| عالي | إذا كانت الثغرة مرتبطة بملف تنفيذي رئيسي وكان rpath هو الثاني في ترتيب التحميل، فهناك فرصة جيدة لاستغلال الثغرة |
| محتمل | يتم تعيين ذلك إلى dylibs والبرامج النصية القابلة للاختراق، يستحق الفحص ولكن قد لا يكون قابلاً للاستغلال |
| منخفض | فرصة منخفضة لاستغلال هذا بسبب ترتيب التحميل المتأخر، لكن المعرفة قوة |
العمود الفقري لهذه الأداة مبني على scan.py من DylibHijack بقلم Patrick Wardle (@synack).
اطلع على الويكي لمزيد من المعلومات حول كيفية استخدام boko وكيفية استخدامه كفئة لأغراضك الخاصة.
boko.py [-h] (-r | -i | -p /path/to/app) (-A | -P | -b) [-oS outputfile | -oC outputfile | -oA outputfile] [-s] [-v]
يوصى فقط باستخدام الوضع النشط (-A) مع العلامة -p واختيار برنامج معين. أيضًا، من الجيد استخدام -v مع -oS أو -oA، إلا إذا كنت تبحث فقط عن ثغرات اليقين المؤكدة.
ملاحظة تحذيرية:
لا يُنصح بشدة بتشغيل هذه الأداة باستخدام العلمين -i و (-A أو -b) معًا. هذا المزيج سيفتح كل ملف قابل للتنفيذ على نظامك لمدة 3 ثوانٍ في كل مرة. أنا لا أتحمل أي مسؤولية عن تعطل نظامك أو تباطؤه بسبب تشغيل ذلك. بالإضافة إلى ذلك، إذا كان لديك برامج ضارة كامنة على نظامك، فسيؤدي ذلك إلى تنفيذها. كما أوصي بعدم فحص دليل /Applications بالكامل إذا كان لديك Xcode مثبتًا لأنه يستغرق وقتًا طويلاً جدًا.
python -m pip install psutil| الوسيطة | الوصف |
|---|
| -h, --help | عرض رسالة المساعدة هذه والخروج |
| -r, --running | فحص العمليات الجارية حالياً |
| -i, --installed | فحص جميع التطبيقات المثبتة |
| -p /file.app | فحص تطبيق معين مثل /Application/Safari.app |
| -A, --active | تنفيذ الملفات الثنائية القابلة للتنفيذ المكتشفة لتحديد dylibs القابلة للاختراق بشكل نشط |
| -P, --passive | إجراء الفحوصات فقط من خلال عرض رؤوس الملفات (الافتراضي) |
| -b, --both | تنفيذ كلتا طريقتي اختبار الثغرات |
| -oS outputfile | إخراج الإخراج القياسي إلى ملف .log |
| -oC outputfile | إخراج النتائج إلى ملف .csv |
| -oA outputfile | إخراج النتائج إلى ملف .csv وسجل قياسي |
| -s, --sipdisabled | استخدم إذا كان SIP معطلاً على النظام للبحث في المسارات القابلة للقراءة فقط عادةً |
| -v, --verbose | إخراج جميع النتائج في وضع التفصيل أثناء تشغيل البرنامج النصي، بدون ذلك يتم عرض فقط ثغرات اليقين المؤكدة على وحدة التحكم |