— progetto di un multistrumento portatile basato su Raspberry Pi Zero per il pentesting di sistemi IoT e di controllo accessi wireless. Inoltre, è un tamagotchi in cui vive un delfino cibernetico. Sarà in grado di:
- Lavorare nella gamma di 433 MHz — per l'analisi dei telecomandi, sensori, serrature elettroniche e relè.
- NFC — leggere/scrivere ed emulare carte ISO-14443.
- 125 kHz RFID — leggere/scrivere ed emulare carte a bassa frequenza.
- Chiavi iButton — leggere/scrivere ed emulare chiavi a contatto che utilizzano il protocollo 1-Wire.
- Wi-Fi — per verificare la sicurezza delle reti wireless. L'adattatore supporta iniezioni di pacchetti e modalità monitor.
- Bluetooth — è supportato il pacchetto bluez per Linux
- Modalità Bad USB — può connettersi come USB-slave ed emulare tastiere, adattatori ethernet e altri dispositivi, per iniezioni di codice o pentesting di rete.
- Tamagotchi! — il microcontrollore a bassa energia funziona quando il sistema principale è spento.
Sono emozionato nel presentare il mio progetto più ambizioso, un'idea che ho coltivato per molti anni. È un tentativo di unire tutti gli strumenti spesso necessari per il pentesting fisico in un unico dispositivo, dando al contempo personalità affinché risulti adorabile. Attualmente, il progetto è in fase di R&D e approvazione delle funzionalità, e invito tutti a partecipare alla discussione delle funzioni o persino a collaborare allo sviluppo. Di seguito una descrizione dettagliata del progetto.
A cosa serve?
Mi piace esplorare tutto ciò che mi circonda e porto sempre con me vari strumenti per farlo. Nello zaino ho: adattatore WiFi, lettore NFC, SDR, Proxmark3, HydraNFC, Raspberry Pi Zero (questo può causare problemi in aeroporto). Non è facile usare tutti questi dispositivi in fretta, quando hai una tazza di caffè in una mano o stai andando in bicicletta. Devi sederti, sistemarti, tirare fuori il computer — non è sempre comodo. Sognavo un dispositivo che potesse realizzare i tipici scenari di attacco, sempre pronto e che non fosse solo un mucchio di schede assemblate con del nastro isolante.
Raspberry Pi Zero W con shield per batterie UPS-Lite v1.0 come flooder autonomo per inviare immagini a dispositivi Apple via AirDrop. Recentemente, dopo la pubblicazione di una realizzazione open source del protocollo AirDrop e una ricerca dei ragazzi di HexWay sulle vulnerabilità di iOS , ho iniziato a divertirmi in un modo a me nuovo: conoscere persone in metropolitana, inviando loro immagini tramite AirDrop e raccogliendo i loro numeri di telefono. Poi ho voluto automatizzare questo processo e ho creato una macchina di invio autonomo con Raspberry Pi Zero W e una batteria. Questo tema merita un articolo a parte, che non riesco mai a completare. Andrebbe tutto bene, ma questo dispositivo era estremamente scomodo da portare in giro, non poteva essere messo in tasca, perché le gocce appuntite di stagno strappavano il tessuto dei pantaloni. Ho provato a stampare un involucro con una stampante 3D, ma il risultato non mi è piaciuto.
Un ringraziamento speciale a Anna Prosvetov, che gestisce il canale Telegram che su mia richiesta ha scritto un bot Telegram , che genera immagini con testo, nickname di Telegram e le giuste proporzioni in modo che vengano completamente visualizzate in anteprima quando vengono inviate tramite AirDrop. È possibile generare rapidamente un'immagine adatta alla situazione, e appare .
Pwnagotchi assemblato con schermo e-ink e una shield per la batteria. Poi ho visto un progetto straordinario . È come un tamagotchi, solo che come cibo mangia le WPA handshake e i PMKID delle reti Wi-Fi, che poi possono essere brute-forzati su fattorie GPU. Mi è piaciuto così tanto questo progetto che per alcuni giorni ho portato il mio pwnagotchi per le strade, osservando come si rallegrava per il nuovo bottino. Ma aveva tutti gli stessi problemi: non poteva essere riposto in tasca normalmente, non c'erano strumenti di controllo, quindi qualsiasi input da parte dell'utente era possibile solo tramite il telefono o il computer. E allora finalmente ho capito come vedo l'ideale multitool di cui avevo bisogno. Ne ho scritto e l'idea è piaciuta ai miei amici designer industriali, che realizzano dispositivi elettronici seri. Hanno proposto di realizzare un dispositivo completo, invece di un bricolage DIY su ginocchio. Con una vera produzione industriale e pezzi di alta qualità. Abbiamo iniziato a cercare un concetto di design. Cliccabile. I primi schizzi del design di Flipper Zero. È stato dedicato molto tempo al case e al design, perché sono stanco del fatto che tutti i dispositivi hacker sembrano un mucchio di PCB attaccati con nastro adesivo e non possano essere utilizzati normalmente. L'obiettivo era creare un case il più comodo e compatto possibile e un dispositivo che fosse facile da usare in modo autonomo senza computer o telefono, e questo è il risultato. Qui sotto è descritta l'attuale non finale concetto del dispositivo.
Che cos'è Flipper Zero
In sostanza, Flipper Zero è composto da diversi shield e una batteria attorno a un Raspberry Pi Zero, imballati in un case con uno schermo e pulsanti. Come sistema operativo viene utilizzato Kali Linux, poiché già contiene tutte le patch necessarie e supporta out-of-the-box il rpi0. Ho esaminato molti diversi computer a scheda singola: NanoPi Duo2, Banana Pi M2 Zero, Orange Pi Zero, Omega2, ma nessuno di loro è all'altezza del rpi0, ecco perché:
- Adattatore Wi-Fi integrato, che supporta la modalità monitor e le iniezioni di pacchetti ( patch)
- Bluetooth 4.0 integrato
- Un'antenna 2.4 Ghz piuttosto buona
- P4wnP1 A.L.O.A.
- Sicuramente molti diranno che il Raspberry Pi non è la scelta migliore per un dispositivo del genere e troveranno molti argomenti, come ad esempio l'alto consumo energetico, l'assenza della modalità sleep, hardware non aperto, ecc. Ma se si confrontano tutti i difetti e i vantaggi, non ho trovato niente di meglio del rpi0. Se hai qualcosa da dire al riguardo, sei il benvenuto nel forum degli sviluppatori
forum.flipperzero.one .
Flipper Zero è completamente autonomo e può essere controllato tramite un joystick a 5 posizioni senza dispositivi aggiuntivi come computer o telefoni. Dal menu è possibile richiamare scenari d'attacco predefiniti. Naturalmente, non tutto può essere fatto con il joystick, quindi per un maggiore controllo è possibile connettersi tramite SSH tramite USB o Wi-Fi/Bluetooth. Ho deciso di utilizzare un vecchio schermo LCD monocromatico con risoluzione 126x64px, come quelli dei vecchi telefoni Siemens. Innanzitutto, è semplicemente fantastico, un piccolo schermo monocromatico con retroilluminazione arancione mi provoca una gioia indescrivibile, un retro-militare-cyberpunk. È chiaramente visibile alla luce del sole e ha un bassissimo consumo energetico, circa 400uA con la retroilluminazione spenta. Pertanto, può essere mantenuto in modalità Always-On e mostrare sempre l'immagine. La retroilluminazione si accenderà solo quando si premono i tasti.
Esempi di schermi sui telefoni Siemens. Questi schermi sono ancora prodotti per vari dispositivi industriali e registratori di cassa. Attualmente abbiamo scelto .
Porte di Flipper Zero. Ai lati, Flipper Zero ha porte standard Raspberry Pi, un pulsante di accensione/rettilluminazione, un foro per il cinturino e un porticino di servizio aggiuntivo, tramite il quale è possibile accedere alla console UART, caricare la batteria e caricare un nuovo firmware.
Trasmettitore a 433 MHz

