Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
AutoGadgetFS — Test USB reso facile | Kitploit
Strumenti/GitHubGitHub/ehabhussein/autogadgetfs
FuzzingHacking HardwarePenetration Testing
GitHubehabhussein/autogadgetfs

AutoGadgetFS

Test USB reso facile

Vedi RepositorySito web
1232375 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Donazioni Ethereum : 0xA919e40ddB0563918dDc174320D91992e0048477

Indice

  1. Cos'è AutoGadgetFS ?

  2. Requisiti

  3. La Configurazione

    a. Solo test del dispositivo

    b. Configurazione minima agfs in the middle

    c. Configurazione completa agfs in the middle con supporto debug

  4. Supporto classi di dispositivi USB

  5. Funzionalità

  6. RoadMap

  7. Installazione

    a. Linux

    b. Raspberry Pi Zero con WIFI

  8. Tutorial di AutoGadgetFS

  9. Screenshot

  10. Playlist Youtube

  11. Slack

  12. Supportato da

  13. Offrimi un caffè ☕️

  14. Contattami

  15. Vuoi contribuire ?


Cos'è AutoGadgetFS ?

AutoGadgetFS è un framework open source che consente agli utenti di valutare dispositivi USB e i relativi host/driver/software senza una conoscenza approfondita del protocollo USB. Lo strumento è scritto in Python3 e utilizza RabbitMQ e accesso WiFi per permettere ai ricercatori di condurre valutazioni remote della sicurezza USB da qualsiasi parte del mondo. Sfruttando ConfigFS, AutoGadgetFS consente agli utenti di clonare ed emulare dispositivi rapidamente, eliminando la necessità di approfondire i dettagli di ogni implementazione. Il framework permette inoltre agli utenti di creare i propri fuzzer basati su di esso.


Requisiti:

  • 💻 Macchina host con Linux (Debian/Ubuntu/Kali)
  • 🥧 Raspberry Pi Zero con supporto WIFI
  • 🎯 Opzioni macchina target:
    • Macchina virtuale
    • Macchina standalone
  • 🔌 2 cavi micro USB
  • 🔱 Dispositivo USB target
  • 🐞 Debugger hardware (Opzionale)

La Configurazione:

```bash Device testing only:

root@kitploit:~
<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:

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

---

<a name="Usbdev"/>

### Supporto per classi di dispositivi USB:

[✔️] Dispositivi USB HID completamente supportati (Man in the middle)

[⚠️] Test solo dispositivo .. Tutti i dispositivi USB (NO Man in the middle)

[⏳] Versioni future... Tutti i dispositivi USB (Man in the middle)

---

<a name="Caps"/>

### Funzionalità:

1. Trova, seleziona e collega a un dispositivo USB con facilità.
1. Emula qualsiasi dispositivo USB HID .
1. Esegue lo sniffing AGFS in the middle per dispositivi HID ( salva la comunicazione su disco ).
1. Sniffing del dispositivo ( Qualsiasi dispositivo ).
1. Fuzzer multipli consentono di Fuzz un dispositivo o un host.
1. Fuzzer casuali ( con pacchetti di lunghezza fissa o casuale ).
1. Fuzzer intelligenti che apprendono dalle comunicazioni USB precedenti.
1. Describe Fuzzer per dire al Fuzzer quali byte Fuzz lasciando il resto del pacchetto invariato.
1. Gadget Fuzzer.
1. Fuzzer sequenziale.
1. Enumeratore di trasferimenti di controllo.
1. Riproduzione di pacchetti da un file.
1. Riproduzione di pacchetti da una cattura USBLyzer salvata.
1. Modo visivo di presentare i pacchetti per facilitare il reverse engineering della comunicazione.
1. Avvisi per dispositivo in modalità DFU, o se il dispositivo perde informazioni.
1. Il dispositivo USB e l'host possono essere ovunque su Internet.
1. Monitora cambiamenti improvvisi dell'interfaccia.

---

<a name="Road"/>

### RoadMap:

1. Sniffa le richieste di trasferimento di controllo verso un dispositivo e rispondi ad esse.
1. MITM ed emula tutti i tipi di dispositivi.
1. Interfaccia basata su console/QT.
1. Più supporto per interfacce/endpoint su RPI zero W.
1. Supporto per più schede come la greatfet.
1. Passare a una scheda personalizzata.
1. Lavorare per far sì che raspberry pi abbia pieno supporto per l'emulazione di dispositivi usb con tutte le interfacce.
1. correlare i pacchetti inviati e ricevuti tramite numeri di sequenza.

---

<a name="Installation"/>

### Installazione:

<a name="Linux"/>

### Macchina Linux:

* Nota: WSL/WSL2 non è supportato a causa di problemi con il pass-through USB.

* Installa Python3, ipython3 ,git, pip e rabbitMQ server

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

* Clona il repository

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

* Installa i requisiti

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

* Downgrade prompt toolkit per una migliore esperienza ipython:

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

* Abilita l'interfaccia web per rabbitMQ

    ```bash
    sudo rabbitmq-plugins enable rabbitmq_management
    http://localhost:15672/ to reach the web interface
    ```

* accedi all'interfaccia web con le credenziali *guest:guest*
  * NOTA: se non stai installando rabbitMQ su `localhost` aggiungi il seguente utente e accedi con esso:
    ```bash
    sudo rabbitmqctl add_user autogfs usb4ever
    sudo rabbitmqctl set_user_tags autogfs administrator
    ```
  * Carica il file di configurazione di rabbitMQ
    * Nella scheda overview scorri fino in fondo per importare definizioni
    * Carica il file che si trova in: *rabbitMQbrokerconfig/rabbitmq-Config.json*

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

* Testa l'installazione

    ```bash
    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:

    ```bash
    console=serial0,115200 console=tty1 root=PARTUUID=6c586e13-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2
    ```

