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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
umap2 — Umap2 is the second revision of NCC Group's python based USB host security assessment tool. | Kitploit
أدوات/GitHubGitHub/nccgroup/umap2
Embedded Systems SecurityDynamic Analysis (Sandboxing)Vulnerability AnalysisFuzzingPenetration TestingHardware SecurityHardware & IoT Security
GitHubnccgroup/umap2

umap2

Umap2 is the second revision of NCC Group's python based USB host security assessment tool.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Umap2

Umap2 هي المراجعة الثانية لأداة تقييم أمان مضيف USB المبنية على Python من NCC Group.

ستتضمن هذه المراجعة جميع الميزات التي كانت مدعومة في المراجعة الأولى:

  • umap2emulate - محاكاة أجهزة USB
  • umap2scan - فحص مضيف USB لدعم الأجهزة
  • umap2detect - كشف نظام تشغيل مضيف USB (غير منفذ بعد)
  • umap2fuzz - اختبار التشويش على مضيف USB

في هذه المراجعة ستكون هناك بعض الميزات الإضافية:

  • يستخدم اختبار تشويش مضيف USB محرك kitty كأداة تشويش
  • لا تقتصر Umap2 على احتواء نصوص برمجية قابلة للتنفيذ فحسب، بل تُثبَّت أيضًا كحزمة ويمكن استخدامها كمكتبة

Umap2 مطوَّرة بواسطة فريق NCC Group وفريق Cisco SAS.

تحذير: لا تزال umap2 أداة تجريبية، في مرحلة ألفا. من المحتمل أن تتغير واجهات برمجة التطبيقات وأسماء الملفات القابلة للتنفيذ وما إلى ذلك في المستقبل القريب. استخدمها على مسؤوليتك الخاصة.

Support

  • IRC: #umap2 على Freenode <https://webchat.freenode.net/?channels=umap2>_ Installation

نظرًا لأن هذه نسخة مبكرة جدًا، فإن Umap2 غير متاحة بعد على pypi، وبدلاً من ذلك استخدم pip لتثبيتها مباشرة من github:

::

root@kitploit:~
$ pip install git+https://github.com/nccgroup/umap2.git#egg=umap2

Python Versions

Umap2 متوافقة مع python2/3 في معظم الأجزاء. ومع ذلك، فإن سكربت التشويش (umap2kitty) يعمل فقط على python2.

"الاعتماديات الاختيارية"

تُدرج اعتماديات Umap2 في setup.py وستُثبَّت مع umap2، ومع ذلك هناك بعض الأشياء التي قد ترغب في القيام بها لإضافة دعم لبعض الأجهزة:

Mass Storage

root@kitploit:~

1. يتطلب صورة قرص باسم **stick.img** في دليل التشغيل

MTP
~~~

1. يتطلب مجلدًا/ملفًا باسم **mtp_fs** في الدليل الحالي.
2. يتطلب حزمة Python باسم pymtpdevice. هذه الحزمة غير متوفرة على pypi
   في الوقت الحالي، ولكن يمكن تنزيلها وتثبيتها من هنا:
   https://github.com/BinyaminSharet/Mtp

Hardware
--------

- `Facedancer <http://goodfet.sourceforge.net/hardware/facedancer21/>`_
  هو العتاد الموصى به لـ Umap2.
  تم تطوير Umap2 بناءً عليه، وستحصل على أفضل دعم معه.
- `Raspdancer <http://wiki.yobi.be/wiki/Raspdancer>` مدعوم على RPi
- **GadgetFS** مدعوم جزئيًا.
  هذا الدعم تجريبي جدًا (أكثر من بقية أجزاء Umap2)
  ومحدود.
  
  - BeagleboneBlack ابتداءً من نواة Linux 4.4.9 مع برنامج تشغيل gadgetfs
    معدَّل
  - RaspberryPi Zero W ابتداءً من نواة Linux 4.12.0-rc3+ التي لا تتطلب
    تصحيحات
  - نظرًا لأن 4.12.0-rc3+ لا تتطلب تصحيحات، فقد تكون هناك أجهزة أخرى
    يمكن دعمها. إذا كنت تعرف جهازًا من هذا القبيل أو أجريت تغييرات لجعله
    يعمل على أجهزة أخرى، فيُرجى إخبارنا.

إذا كنت مهتمًا، فاقرأ **gadget/README.rst** لمزيد من المعلومات.

Usage
-----

Device Emulation