Flipper ha un'antenna integrata a 433 MHz e un chip , per funzionare nella gamma <1GHz, la stessa presente nel popolare dispositivo . Può intercettare e analizzare i segnali dei telecomandi, dei keyfob, delle prese intelligenti e delle serrature. Supporta l'uso con la libreria e può decodificare, memorizzare e riprodurre codici di telecomandi popolari, proprio come un . Per i casi in cui Raspberry Pi non riesce a elaborare il segnale in tempo, il lavoro del CC1111 può essere controllato dal microcontrollore integrato. In modalità tamagotchi, Flipper può comunicare con simili e visualizzare i loro nomi, proprio come fa pwnagotchi.
Bad USB
Flipper può emulare dispositivi USB-slave e fingersi una tastiera per caricare un payload, proprio come . Inoltre, può emulare un adattatore Ethernet per sostituire i DNS, una porta seriale, ecc. Per Raspberry Pi è disponibile un framework già pronto che implementa diversi tipi di attacchi. Lo scenario di attacco necessario può essere selezionato dal menu con il joystick. In questo modo, le informazioni di debug sullo stato dell'attacco o qualcosa di innocuo per la mascheratura possono apparire sullo schermo.
WiFi
L'adattatore Wi-Fi integrato nel Raspberry Pi inizialmente non supporta la modalità monitor per l'iniezione di pacchetti, ma ci sono , che aggiungono questa funzione. Per alcuni tipi di attacchi sono necessari due adattatori Wi-Fi indipendenti. La difficoltà risiede nel fatto che quasi tutti i chip Wi-Fi si collegano tramite USB e non possiamo occupare l'unica USB su rpi0, altrimenti il modo USB Slave si romperà. Pertanto, è necessario utilizzare l'interfaccia SPI o SDIO per collegare l'adattatore Wi-Fi. Non sono a conoscenza di alcun chip del genere che supporti la modalità monitor e l'iniezione di pacchetti di serie, e che si colleghi NON tramite USB. Se ne conoscete uno, vi prego di farcelo sapere nel forum nel thread
NFC
Il modulo NFC può leggere/scrivere tutte le schede ISO-14443, comprese Mifare, carte contactless bancarie PayPass/PayWave, ApplePay/GooglePay e altro. È supportato dalla libreria LibNFC. Nella parte inferiore del Flipper c'è un'antenna a 13,56 MHz, e per lavorare con la carta è sufficiente posizionarlo sopra. Al momento rimane aperta la questione dell'emulazione delle carte. Vorrei un emulatore completo come , ma allo stesso tempo desidero avere la possibilità di lavorare con LibNFC. Non conosco alternative ai chip oltre al NXP PN532, ma non è in grado di emulare completamente le carte. Se conoscete un'opzione migliore, scrivetelo nel thread
RFID a 125 kHz
Le vecchie carte a bassa frequenza a 125 kHz sono ancora ampiamente utilizzate nei sistemi di citofono, nei badge per gli uffici, ecc. Sull'edge laterale del flipper si trova un'antenna a 125 kHz, può leggere le carte EM-4100 e HID Prox, salvarle in memoria e emulare le carte salvate in precedenza. Inoltre, è possibile trasmettere l'ID della carta per l'emulazione via Internet o inserirlo manualmente. In questo modo, i proprietari del flipper possono scambiarsi le carte lette a distanza. Fantastico.
iButton
iButton — un vecchio tipo di chiavi di contatto, ancora popolari negli Stati CSI. Funzionano con il protocollo 1-Wire e non dispongono di alcun mezzo di autenticazione, quindi possono essere facilmente letti. Il Flipper è in grado di leggere queste chiavi, memorizzare l'ID nella memoria, scrivere l'ID su supporti vuoti ed emulare la chiave autonomamente, così da poterla avvicinare al lettore come una chiave. Modalità lettore (master 1-wire)
In questa modalità, il dispositivo funziona come lettore di porte. Avvicinando la chiave ai contatti, il Flipper legge il suo ID e lo memorizza. Nella stessa modalità è possibile scrivere l'ID memorizzato su un supporto vuoto.Modalità emulazione chiave (slave 1-wire)
Le chiavi memorizzate possono essere emulate in modalità slave 1-wire. Il Flipper funge da chiave e può essere avvicinato al lettore. La principale difficoltà è stata progettare una piattaforma di contatto che possa essere utilizzata sia come lettore che come chiave. Abbiamo trovato una forma che funziona, ma sono sicuro che si possa fare ancora meglio; se hai idee, proponi la tua soluzione nel forum nella discussione
Bluetooth
Adattatore Bluetooth integrato nel Raspberry Pi. Certo, non può sostituire dispositivi come , ma è completamente supportato dalla libreria bluez, può essere utilizzato per controllare il Flipper dallo smartphone o per vari attacchi Bluetooth come , che permette di raccogliere sha256 dai numeri di telefono mobile associati ad Apple ID e di controllare vari dispositivi IoT.
Microcontrollore a basso consumo
Poiché il Flipper è troppo cool per essere spento, abbiamo deciso di inserire un microcontrollore separato a basso consumo che funzionerà anche quando il Raspberry Pi è spento. Questo controller gestirà il tamagotchi, monitorerà il processo di avvio del Raspberry Pi fino a quando non sarà pronto per gestire lo schermo e gestirà l'alimentazione. Gestirà anche il chip CC1111 per la comunicazione con altri Flipper.
Modalità tamagotchi
Il Flipper è un delfino hacker cibernetico capace di dominare tutti gli elementi digitali. Quando il Raspberry Pi è spento, entra in modalità tamagotchi, con cui puoi giocare e trovare amici sulla frequenza di 433 MHz. In questa modalità, probabilmente saranno disponibili parzialmente le funzioni NFC.
Il personaggio è ispirato a un delfino del film che ha aiutato a far traballare il cervello di Keanu Reeves e con la sua radiazione ha distrutto i cattivi. I delfini hanno un generatore di frequenza integrato, con il quale esplorano tutto intorno, e anche un bisogno innato di intrattenimento e curiosità naturale. Abbiamo bisogno di una persona che possa ideare la personalità di Flipper, l'intero design del gioco, dalle emozioni ai mini-giochi. Tutti i propri pensieri a riguardo possono essere scritti nella sezione appropriata.
Chi sono
Mi chiamo Pavel Zhovner e vivo a Mosca. Attualmente dirigo lo . Fin da bambino, amo esplorare profondamente tutto ciò che mi circonda: la natura, la tecnologia, le persone. La mia specializzazione principale è: reti, hardware e sicurezza. Cerco di non usare mai la parola "hacker", perché grazie ai media è diventata completamente svalutata. Mi piace definirmi "nerd", perché è più onesto e senza pretese. Nella vita apprezzo le persone appassionate che si coinvolgono emotivamente in ciò che trovano interessante, che possono essere tranquillamente definite nerd. Flipper Zero è il mio tentativo di fare qualcosa di veramente fantastico e su larga scala, e al contempo bello. Credo nell'open source, quindi il progetto sarà completamente aperto. Attualmente ho un piccolo team, ma abbiamo bisogno di persone competenti in settori specifici, in particolare nella radio. Con questo post spero di trovare persone che vorranno unirsi al progetto.
Unisciti al progetto
Invito tutti coloro che sono piaciuto a questo progetto a partecipare allo sviluppo in qualsiasi modo possibile. In questa fase, abbiamo bisogno di approvare la lista finale delle funzionalità, per iniziare l'implementazione della prima versione del dispositivo. Ci sono molte questioni tecniche che al momento non sono risolte.
Per gli sviluppatori
Discuteremo tutte le nostre attuali attività di R&D sul forum . Se sei uno sviluppatore di hardware o software, o hai domande, suggerimenti, proposte, critiche — sentiti libero di scriverci sul forum. Questo è il posto principale dove avverrà la discussione di tutte le fasi di sviluppo, crowdfunding, produzione. La comunicazione sul forum avviene solo in inglese, non esitare a scrivere in modo imperfetto, l'importante è che il significato sia chiaro.
Vota per le funzionalità
È molto importante per noi sapere quali funzioni devono essere incluse nel flipper. Questo influenzerà le priorità nello sviluppo. Potrei sbagliarmi pensando che alcune funzioni siano importanti, o al contrario, potrei trascurarne alcune. Ad esempio, ho dei dubbi riguardo all'iButton, poiché è una tecnologia obsoleta. Pertanto, ti prego di compilare un breve sondaggio:
Inviare denaro
Quando il prototipo sarà completato e il progetto sarà pronto per il lancio su una piattaforma di crowdfunding come KickStarter, sarà possibile effettuare il pagamento per il pre-ordine. Al momento puoi supportarmi personalmente con piccole donazioni per il cibo tramite . Le donazioni regolari di 1$ sono molto migliori rispetto a un'ampia somma in una volta, poiché consentono di pianificare meglio. Link per le donazioni:
Avviso
Il progetto è nelle fasi molto iniziali, il sito potrebbe contenere errori, un layout imperfetto e altri problemi, quindi ti prego di non essere troppo severo. Ti prego di segnalarmi eventuali errori e imprecisioni trovati. Questa è la prima menzione pubblica del progetto e, con il tuo aiuto, spero di risolvere tutte le problematiche prima di pubblicare su ampi canali in lingua inglese.
Pubblico tutte le note sul progetto nel mio canale Telegram .
Fonte: habr.com