* Enable ssh:
  * in the `/path/to/sdcard/boot` directory create an empty file name ssh:

    ```bash
    sudo touch /path/to/sdcard/boot/ssh
    ```

* Enable Wifi:
  * in the `/path/to/sdcard/boot` directory create an file named `wpa_supplicant.conf`:

    ```bash
    sudo vim /path/to/sdcard/boot/wpa_supplicant.conf
    ```

  * Add the following contents:

    ```bash
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=US
    network={
                ssid="<your wifi SSID>"
                psk="<your wifi password>"
                key_mgmt=WPA-PSK
             }
    ```

* Unmount the SD card and place it back into the Raspberry Pi Zero and power it on.
* Copy the content of `AutogadgetFS/Pizero/` to the Pi zero: `username: pi` & `password: raspberry`

    ```bash
    cd AutogadgetFS/Pizero/
    scp gadgetfuzzer.py removegadget.sh requirements.txt router.py pi@<pi-ipaddress>:/home/pi
    ```

* SSH into the PI Zero and setup requirements for AutoGadgetFS:

    ```bash
    ssh pi@<pi-ip-address>
    chmod +x removegadget.sh
    sudo apt update
    sudo apt install python3 python3-pip
    sudo -H pip3 install -r requirements.txt
    ```
* Upgrading the latest kernel and adding modules (* This step is optional for the current release):
    ( This will take a very long time compiling on the Pi Zero, unless you choose to cross compile the kernel see [Compiling options](https://www.raspberrypi.org/documentation/linux/kernel/building.md))

    ```bash
    sudo bash
    apt install git bc bison flex libssl-dev make libncurses5-dev screen
    screen
    mkdir Downloads
    cd Downloads/
    git clone --depth=1 https://github.com/raspberrypi/linux
    cd linux/
    make bcmrpi_defconfig
    make menuconfig
    ```

    * Enable the Modules and save the config:

    <div style="text-align:center"><img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/allgadgets.png"/></div>
    <div style="text-align:center"><img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/allgadgets2.png"/></div>
    <div style="text-align:center"><img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/allgadgets3.png"/></div>
    <div style="text-align:center"><img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/allgadgets4.png"/></div>

    * Build and use the kernel:

    ```bash
    make zImage modules dtbs
    make modules_install
    cp arch/arm/boot/dts/*.dtb /boot/
    cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
    cp arch/arm/boot/dts/overlays/README /boot/overlays/
    cp arch/arm/boot/zImage /boot/kernel.img
    reboot
    ```


#### And you're done!

---

<a name="Tutorial"/>

### AutoGadgetFS tutorial:

[Click to visit the tutorial](https://docs.agfs.io/)

---

<a name="Screens"/>

### Screenshots:

##### Man in the Middle:

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

#### USB device fuzzing: 

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

#### Host side fuzzing with code covereage:

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

#### Fuzzer based on a selection of bytes:

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

#### Smart fuzzer based on learning traffic:

```python
In [44]: x.devSmartFuzz(engine="smart",samples=5,filename="/home/raindrop/PycharmProjects/AutoGadgetFs/binariesdb/Nud-Nuvoton-1046-20764-1590421333.5169587-Nuvoton-1046-20764-1590421600.8067
    ...: 274-device.bin")                                                                                                                                                                     


[+]Statistiche Generali
Set completo caratteri                : !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Set scartato caratteri           : !"#$%&'()*+,-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ghijklmnopqrstuvwxyz{|}~
Set finale caratteri               : 0123456789abcdef
Lunghezza parola                 : 128
Uso indice minuscole      : 92%
Posizioni indice minuscole  : [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 121, 122, 124, 125, 127]
Uso indice maiuscole      : 0%
Posizioni indice maiuscole  : []
Uso indice cifre      : 96%
Posizioni indice cifre  : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 123, 126]
Uso indice NonAN      : 0%
Posizioni indice NonAN  : []
Statistiche contatore          : Uppercase: 0 , Lowercase: 133071, Digits:212017 , NonAlphaNumeric:0
Tutte le frequenze caratteri        : 
carattere:5 trovato:5012 volte
carattere:2 trovato:22563 volte
carattere:3 trovato:12197 volte
carattere:8 trovato:15008 volte
carattere:4 trovato:13275 volte
carattere:0 trovato:98056 volte
carattere:1 trovato:17861 volte
carattere:f trovato:87823 volte
carattere:d trovato:7221 volte
carattere:7 trovato:9614 volte
carattere:a trovato:11148 volte
carattere:6 trovato:10472 volte
carattere:b trovato:8189 volte
carattere:9 trovato:7959 volte
carattere:c trovato:9172 volte
carattere:e trovato:9518 volte
***********************
generati:5 Pacchetti
***********************
Out[44]: 
['5608305852bf2ffd61770e2c827542f20be0b0fcba09db916bd07e1734b04cb0352b1d278068064d19f033bfad6fa90e53d865693fd4fee0214f00000eb0aa2c',
 '3b083595f276e2f1353a535c32f0f59516fc9328f7673bb80262c4da11c93683afe6dcff8a7a83018d78f41498a0da4d141ebd39c361b1724f2b00000eb0aa2c',
 '0120961963495c4dab9470738b497eddde07b0d70b357795ad9554d7964761969a6d997205e17eada6fa84eb33dcfb11412f75e04c195001283900000eb0aa2c',
 '091065d52127bbc6e840e02f8e1316f1c4d9c92a23931c00cdbb8c158368852ef8fabd461b98812b51ec84e1ccc5c04aaa366fbafabec623bd3500000eb0aa2c',
 '7300cc61151b7af27a578e766f49bebb2de68c48b37a00df1030ae464f456928eedd035303e697208bf58217af728a2a346fda5c8aef0335b82e00000eb0aa2c'

In [46]: https://raw.githubusercontent.com/ehabhussein/autogadgetfs/master/x.edap.packets                                                                                                                                                                       
Out[46]: 
['5608305852bf2ffd61770e2c827542f20be0b0fcba09db916bd07e1734b04cb0352b1d278068064d19f033bfad6fa90e53d865693fd4fee0214f00000eb0aa2c',
 '3b083595f276e2f1353a535c32f0f59516fc9328f7673bb80262c4da11c93683afe6dcff8a7a83018d78f41498a0da4d141ebd39c361b1724f2b00000eb0aa2c',
 '0120961963495c4dab9470738b497eddde07b0d70b357795ad9554d7964761969a6d997205e17eada6fa84eb33dcfb11412f75e04c195001283900000eb0aa2c',
 '091065d52127bbc6e840e02f8e1316f1c4d9c92a23931c00cdbb8c158368852ef8fabd461b98812b51ec84e1ccc5c04aaa366fbafabec623bd3500000eb0aa2c',
 '7300cc61151b7af27a578e766f49bebb2de68c48b37a00df1030ae464f456928eedd035303e697208bf58217af728a2a346fda5c8aef0335b82e00000eb0aa2c']```

#### Help method:

```python3
In [15]: x.help("")                                                                                                                                               

Metodi attualmente supportati:
__________________________________________________________________________________________________________________________________________________________________
Metodo                ||-->Descrizione
----------------------------------------------------------------------------------------------------------------------------
MITMproxy            ||-->Questo metodo crea una connessione a RabbitMQ e ascolta i messaggi ricevuti sulla coda todev
____________________________________________________________________________________________________________________________
MITMproxyRQueues     ||-->Questo metodo legge dalla coda todev e invia la richiesta al dispositivo stesso.
____________________________________________________________________________________________________________________________
SmartFuzz            ||-->Questo metodo genera pacchetti basandosi su ciò che ha appreso da uno sniff dall'host o dal dispositivo
____________________________________________________________________________________________________________________________
chgIntrfs            ||-->Questo metodo ti permette di cambiare e selezionare un'altra interfaccia
____________________________________________________________________________________________________________________________
clearqueues          ||-->Questo metodo pulisce tutte le code sulle code RabbitMQ configurate
____________________________________________________________________________________________________________________________
clonedev             ||-->Questo metodo non necessita di parametri; salva solo un backup del dispositivo nel caso in cui tu debba condividerlo o utilizzarlo in seguito.
____________________________________________________________________________________________________________________________
createctrltrsnfDB    ||-->Crea un database SQLite contenente i valori enumerati dall'enumerazione dei trasferimenti di controllo
____________________________________________________________________________________________________________________________
createdb             ||-->Crea la tabella sqlite e le colonne dalle acquisizioni di usblyzer
____________________________________________________________________________________________________________________________
decodePacketAscii    ||-->Questo metodo decodifica i byte del pacchetto in Ascii
____________________________________________________________________________________________________________________________
describeFuzz         ||-->Questo metodo ti permette di descrivere un pacchetto e selezionare quali byte saranno fuzzati
____________________________________________________________________________________________________________________________
devEnumCtrltrnsf     ||-->Questo metodo enumera tutte le possibili combinazioni di una richiesta di trasferimento di controllo
____________________________________________________________________________________________________________________________
devReset             ||-->Questo metodo resetta il dispositivo
____________________________________________________________________________________________________________________________
devWrite             ||-->Per usarlo con un metodo, scriveresti su un dispositivo; assicurati di eseguire startSniffReadThread(self,endpoint=None, pts=None, queue=None,channel=None)
____________________________________________________________________________________________________________________________
devctrltrnsf         ||-->Questo metodo ti permette di inviare richieste di trasferimento di controllo al dispositivo target
____________________________________________________________________________________________________________________________
deviceInfo           ||-->Ottiene le informazioni complete solo per qualsiasi USB connessa all'host
____________________________________________________________________________________________________________________________
deviceInterfaces     ||-->Ottiene tutte le interfacce e gli endpoint sul dispositivo
____________________________________________________________________________________________________________________________
devrandfuzz          ||-->Questo metodo ti permette di creare pacchetti di dimensione fissa o casuale generati con urandom
____________________________________________________________________________________________________________________________
devseqfuzz           ||-->Questo metodo ti permette di creare pacchetti incrementati sequenzialmente e inviarli al dispositivo
____________________________________________________________________________________________________________________________
findSelect           ||-->Questo metodo enumera tutti i dispositivi USB connessi e ti permette di selezionarlo come dispositivo target insieme ai suoi endpoint
____________________________________________________________________________________________________________________________
help                 ||-->Metodo di aiuto di AutogadgetFS
____________________________________________________________________________________________________________________________
hostwrite            ||-->Questo metodo scrive pacchetti all'host, targettando un software o un driver in controllo del dispositivo
____________________________________________________________________________________________________________________________
hstrandfuzz          ||-->Questo metodo ti permette di creare pacchetti di dimensione fissa o casuale generati con urandom e inviarli alla coda dell'host
____________________________________________________________________________________________________________________________
monInterfaceChng     ||-->Metodo responsabile del monitoraggio delle interfacce per rilevare modifiche; viene chiamato da def startMonInterfaceChng(self)
____________________________________________________________________________________________________________________________
newProject           ||-->Crea un nuovo nome di progetto se stavi testando qualcos'altro
____________________________________________________________________________________________________________________________
releasedev           ||-->Rilascia il dispositivo e riattacca il driver del kernel
____________________________________________________________________________________________________________________________
removeGadget         ||-->Questo metodo rimuove il gadget dal raspberryPI
____________________________________________________________________________________________________________________________
replaymsgs           ||-->Questo metodo cerca nel database analizzato di USBLyzer e ti dà l'opzione di riprodurre un messaggio o tutti i messaggi dall'host al dispositivo
____________________________________________________________________________________________________________________________
searchmsgs           ||-->Questo metodo ti permette di cercare e selezionare tutti i messaggi corrispondenti a un criterio, che sono stati salvati da una creazione del database di USBlyzer
____________________________________________________________________________________________________________________________
setupGadgetFS        ||-->Imposta le variabili per gadgetFS : solo Linux, su Raspberry Pi Zero è l'opzione migliore
____________________________________________________________________________________________________________________________
showMessage          ||-->Mostra messaggi se errore o avviso o informazione
____________________________________________________________________________________________________________________________
sniffdevice          ||-->Legge la comunicazione tra il dispositivo e l'host
____________________________________________________________________________________________________________________________
startMITMusbWifi     ||-->Avvia un thread per monitorare il dispositivo USB target
____________________________________________________________________________________________________________________________
startMonInterfaceChng||-->Questo metodo ti permette di monitorare un dispositivo ogni 10 secondi nel caso in cui cambi improvvisamente la sua configurazione di interfaccia.
____________________________________________________________________________________________________________________________
startQueuewrite      ||-->Inizia una connessione alla coda per comunicare con l'host
____________________________________________________________________________________________________________________________
startSniffReadThread ||-->Questo è un thread per leggere continuamente le risposte dal dispositivo e dipende da ciò che passi al metodo, pts o queue
____________________________________________________________________________________________________________________________
stopMITMusbWifi      ||-->Ferma il thread man-in-the-middle tra l'host e il dispositivo
____________________________________________________________________________________________________________________________
stopMonInterfaceChang||-->Ferma il thread di monitoraggio dell'interfaccia
____________________________________________________________________________________________________________________________
stopQueuewrite       ||-->Ferma il thread responsabile della comunicazione con la macchina host
____________________________________________________________________________________________________________________________
stopSniffing         ||-->Termina il thread di sniffing avviato da startSniffReadThread()
____________________________________________________________________________________________________________________________
usblyzerparse        ||-->Questo metodo analizzerà il tuo xml esportato da usblyzer e poi lo importerà in un database
____________________________________________________________________________________________________________________________

In [16]: x.help("findSelect")                                                                                                                                                                 
****
[+]Aiuto per il metodo findSelect:
[-]Firma: findSelect(self, chgint=None)


[+]Aiuto di findSelect:
Questo metodo enumera tutti i dispositivi USB connessi e ti permette di selezionarlo come dispositivo target insieme ai suoi endpoint
****```

---

#### AutoGadgetFS console. A much simpler way to use AGFS:

<div style="text-align:left"><img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/agfsconsole.png"/></div>


---

<a name="Youtube"/>

### Youtube Playlist:

[Youtube Playlist](https://www.youtube.com/playlist?list=PLKozlVgM6RQjNHmpWR2RBiFCtufV03o6Z)

---

<a name="Slack"/>

### Join Slack:

Visit [AutogadgetFS Slack Channel](https://join.slack.com/t/autogadgetfs/shared_invite/zt-emgcv3ol-unG_axHmSQlk~5GcBddhlQ)

---

<a name="Support"/>

### Supported by:

<img src="https://assets.kitploit.com/production/public/readmes/3835/31aa30e1b311728af097fe24cefc4db7272ad971ffe64bac8d4d4e36a542fc9e.jpg" width="166" height="166"> <img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/JetBrains.png" width="166" height="166">  <img src="https://raw.githubusercontent.com/ehabhussein/AutoGadgetFS/master/screenshots/pyusb.png" width="166" height="166"> 

---

<a name="Donate"/>

### Buy me a coffee to support the development of this project

## Ethereum Donations : 0xA919e40ddB0563918dDc174320D91992e0048477

---
<a name="Contact"/>

### Contact me:

### 📧: <[email protected]>

### 🐦 : <https://twitter.com/0xRaindrop>

---

<a name="Cont"/>

### Contribute:

We're looking for developers to make this tool great! send me an 📧: <[email protected]> if you feel you'd like to be a part of this.
Scarica lo strumento