
إطار عمل بسيط لمسح الثغرات الأمنية
تهدف هذه الأداة إلى فحص الملفات في دليل معين لاكتشاف استدعاءات الدوال غير الآمنة أو الضعيفة أو الخطيرة. صُممت لتكون قابلة للتوسع وسهلة الفهم؛ يمكنك "توصيل وتشغيل" وحدات تحدد معايير لأنواع الملفات التي ستُشغِّل "فحوصات" معينة، حيث تحدد الإجراء الذي يجب اتخاذه للعثور على محتوى خطير داخل كل ملف والإبلاغ عنه.
أيضًا، يمكن تشغيلها كأداة تجريبية للـ fuzzing الآلي. باستخدام وحدات فعالة، يمكن تكييف الإطار ليقوم تلقائيًا بـ fuzzing للملفات التنفيذية. يمكنك تنفيذ أدوات fuzzing باستخدام الصنف العام fuzz.fuzzer.Fuzzer. تحذير: هذا صنف فرعي من scan.scanner.Scanner، لكنه سيُنفِّذ جميع الملفات التي تملك صلاحية التنفيذ! كن حذرًا!
$ ./peach.py -h
usage: peach.py [-h] [-s] [-f] [--follow] [-c CONFIG] [-o OUTPUT] [-sh] [-nh]
paths [paths ...]
positional arguments:
paths files and directories to scan
optional arguments:
-h, --help show this help message and exit
-s, --scan use configuration file for vulnerability scanning
(vulnscan.json).
-f, --fuzz use configuration file for automated fuzzing
(fuzzing.json).
--follow follow symbolic links when scanning directories
-c CONFIG, --config CONFIG
specify a custom configuration file (default:
vulnscan.json)
-o OUTPUT, --output OUTPUT
output results to the specified JSON file
-sh, --scan-hidden Scan hidden files and directories (default)
-nh, --no-hidden Do not scan hidden files and directories
هذا هو جوهر الأداة؛ النص البرمجي Python الذي يبدأ جميع [الخيوط] والفحوصات من [وسائط سطر الأوامر] المعطاة.
يستضيف هذا الدليل جميع الأصناف التي يمكن نسخها وتوسيعها لفحوصات ملفات محددة، حيث يمكنك فعل أي شيء تقريبًا تريده. تم وضعها في هذا المجلد فقط للحفاظ على النظافة.
يعمل هذا كتهيئة عامة؛ في هذا الملف JSON تحدد الفحوصات التي تريد تشغيلها لجميع الملفات المُعالَجة، وتحدد أي معايير تريد استخدامها لتحديد تلك الملفات (امتداد الملف، [نوع MIME]، أو قابل للتنفيذ). يجب أن تكون جميع الماسحات الضوئية المدرجة في هذه التهيئة مجرد ماسحات ضوئية فقط. لا يُدرج أي أدوات fuzzing هنا!
هذا الملف مشابه لـ vulnscan.json باستثناء أنه يحتوي على مراجع لأدوات fuzzing ويمكن استخدامه لبدء fuzzing آلي لدليل أو ملف. تحذير: استخدام هذه التهيئة سيقوم بتنفيذ جميع الملفات التي تملك صلاحيات تنفيذ! كن حذرًا عند استخدامها!
يحتفظ هذا الدليل بأي شيء تم استخدامه غالبًا لاختبار بعض الماسحات الضوئية. يمكنك الإضافة إليه كما تشاء.
هذا كل شيء! الفكرة وراء الأداة بسيطة؛ القوة الحقيقية تأتي من بناء ماسحات ضوئية لاكتشاف أي محتوى أو كود مشاغب في كميات كبيرة من البيانات غير المعروفة والإبلاغ عنه. لذا أضف الماسح الضوئي الخاص بك!
قد تحتاج إلى زيادة الحد الأقصى لعدد الملفات المفتوحة في نظامك لاستخدام جميع أدوات fuzzing المقدمة مع هذه الأداة. نظرًا لتشغيل أدوات fuzging في وقت واحد، يتراكم عدد كبير من الملفات المفتوحة بسرعة. في معظم الأنظمة الحديثة، الحد الأقصى هو 1024، مما سيؤدي إلى خطأ "نفاد الملفات" (EMFILE). زيادة الحد الأقصى لعدد الملفات المفتوحة لنظامك يجب أن يحل المشكلة.
colors.pyتعمل هذه الوحدة الصغيرة كغلاف لـ colorama، في محاولة لتوفير بعض استدعاءات الدوال المختصرة.