Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/ehabhussein/autogadgetfs
الاختبار العشوائياختراق الأجهزةاختبار الاختراق
GitHubehabhussein/autogadgetfs

AutoGadgetFS

اختبار USB بسهولة

عرض المستودعالموقع الإلكتروني
1232321منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

تبرعات الإيثيريوم : 0xA919e40ddB0563918dDc174320D91992e0048477

جدول المحتويات

  1. ما هو AutoGadgetFS؟

  2. المتطلبات

  3. الإعداد

    أ. اختبار الجهاز فقط

    ب. إعداد agfs الأدنى في المنتصف

    ج. إعداد agfs الكامل في المنتصف مع دعم التصحيح

  4. دعم فئة جهاز USB

  5. الإمكانيات

  6. خارطة الطريق

  7. التثبيت

    أ. Linux

    ب. Raspberry Pi Zero مع WiFi

  8. دروس AutoGadgetFS

  9. لقطات الشاشة

  10. قائمة تشغيل يوتيوب

  11. Slack

  12. بدعم من

  13. اشتر لي قهوة ☕️

  14. اتصل بي

  15. هل تريد المساهمة؟


ما هو AutoGadgetFS؟

AutoGadgetFS هو إطار عمل مفتوح المصدر يتيح للمستخدمين تقييم أجهزة USB والمضيفين/المشغلات/البرامج المرتبطة بها دون الحاجة إلى معرفة متعمقة ببروتوكول USB. الأداة مكتوبة بلغة Python3 وتستخدم RabbitMQ والوصول عبر WiFi لتمكين الباحثين من إجراء تقييمات أمنية عن بُعد لأجهزة USB من أي مكان في العالم. من خلال الاستفادة من ConfigFS، يتيح AutoGadgetFS للمستخدمين استنساخ الأجهزة ومحاكاتها بسرعة، مما يلغي الحاجة إلى التعمق في تفاصيل كل تطبيق. كما يسمح الإطار للمستخدمين بإنشاء أدوات اختبار تشويش خاصة بهم فوقه.


المتطلبات:

  • 💻 جهاز مضيف يعمل بنظام Linux (Debian/Ubuntu/Kali)
  • 🥧 Raspberry Pi Zero مع دعم WiFi
  • 🎯 خيارات الجهاز المستهدف:
    • آلة افتراضية
    • جهاز مستقل
  • 🔌 2 كابل USB micro
  • 🔱 جهاز USB مستهدف
  • 🐞 مصحح أجهزة (اختياري)

الإعداد:

أ. اختبار الجهاز فقط

ب. إعداد agfs الأدنى في المنتصف

ج. إعداد agfs الكامل في المنتصف مع دعم التصحيح```bash Device testing only:

<div style="text-align:center"><img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/devtest.jpeg" width="450" height="187" /></div>

<a name="MMITM"/>```bash
Minimal agfs in the middle setup:

