Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
fuzzowski — مُشوش بروتوكول الشبكة الذي سنرغب في استخدامه. | Kitploit
أدوات/GitHubGitHub/nccgroup/fuzzowski
تحليل الثغرات الأمنيةالاختبار العشوائيأمن الشبكاتاختبار الاختراق
GitHubnccgroup/fuzzowski

fuzzowski

مُشوش بروتوكول الشبكة الذي سنرغب في استخدامه.

عرض المستودع
793114منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Fuzzowski

root@kitploit:~
       █      █       
       ████████       
      ██████████      
     ██  ████  ██     
     ██  ████  ██     
    ████      ████    
   █ ████████████ █   
   █  ██████████  █   مُختبر الشبكة Fuzzowski
   █    █     █   █           🄯  شركة Fuzzers
       ██     ██                بواسطة ماريو ريفاس

Travis

الفكرة هي أن تكون مُختبر بروتوكول الشبكة الذي سنرغب في استخدامه.

الهدف من هذه الأداة هو المساعدة طوال عملية اختبار بروتوكول الشبكة، مما يسمح بتعريف الاتصالات، والمساعدة في تحديد "المشتبه بهم" في تعطل الخدمة، وأكثر من ذلك بكثير.

آخر التغييرات

[16/12/2019]

  • وحدات توليد البيانات أعيدت كتابتها بالكامل (Primitives, Blocks, Requests)
    • تحسين مكتبات اختبار Strings، مما يسمح أيضًا بقوائم مخصصة وملفات وأوامر رد نداء
    • نوع البيانات Variable، الذي يأخذ متغيرًا معينًا من الجلسة أو المستخدم أو الرد
  • الجلسة (Session) أعيدت كتابتها بالكامل. الآن تعتمد على TestCases، والتي تحتوي على جميع المعلومات اللازمة لتنفيذ الطلب، والتحقق من الرد، وتخزين البيانات مثل الأخطاء المستلمة، إلخ.
  • الردود (Responses) أضيفت. الآن يمكنك تعريف الردود باستخدام s_response()، مما يسمح بالتحقق من الرد من الخادم، وتعيين المتغيرات، وحتى إجراء اختبارات إضافية على الرد للتحقق من وجود خطأ.
  • المراقبون (Monitors) الآن يحددون تلقائيًا TestCases كمشتبه بها إذا فشلت.
  • تمت إضافة مُختبر IPP (Internet Printing Protocol) الذي استخدمناه لاكتشاف عدة ثغرات في ماركات طابعات مختلفة خلال مشروعنا البحثي عن الطابعات (https://www.youtube.com/watch?v=3X-ZnlyGuWc&t=7s)

الميزات

  • يعتمد على Sulley Fuzzer لتوليد البيانات [https://github.com/OpenRCE/sulley]
  • في الواقع، مشتق من BooFuzz (وهو مشتق من Sulley) [https://github.com/jtpereyda/boofuzz ]
  • بايثون 3
  • ليس عشوائيًا (عدد محدود من الاحتمالات)
  • يتطلب "إنشاء الحزم" باستخدام الأنواع (بأسلوب spike fuzzer)
  • يسمح أيضًا بإنشاء حزم "خام" (Raw) من المعاملات، مع نقاط إدخال (مفيد جدًا لاختبار البروتوكولات البسيطة)
  • يحتوي على وحدة تحكم رائعة للإيقاف المؤقت والمراجعة وإعادة اختبار أي مشتبه به (prompt_toolkit للفوز)
  • يسمح بتخطي المعاملات التي تسبب أخطاء، تلقائيًا أو باستخدام وحدة التحكم
  • تنسيقات طباعة رائعة للحزم المشتبه بها (لمعرفة بالضبط ما تم اختباره)
  • يحفظ PoCs كنصوص بايثون لك عندما تحدد حالة اختبار كعطل
  • وحدات مراقبة لجمع معلومات عن الهدف، واكتشاف السلوكيات الشاذة، ووضع علامات على المشتبه بهم
  • وحدات إعادة تشغيل تعيد تشغيل الهدف إذا فقد الاتصال (مثل إيقاف تشغيل وتشغيل قابس ذكي)

البروتوكولات المنفذة

  • LPD (Line Printing Daemon): منفذ بالكامل
  • IPP (Internet Printing Protocol): منفذ جزئيًا
  • BACnet (Building Automation and Control networks Protocol): منفذ جزئيًا
  • Modbus (ICS communication protocol): منفذ جزئيًا

التثبيت

root@kitploit:~
virtualenv venv -p python3
source venv/bin/activate
pip install -r requirements.txt

المساعدة

root@kitploit:~
usage: python -m fuzzowski [-h] [-p {tcp,udp,ssl}] [-b BIND] [-st SEND_TIMEOUT]
                    [-rt RECV_TIMEOUT] [--sleep-time SLEEP_TIME] [-nc] [-tn]
                    [-nr] [-nrf] [-cr]
                    [--threshold-request CRASH_THRESHOLD_REQUEST]
                    [--threshold-element CRASH_THRESHOLD_ELEMENT]
                    [--ignore-aborted] [--ignore-reset] [--error-fuzz-issues]
                    [-c CALLBACK | --file FILENAME] -f
                    {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}
                    [-r FUZZ_REQUESTS [FUZZ_REQUESTS ...]]
                    [--restart module_name [args ...]]
                    [--restart-sleep RESTART_SLEEP_TIME]
                    [--monitors {IPPMon} [{IPPMon} ...]] [--path PATH]
                    [--document_url DOCUMENT_URL]
                    host port

       █      █       
       ████████       
      ██████████      
     ██  ████  ██     
     ██  ████  ██     
    ████      ████    
   █ ████████████ █   
   █  ██████████  █   مُختبر الشبكة Fuzzowski
   █    █     █   █           🄯  شركة Fuzzers
       ██     ██       

الحجج الموضعية:
  host                  المضيف الوجهة
  port                  المنفذ الوجهة

الحجج الاختيارية:
  -h, --help            عرض رسالة المساعدة هذه والخروج

خيارات الاتصال:
  -p {tcp,udp,ssl}, --protocol {tcp,udp,ssl}
                        البروتوكول (الافتراضي tcp)
  -b BIND, --bind BIND  الربط بالمنفذ
  -st SEND_TIMEOUT, --send_timeout SEND_TIMEOUT
                        ضبط مهلة send() (الافتراضي 5 ثوانٍ)
  -rt RECV_TIMEOUT, --recv_timeout RECV_TIMEOUT
                        ضبط مهلة recv() (الافتراضي 5 ثوانٍ)
  --sleep-time SLEEP_TIME
                        وقت النوم بين كل اختبار (الافتراضي 0)
  -nc, --new-conns      فتح اتصال جديد بعد كل حزمة من نفس الاختبار
  -tn, --transmit-next-node
                        إرسال العقدة التالية في الرسم البياني للعقدة المختبرة

خيارات RECV():
  -nr, --no-recv        عدم استقبال recv() في المقبس بعد كل إرسال
  -nrf, --no-recv-fuzz  عدم استقبال recv() في المقبس بعد إرسال طلب مختبر
  -cr, --check-recv     التحقق من استلام البيانات في recv()

خيارات الأعطال:
  --threshold-request CRASH_THRESHOLD_REQUEST
                        تعيين عدد الأعطال المسموح بها في طلب قبل تخطيه (الافتراضي 9999)
  --threshold-element CRASH_THRESHOLD_ELEMENT
                        تعيين عدد الأعطال المسموح بها في Primitive قبل تخطيه (الافتراضي 3)
  --ignore-aborted      تجاهل أخطاء ECONNABORTED
  --ignore-reset        تجاهل أخطاء ECONNRESET
  --error-fuzz-issues   تسجيل كمشكلة عند وجود أي مشكلة اتصال في العقدة المختبرة

خيارات الاختبار:
  -c CALLBACK, --callback CALLBACK
                        تعيين عنوان رد نداء للاختبار باستخدام مولد رد النداء بدلاً من الطفرات العادية
  --file FILENAME       استخدام محتويات ملف للطفرات

المختبرون:
  -f {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}, --fuzz {cops,dhcp,ipp,lpd,netconf,telnet_cli,tftp,raw}
                        البروتوكولات المتاحة
  -r FUZZ_REQUESTS [FUZZ_REQUESTS ...], --requests FUZZ_REQUESTS [FUZZ_REQUESTS ...]
                        طلبات البروتوكول لاختبارها، الافتراضي الكل
                          dhcp: [opt82]
                          ipp: [http_headers, get_printer_attribs, print_uri_message, send_uri, get_jobs, get_job_attribs]
                          lpd: [long_queue, short_queue, ctrl_file, data_file, remove_job]
                          telnet_cli: [commands]
                          tftp: [read]
                          raw: ['\x01string\n' '\x02request2\x00' ...]

خيارات إعادة التشغيل:
  --restart module_name [args ...]
                        وحدات إعادة التشغيل:
                          run: '<executable> [<argument> ...]' (مرر الأمر والحجج داخل علامات اقتباس، كحجة واحدة)
                          smartplug: سيُوقف تشغيل القابس الذكي ويعيد تشغيله
                          teckin: <PLUG_IP>
  --restart-sleep RESTART_SLEEP_TIME
                        تعيين ثواني النوم بعد العطل قبل المتابعة (الافتراضي 5)

خيارات المراقبة:
  --monitors {IPPMon} [{IPPMon} ...], -m {IPPMon} [{IPPMon} ...]
                        وحدات المراقبة:
                          IPPMon: يرسل رسالة IPP من نوع get-attributes إلى الهدف

خيارات أخرى:
  --path PATH           تعيين المسار عند اختبار بروتوكولات HTTP (الافتراضي /)
  --document_url DOCUMENT_URL
                        تعيين عنوان URL للوثيقة لـ print_uri

أمثلة

اختبر عملية IPP get_printer_attribs مع الخيارات الافتراضية:

python -m fuzzowski printer1 631 -f ipp -r get_printer_attribs --restart smartplug

asciicast

استخدم الميزة الخام (raw) من IPP لاختبار بروتوكول finger:

python -m fuzzowski printer 79 -f raw -r '{{root}}\n'

asciicast

استخدم الميزة الخام من IPP لاختبار بروتوكول finger، ولكن بدلاً من استخدام الطفرات المحددة مسبقًا، استخدم ملفًا:

python -m fuzzowski printer 79 -f raw -r '{{root}}\n' --file 'path/to/my/fuzzlist'

مثال على المختبر ذي الحالة (stateful fuzzer)، يوضح استخدام s_response و s_variable للحصول على رمز مميز مطلوب لاختبار طلب. يعتمد هذا المثال على حالة اختبار خادم HTTP الوهمي

asciicast

تنزيل الأداة