USB Army Knife – lo strumento definitivo per l'accesso fisico per penetration tester e red teamer.
Gran parte di questo lavoro è già stata completata e sono stato impegnato con hardware abbastanza potente da eseguire questa nuova piattaforma. Quello che è chiaro è che il dongle che ha dato inizio a questo progetto non sarà in grado di gestire le nuove funzionalità della V2. Ma personalmente adoro il suo fattore di forma. Quello di cui sono certo è che la v2 trasformerà UAK in un minuscolo stick che scrive script da solo, sceglie il suo target, controlla il dispositivo, ascolta la stanza e forse potrà persino parlare con i suoi simili...
Compatto e versatile, questo dispositivo offre un grande potenziale grazie alle sue vaste capacità, tra cui attacchi USB HID, emulazione di memoria di massa, impersonificazione di dispositivi di rete e exploit WiFi/Bluetooth (grazie alla nostra versione fork di ESP32 Marauder).
Controllo completo su come e quando eseguire i tuoi payload. Collega ed esegui, lascia dietro e attiva via WiFi, esegui con un timer o costruisci un'interfaccia stile Hollywood. Gestisci e distribuisci i tuoi attacchi senza sforzo usando solo un telefono tramite un'interfaccia web Bootstrap facile da usare.
Vuoi di più? Distribuisci l'agent ed esegui comandi anche quando la macchina è bloccata. Lavorando tramite l'interfaccia seriale, l'egress è incredibilmente difficile da rilevare. Puoi persino visualizzare lo schermo della vittima tramite la connessione WiFi dedicata del dispositivo.
Dotati dell'USB Army Knife e porta il tuo toolkit di accesso locale al livello successivo.
"Il tuo dispositivo è malvagio. Stai facendo del male." - Mr. Peoples via X
Oggi c'è un problema con gli attacchi ad accesso fisico/USB. Da soli, ogni attacco non fornisce una soluzione sufficiente per raggiungere la maggior parte degli obiettivi.
Quello che serviva era una piattaforma ad accesso fisico che permettesse a un malintenzionato adatto di prendere il meglio di ogni attacco e aggirare i rispettivi problemi con un altro attacco. Idealmente questa piattaforma sarebbe così economica e nascosta che perderne una non sarebbe un problema.
Questo è il motivo per cui ho deciso di creare l'USB Army Knife.
Questo progetto implementa una varietà di attacchi basati su un dongle USB/WiFi/BT facilmente occultabile. Gli attacchi includono l'invio di BadUSB (comandi USB HID usando DuckyScript), l'apparire come dispositivi di memoria di massa, l'apparire come dispositivi di rete USB e l'esecuzione di attacchi WiFi e Bluetooth con ESP32 Marauder. Gli attacchi vengono distribuiti usando un linguaggio simile a Ducky che probabilmente già conosci e ami. Questo linguaggio è stato ampliato con una serie di comandi personalizzati e persino con l'intera capacità di ESP32 Marauder (migliorata). Gli attacchi includono:
| Nome | Descrizione |
|---|---|
| Archiviazione nascosta | Esempio che mostra come mascherarsi da due diversi dispositivi di memoria di massa USB. La prima volta che il dispositivo viene collegato, appare con l'intero contenuto della scheda micro SD. In tutti i tentativi successivi appare una diversa unità 'benigna'. |
| Barra di avanzamento | Le immagini vengono visualizzate sullo schermo LCD del dispositivo mostrando una barra di avanzamento. Ottimo per attacchi in stile Hollywood o se vuoi un indicatore visivo per mostrare che un attacco è stato distribuito. |
| Ultimate RickRoll | Inietta sequenze di tasti per mostrare il famoso video rickroll ma usa anche ESP32 Marauder per diffondere il testo della canzone via WiFi. |
| USB Ethernet PCAP | Trasforma il dispositivo in un adattatore di rete USB e raccoglie un PCAP dei primi secondi di traffico di rete. |
| Distribuisci l'agent seriale | Distribuisce l'agent se non è già installato e invia comandi tramite la porta seriale. L'output dei comandi può essere visto nell'interfaccia web |
| Cattura lo schermo | Distribuisce l'agent, l'agent include un piccolo server VNC. Ora lo schermo può essere visualizzato tramite l'interfaccia web |
| UI semplice | Un'interfaccia semplice ma potente per selezionare script/immagini ed eseguirli usando il pulsante hardware. Mostra come costruire interazioni UI complesse in modo semplice. |
| Trasmetti l'audio del microfono via WiFi | L'M5Stack AtomS3U ha un microfono che puoi trasmettere via WiFi. |
| Blocca istantaneamente i sistemi Linux | Distribuisci un filesystem corrotto che causa il panico delle macchine Linux che montano automaticamente. |
| Hardware | Supportato | Link di acquisto |
|---|---|---|
LilyGo T-Dongle S3 (Consigliato)![]() | Il LilyGo T-Dongle S3 è una scheda di sviluppo ESP32-S3 a forma di penna USB. Dispone di uno schermo LCD a colori, pulsante fisico, adattatore per scheda micro SD nascosto/occultato (all'interno del connettore USB-A) oltre a un adattatore SPI. Ha 16MB di flash. È basato sul chipset ESP32-S3 che gli consente di ospitare una stazione WiFi oltre a supportare una gamma di attacchi WiFi e Bluetooth. È incredibilmente economico! Esistono due versioni di questo dispositivo, con e senza schermo. Solo la versione con schermo è stata testata. | |
Evil Crow Cable Wind ![]() | L'Evil Crow Cable Wind è un cavo USB malevolo impiantato con un ESP32-S3 nascosto all'interno, disponibile in diverse varianti. Un'estremità può essere usata per attacchi USB attivi mentre l'altra è pensata per caricare un dispositivo. Il suo design unico lo rende uno dei dispositivi più occultabili capaci di eseguire USB Army Knife. Per questo motivo il dispositivo non ha schermo, scheda SD, LED o un buon pulsante hardware (ce n'è uno all'interno che richiede l'uso di un magnete). Al posto della scheda SD, la memoria flash viene usata per archiviare i file. NOTA Sebbene sia possibile eseguire un punto di accesso wireless su questi dispositivi, l'unità può surriscaldarsi molto. Per contrastare questo problema, USB Army Knife supporta la limitazione termica e spegnerà il WiFi se il dispositivo si surriscalda. Per evitare completamente questo problema dovresti connetterti a una rete wireless esistente (piuttosto che ospitare un punto di accesso) o disabilitare il WiFi; in questo modo il dispositivo non si surriscalda. Questo dispositivo ha istruzioni di installazione specifiche |
Prima di tutto controlla la wiki per una guida passo passo e tutti i tipi di consigli per iniziare.
Ci sono due opzioni per installare il firmware USB Army Knife sul tuo dispositivo:
I dispositivi basati su ESP-S2 hanno supporto WiFi ma non hanno un'interfaccia web. Gli attacchi vengono gestiti tramite file DuckyScript. I dispositivi RP2040 non hanno la capacità ESP32 Marauder
Non c'è motivo per cui l'USB Army Knife non possa operare anche in modalità host USB. È la stessa modalità in cui funziona un computer. In questo modo l'USB Army Knife può inviare comandi come se fosse un computer. Poiché la maggior parte degli smartphone supporta PTP (picture transfer protocol), questo significa che in teoria potresti collegare un USB Army Knife (con un adattatore USB) a un telefono e fargli estrarre le foto.Espressif hanno documentazione per la modalità host USB e anche codice di esempio. Non hanno un esempio per il protocollo PTP. Puoi catturare un PCAP del tuo telefono usando PTP con USB PCAP c'è anche un dissector per WireShark
I contributi sono benvenuti! Per favore fai il fork del repository e invia una pull request.
Se hai domande o suggerimenti, non esitare a contattarci:
Questo progetto è concesso in licenza sotto la MIT License - consulta il file LICENSE per i dettagli.
| CDROM/NIC USB malvagio | Fingi di essere una NIC USB che richiede un driver da un dispositivo CDROM che appare quando colleghi la NIC. |
| Usa diversi layout di tastiera | Supporta automaticamente diversi layout di tastiera senza riscrivere i tuoi payload |
T-Watch S3 ![]() | Il T-Watch S3 è una piattaforma smartwatch con un sacco di hardware all'interno, tra cui schermo, WiFi, orologio in tempo reale, microfono, accelerometro, infrarossi, feedback aptico e un transceiver LoRa. Gran parte di questo è già supportato dalla piattaforma USB Army Knife. La corona dell'orologio funge da pulsante e c'è una mini porta USB per la ricarica / attacchi HID. Poiché l'orologio è basato sul chipset ESP32-S3 può ospitare una stazione WiFi oltre a supportare una gamma di attacchi WiFi e Bluetooth. Fondamentalmente non ha uno slot per scheda SD e la memoria flash viene usata per archiviare i file. Di conseguenza gli script di attacco e qualsiasi risultato sono limitati a ~10MB. Il flashing di questa piattaforma è un po' più complesso; consulta la Wiki per una guida su come far funzionare il tuo dispositivo. Questo dispositivo ha istruzioni di installazione specifiche |
Waveshare ESP32-S3 1.47inch ![]() | Questo dispositivo è simile per design, dimensioni e funzionalità al LilyGo T-Dongle S3 e usa lo stesso chipset. È chiaramente una scheda di sviluppo poiché non viene fornito con un case e ha circuiti esposti sul lato inferiore. Dove questo dispositivo supera il T-Dongle S3 è che ha uno schermo molto grande e di alta qualità e 8MB di RAM aggiuntiva. |
M5Stack AtomS3U ![]() | Questa è una scheda di sviluppo ESP32-S3 con due interfacce esterne sul retro. Non dispone di schermo o scheda SD, ma ha un LED e un pulsante. Al posto della scheda SD, la memoria flash viene usata per archiviare i file. Insolitamente contiene anche un microfono digitale e un LED IR che attualmente non sono supportati. Per mettere il dispositivo in modalità boot, tieni premuto RESET (il pulsante sul lato del dispositivo) finché non si accende un LED verde. |
ESP32 Udisk ![]() | Il dispositivo più basilare che può eseguire il codice USB Army Knife è un chip ESP32-S2 collegato a una porta USB. Spesso puoi trovarli venduti in contenitori molto simili al T-Dongle S3 e tendono a essere pubblicizzati su siti come AliExpress come jailbreak per Playstation 4 sotto il nome 'USB Dongle Udisk for P4'. Questi dispositivi mancano di RAM, schermo, scheda SD, Bluetooth, LED e un buon pulsante hardware. Al posto della scheda SD, la memoria flash viene usata per archiviare file minuscoli. Questi dispositivi sono incredibilmente economici e spesso sono bravi a eseguire payload HID+WiFi (come il rick roll). Avvertenza Sono troppo poco potenti per eseguire il webserver. Quando li acquisti fai attenzione perché possono essere facilmente confusi con un dispositivo dall'aspetto molto simile che include un chipset CH343P e nessun pulsante di reset. Assicurati che il dispositivo che acquisti abbia un pulsante che può essere premuto con una graffetta. Assicurati di flashare questo dispositivo con la configurazione Generic-ESP32-S2. |
Pocket-Dongle-S3 ![]() | Dispositivo dall'aspetto molto simile al LilyGo T-Dongle S3 ma con un diverso fattore di forma per scheda SD e pulsante. Il dispositivo non ha un LED o uno slot di interfaccia QWIIC. Internamente questo dispositivo usa la vecchia interfaccia per scheda SD, quindi aspettati velocità di trasferimento lente. |
ESP32 Key ![]() | Molto simile all'ESP32 UDisk (vedi quella descrizione per un elenco di cose che non può fare) questo è un ESP32-S2 su una scheda circuitale. È probabilmente il dispositivo più economico che può a malapena eseguire USB Army Knife e ha un prezzo corrispondente. Dovrai tenere premuto il pulsante quando lo colleghi per mettere il dispositivo in modalità flashing. Assicurati di flashare questo dispositivo con la configurazione Generic-ESP32-S2. |
Waveshare-ESP32-GEEK ![]() | ESP32-GEEK è una scheda di sviluppo progettata da Waveshare. Ha USB-A, schermo LCD da 1,14 pollici, una scheda SD e porte esterne (SWD, UART e I2C); non ha un LED. Tieni premuto il pulsante quando lo colleghi per mettere il dispositivo in modalità flashing. Questo dispositivo ha alcuni problemi con la scheda SD (compatibilità e bassa velocità). Potresti dover usare partizioni da 8GB e provare alcune marche di schede per trovare qualcosa di compatibile (io ho trovato una scheda Kingston da 64gb con una partizione da 9GB che funzionava, YMMV). |
Waveshare-RP2040-GEEK ![]() | RP2040-GEEK è una scheda di sviluppo progettata da Waveshare. Ha USB-A, schermo LCD da 1,14 pollici, una scheda SD e porte esterne (SWD, UART e I2C). Questa scheda non esegue il chipset ESP32. La modalità USB ethernet (NCM) e l'uso dell'intera scheda SD come disco non sono attualmente supportati. ESP32 Marauder non può funzionare su questo dispositivo! Su Windows potresti anche dover impostare questo dispositivo per usare un driver WinUSB tramite Zadig. Tieni premuto il pulsante quando lo colleghi per mettere il dispositivo in modalità flashing. |