Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
facedancer — Implementa il tuo dispositivo USB in Python, supportato da una periferica hardware come Cynthion o GreatFET | Kitploit
Strumenti/GitHubGitHub/greatscottgadgets/facedancer
Sicurezza Sistemi EmbeddedSniffing e Analisi dei PacchettiReverse EngineeringFuzzingHacking HardwareUtilità e FrameworkSicurezza Hardware e IoTRed Teaming
GitHubgreatscottgadgets/facedancer

facedancer

Implementa il tuo dispositivo USB in Python, supportato da una periferica hardware come Cynthion o GreatFET

Vedi Repository
1.0k154114 mesi 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

Facedancer 3.0

Questo repository ospita la prossima generazione del software Facedancer. Discendente dal Facedancer originale basato su GoodFET, questo repository fornisce un modulo python che offre un supporto Facedancer ampliato -- inclusi il supporto per più schede e alcune nuove funzionalità piuttosto significative.

Documentazione del progetto

La documentazione di Facedancer è disponibile su Read the Docs. Le fonti grezze della documentazione sono nella cartella docs/.

Installazione

Installa questo pacchetto con il seguente comando:

pip install facedancer

Dopodiché puoi importare il pacchetto facedancer come al solito:

$ python
>>> import facedancer

Dove sono i miei script?

Facedancer 3.0 è una riscrittura da zero del core di emulazione originale e non supporta gli script legacy.

Se stai usando script o materiali di formazione che dipendono da funzionalità o API deprecate in v3.0.x puoi installare l'ultima release v2.9.x di Facedancer con:

pip install "facedancer<=3"

Gli applet e gli esempi legacy si trovano nel branch v2.9.x.

Cos'è un Facedancer?

Le schede Facedancer sono semplici dispositivi hardware che fungono da controller USB "telecomandati". Con il software appropriato, puoi usare queste schede per emulare rapidamente e facilmente dispositivi USB -- e per fare fuzzing dei controller host USB!

Questo particolare repository software attualmente ti consente di creare facilmente emulazioni di dispositivi USB in Python. Il controllo è sufficientemente granulare da permetterti di causare ogni tipo di comportamento anomalo USB. :)

Per maggiori informazioni, vedi:

  • Il post sul blog di Travis Goodspeed su Facedancer
  • Il Facedancer 21, la scheda originale supportata

USBProxy 'Nouveau' e analisi dei protocolli

Una delle principali novità del più recente codebase Facedancer è la capacità di fare MITM (Meddler-In-The-Middle) sulle connessioni USB -- sostituendo uno dei progetti originali di uno degli autori, USBProxy. Questo apre un intero nuovo regno di applicazioni -- inclusi l'analisi dei protocolli e la manipolazione in tempo reale dei pacchetti USB -- ed è particolarmente utile quando non controlli il software in esecuzione sul dispositivo target (ad esempio su sistemi embedded o console di gioco).

                 +-----------------------------------------------------------------------+
+------------+   |  +--------------------------------+   +---------------------------+   |  +--------------+
|            |   |  |                                |   |                           |   |  |              |
|  PROXIED   |   |  |         HOST COMPUTER          |   |    FACEDANCER DEVICE      |   |  |  TARGET USB  |
|   DEVICE   <------>  running Facedancer software   <--->  acts as USB-Controlled   <------>     HOST     |
|            |   |  |                                |   |      USB Controller       |   |  |              |
|            |   |  |                                |   |                           |   |  |              |
+------------+   |  +--------------------------------+   +---------------------------+   |  +--------------+
                 |                                                                       |
                 |                    MITM Setup (HOST + FACEDANCER)                     |
                 +-----------------------------------------------------------------------+

Questa funzionalità è completa, ma potrebbe servire più documentazione. Le pull request sono benvenute. :)

Come si usa questo repository?

Per prima cosa, probabilmente vorrai impostare la variabile d'ambiente BACKEND, che permette al software di sapere quale tipo di scheda Facedancer vorresti usare. Se questa variabile non è impostata, il software proverà a indovinare per te in base a ciò che è connesso. Non indovina sempre nel modo migliore, quindi probabilmente è meglio impostarla tu stesso.

Poi, probabilmente vorrai dare un'occhiata a uno degli esempi, o a uno degli script predefiniti. Gli esempi nella nuova sintassi si trovano sotto examples. Gli script Facedancer principali nella "sintassi vecchia" si trovano in legacy-applets.

Ad esempio:

export BACKEND=greatfet
./examples/rubber-ducky.py

Quali schede sono attualmente supportate?

  • Il Cynthion USB Test Instrument (BACKEND=cynthion)
  • Il GreatFET One (BACKEND=greatfet)
  • La scheda NXP LPC4330 Xplorer. (BACKEND=greatfet)
  • Il badge rad1o del CCCamp 2015 con GreatFET l0adable (BACKEND=greatfet)
  • Tutti i Facedancer basati su GoodFET, incluso il comune Facedancer21 (BACKEND=goodfet)
  • Le schede RPi + Max3241 Raspdancer (BACKEND=raspdancer)
  • Le schede HydraDancer e HydraUSB3 (BACKEND=hydradancer)

Nota che le restrizioni hardware impediscono alle schede MAX3420/MAX3421 di emulare dispositivi più complessi -- c'è una limitazione sul numero/tipo di endpoint che possono essere configurati. Le schede LPC4330 -- come il GreatFET -- hanno meno limitazioni.

Per una ragione simile, le schede MAX3420/MAX3421 (BACKEND=goodfet o BACKEND=raspdancer) attualmente non possono essere usate come dispositivi MITM USBProxy-nv. Tutte le schede moderne (BACKEND=greatfet, BACKEND=hydradancer) dovrebbero essere pienamente funzionanti.

Nota che le schede HydraDancer e HydraUSB3 (BACKEND=hydradancer) attualmente non supportano la modalità host. Nota che l'attuale FaceDancer 3.0 non funziona su Windows (alcuni problemi in pyusb...) e solo su GNU/Linux

Quali schede potrebbero essere supportate presto?

  • Qualsiasi computer Linux con supporto gadgetfs (ad esempio il Pi Zero o il Beaglebone Black)
  • Qualsiasi cosa che supporti USB-over-IP.

Quali funzionalità prevedi di aggiungere?

La roadmap è in fase di sviluppo, ma oltre al supporto multi-scheda, questo repository ospiterà eventualmente alcune nuove interessanti funzionalità, tra cui:

  • Emulazione di dispositivi ad alta velocità ("USB 2.0") su dispositivi con PHY USB 2.0.
  • Generazione al volo di controller di dispositivi USB in gateware.

Di chi è la colpa?

Ci sono molte persone da incolpare per la bellezza che è questo repo, tra cui:

  • Kate Temkin (@ktemkin)
  • Travis Goodspeed (@travisgoodspeed)
  • Sergey Bratus (@sergeybratus)
  • Dominic Spill (@dominicgs)
  • Michael Ossmann (@michaelossmann)
  • Mikaela Szekely (@Qyriad)
  • chiunque il cui nome appaia nella cronologia git :)

Contributi?

... sono sempre benvenuti. Mandaci una PR!

Scarica lo strumento