```bash Complete agfs in the middle setup with debugging support:

<div style="text-align:center"><img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/scenario2.jpeg"/></div>

---

<a name="Usbdev"/>

### دعم فئة أجهزة USB:

[✔️] أجهزة USB HID مدعومة بالكامل (رجل في المنتصف)

[⚠️] اختبار الجهاز فقط .. جميع أجهزة USB (بدون رجل في المنتصف)

[⏳] الإصدارات المستقبلية... جميع أجهزة USB (رجل في المنتصف)

---

<a name="Caps"/>

### الإمكانيات:

1. البحث عن جهاز USB واختياره والاتصال به بسهولة.
1. محاكاة أي جهاز USB HID.
1. إجراء AGFS في الوسط لاعتراض أجهزة HID (حفظ الاتصال على القرص).
1. اعتراض الجهاز (أي جهاز).
1. تسمح لك أدوات Fuzz متعددة بتشويش جهاز أو مضيف.
1. أدوات تشويش عشوائية (بحزم ذات طول ثابت أو عشوائي).
1. أدوات تشويش ذكية تتعلم من اتصالات USB السابقة.
1. أداة تشويش وصفية لتحديد البايتات المراد تشويشها مع ترك باقي الحزمة كما هي.
1. أداة تشويش الأدوات (Gadget Fuzzer).
1. أداة تشويش تسلسلية.
1. عداد نقل التحكم.
1. إعادة تشغيل الحزم من ملف.
1. إعادة تشغيل الحزم من التقاط USBLyzer محفوظ.
1. طريقة بصرية لعرض الحزم لتسهيل الهندسة العكسية للاتصال.
1. تنبيهات لجهاز في وضع DFU، أو إذا كان الجهاز يسرب معلومات.
1. يمكن أن يكون جهاز USB والمضيف في أي مكان على الإنترنت.
1. مراقبة التغييرات المفاجئة في الواجهة.

---

<a name="Road"/>

### خريطة الطريق:

1. اعتراض طلبات نقل التحكم إلى جهاز والرد عليها.
1. MITM ومحاكاة جميع أنواع الأجهزة.
1. واجهة قائمة على وحدة التحكم / QT.
1. دعم المزيد من الواجهات/نقاط النهاية على RPI zero W.
1. دعم المزيد من اللوحات مثل greatfet.
1. الانتقال إلى لوحة مخصصة.
1. العمل على جعل Raspberry pi تدعم محاكاة جهاز USB بشكل كامل مع جميع الواجهات.
1. ربط الحزم المرسلة والمستقبلة عبر أرقام التسلسل.

---

<a name="Installation"/>

### التثبيت:

<a name="Linux"/>

### آلة لينكس:

* ملاحظة: WSL/WSL2 غير مدعوم بسبب مشاكل في تمرير USB.

* قم بتثبيت Python3 و ipython3 و git و pip وخادم rabbitMQ

    ```bash
    sudo apt install python3 ipython3 git python3-pip rabbitmq-server dfu-util
    sudo service rabbitmq-server start
    ```

* قم باستنساخ المستودع

    ```bash
    git clone https://github.com/ehabhussein/AutoGadgetFS
    cd AutoGadgetFS
    ```

* قم بتثبيت المتطلبات

    ```bash
    sudo -H pip3 install -r requirements.txt
    ```

* قم بتخفيض إصدار prompt toolkit لتجربة ipython أفضل:

    ```bash
    sudo python3 -m pip install prompt-toolkit~=2.0
    ```

* قم بتمكين الواجهة الويب لـ rabbitMQ

    ```bash
    sudo rabbitmq-plugins enable rabbitmq_management
    http://localhost:15672/ للوصول إلى الواجهة الويب
    ```

* تسجيل الدخول إلى الواجهة الويب باستخدام بيانات الاعتماد *guest:guest*
  * ملاحظة: إذا لم تكن تقوم بتثبيت rabbitMQ على `localhost` فقم بإضافة المستخدم التالي وتسجيل الدخول به:
    ```bash
    sudo rabbitmqctl add_user autogfs usb4ever
    sudo rabbitmqctl set_user_tags autogfs administrator
    ```
  * قم بتحميل ملف تكوين rabbitMQ
    * في علامة التبويب العامة، انتقل إلى الأسفل لاستيراد التعريفات
    * قم بتحميل الملف الموجود في: *rabbitMQbrokerconfig/rabbitmq-Config.json*

    ```bash
    sudo service rabbitmq-server restart
    ```

* اختبر التثبيت

    ```python
    sudo ipython3
    
    Python 3.7.7 (default, Apr  1 2020, 13:48:52)
    Type 'copyright', 'credits' or 'license' for more information
    IPython 7.9.0 -- An enhanced Interactive Python. Type '?' for help.

    In [1]: import libagfs

    In [2]: x = libagfs.agfs()

    ***************************************
    AutoGadgetFS: USB testing made easy
    ***************************************
    Enter IP address of the rabbitmq server: 127.0.0.1
  
    In [3]: exit

    sudo `python3` agfsconsole.py
    
    ***************************************
    AutoGadgetFS: USB testing made easy
    ***************************************
    Enter IP address of the rabbitmq server: 127.0.0.1
    Give your project a name?!:
    ```   ```

* Patch Pyusb langID ( Not needed unless you get pyusb errors for langID ):
  * Edit the file `/usr/local/lib/python3/dist-packages/usb/util.py`
    * make changes to the `def get_string` method to look like below:

        ```python
        if 0 == len(langids):
            return "Error Reading langID"
            #raise ValueError("The device has no langid")
        if langid is None:
            langid = langids[0]
        elif langid not in langids:
            return "Error Reading langID"
            #raise ValueError("The device does not support the specified langid")
        ```

    * If you prefer to use `patch` apply the following patch to the file: `AutoGadgetFS/pyusb_patches/pyusb_langid.patch`

---

<a name="Rasp"/>

### Raspberry Pi Zero W:

* Obtain a copy of [Raspian Lite Edition](https://downloads.raspberrypi.org/raspios_lite_armhf_latest)
  * Burn the Image to the SD card using [BalenaEtcher](https://www.balena.io/etcher/)

* Mount the SD card on your machine and make the following changes:
  * In the `/path/to/sdcard/boot/config.txt` file add to the very end of the file:

    ```bash
    enable_uart=1
    dtoverlay=dwc2
    ```

  * In the `/path/to/sdcard/boot/cmdline.txt` add right after `rootwait`

    ```bash
    modules-load=dwc2
    ```

  * it should look like this make sure its on the same line:
تنزيل الأداة