الوظيفة الأساسية لـ Umap2 هي محاكاة جهاز USB. يمكنك محاكاة أحد الأجهزة الموجودة (استخدم umap2list لرؤية الأجهزة المتاحة):

::

root@kitploit:~
$ umap2emulate -P fd:/dev/ttyUSB0 -C mass_storage

أو محاكاة جهازك الخاص:

::

root@kitploit:~
$ umap2emulate -P fd:/dev/ttyUSB0 -C ~/my_mass_storage.py

سيُضاف دليل تفصيلي لإضافة جهازك قريبًا، وفي هذه الأثناء، يمكنك إلقاء نظرة على أجهزة umap2 داخل umap2/dev/

Device Support Scanning

root@kitploit:~

يمكن لـ Umap2 محاولة اكتشاف أنواع أجهزة USB التي يدعمها المضيف.
ويتم ذلك عن طريق محاكاة كل جهاز من الأجهزة المنفذة في Umap2
لفترة زمنية قصيرة،
والتحقق مما إذا كانت رسالة خاصة بالجهاز قد أُرسلت.

::

    $ umap2scan -P fd:/dev/ttyUSB0

Vendor Specific Device Support Scanning

بالإضافة إلى فحص دعم فئات الأجهزة المختلفة، يمكن لـ Umap2 فحص المضيف بحثًا عن دعم الأجهزة الخاصة ببائع محدد.

يساعد الفحص الخاص بالبائع في تحديد برامج التشغيل الخاصة بالبائع المتوفرة على المضيف.

يمكن القيام بذلك باستخدام قاعدة بيانات Umap2 VID-PID الحالية (لا تزال قيد العمل عليها)، أو ملف آخر بنفس الصيغة:

::

root@kitploit:~
$ umap2vsscan -P fd:/dev/ttyUSB0 -d $UMAP2_DIR/data/vid_pid_db.py

أو عن طريق فحص نطاق vid-pid محدد - في هذا المثال - فحص كل مجموعة من VID من 0x1001 إلى 0x1004 و PID من 0x0000 إلى 0xffff:

::

root@kitploit:~
$ umap2vsscan -P fd:/dev/ttyUSB0 -s 1001-1004:0000-ffff

نرحب بشدة بأي تصحيحات/إضافات لملف vid_pid_db.py!

Fuzzing

root@kitploit:~

يمكن العثور على دليل تفصيلي لاختبار التشويش باستخدام Umap2 في 
`docs/fuzzing.rst <https://github.com/nccgroup/umap2/blob/master/docs/fuzzing.rst>`_

يتكون اختبار التشويش باستخدام Umap2 من ثلاث خطوات،
قد يتم دمجها في سكربت واحد في المستقبل.

1. اكتشف ترتيب الرسائل
   للمضيف الذي تريد اختبار تشويشه
   وجهاز USB الذي تحاكيه:

   ::

        $ umap2stages -P fd:/dev/ttyUSB0 -C keyboard -s keyboard.stages

2. ابدأ أداة التشويش kitty في شل منفصل،
   وزوّدها بالمراحل التي تم إنشاؤها في الخطوة 1.

   ::

        $ umap2kitty -s keyboard.stages

3. ابدأ محاكاة لوحة مفاتيح umap2 في وضع التشويش

   ::

        $ umap2fuzz -P fd:/dev/ttyUSB0 -C keyboard

بعد تنفيذ الخطوة 3، ستبدأ جلسة التشويش.

Note About MTP fuzzing
++++++++++++++++++++++

على الرغم من أن umap2 قد تُستخدم لمحاكاة واكتشاف أجهزة MTP
(انظر قسم "الاعتماديات الاختيارية" في هذا README)،
إلا أنها لا تقوم بتشويش طبقة MTP في الوقت الحالي.
من أجل تشويش طبقة MTP،
يمكنك استخدام أداة التشويش المدمجة في مكتبة MTP.
نخطط لدعم تشويش MTP مباشرة من umap2 في الإصدارات المستقبلية.

Host OS Detection

TBD

Toubleshooting

إذا واجهت مشكلات مع Umap2، فجرّب قسم استكشاف الأخطاء وإصلاحها <https://github.com/nccgroup/umap2/blob/master/docs/troubleshooting.rst>_

Raspdancer

تحتاج إلى مكتبات SPI-Py https://github.com/lthiery/SPI-Py و GPIO الخاصة بـ Python. استخدم phy rd

تنزيل الأداة