— proiectul unui multituș portabil bazat pe Raspberry Pi Zero pentru pentestarea IoT și a sistemelor de control acces wireless. Și este și un tamagotchi, în care trăiește un delfin cibernetic. Va putea:
- Să funcționeze în banda de 433 MHz — pentru a explora telecomenzi, senzori, încuietori electronice și relee.
- NFC — să citească/scrie și să emuleze carduri ISO-14443.
- 125 kHz RFID — să citească/scrie și să emuleze carduri de frecvență joasă.
- Chei iButton — să citească/scrie și să emuleze chei tactile care funcționează pe protocolul 1-Wire.
- Wi-Fi — pentru a verifica securitatea rețelilor wireless. Adaptatorul suportă injecții de pachete și modul monitor.
- Bluetooth — suportat de pachetul bluez pentru Linux
- Mod Bad USB — poate fi conectat ca USB-slave și emulează tastaturi, adaptoare ethernet și alte dispozitive, pentru a injecta cod sau pentru pentestare rețea.
- Tamagotchi! — un microcontroler cu consum redus de energie funcționează atunci când sistemul principal este oprit.
Sunt nerăbdător să-mi prezint cel mai ambițios proiect, o idee la care am visat mulți ani. Este o încercare de a aduna toate uneltele frecvent necesare pentru pentestarea fizică într-un singur dispozitiv, adăugându-i totodată o personalitate pentru a fi cât mai drăguț. În prezent, proiectul se află în etapa R&D și aprobarea funcționalității, iar eu invit pe toată lumea să participe la discuția funcțiilor sau chiar să ia parte la dezvoltare. Detalii despre proiect găsiți mai jos.
De ce este necesar?
Îmi place să explorez tot ce mă înconjoară și îmi car mereu cu mine diferite unelte pentru asta. În rucsacul meu am: un adaptor WiFi, un cititor NFC, SDR, Proxmark3, HydraNFC, Raspberry Pi Zero (din cauza acestuia am avut probleme în aeroport). Toate aceste aparate nu sunt atât de ușor de utilizat în fugă, când țin într-o mână o ceașcă de cafea sau merg pe bicicletă. Trebuie să mă așez, să deschid, să scot computerul—asta nu este întotdeauna convenabil. Am visat la un dispozitiv care să implementeze scenarii tipice de atac, să fie mereu pregătit și să nu arate ca un morman de plăci mâncate de benzi adezive.
Raspberry Pi Zero W cu un UPS-Lite v1.0 ca un flooder autonom pentru trimiterea de imagini pe dispozitivele Apple prin AirDrop. Recent, după ce a fost publicată o implementare deschisă a protocolului AirDrop și un studiu realizat de echipa HexWay despre vulnerabilitățile iOS , am început să mă distrez într-un mod nou pentru mine: să împărtășesc imagini cu oameni în metrou prin AirDrop și să colectez numerele lor de telefon. Apoi am vrut să automatizez acest proces și am creat o mașină de tip dict-pic autonomă din Raspberry Pi Zero W și o baterie. Această temă merită un articol separat, pe care nu pot să-l finalizez. Totul ar fi fost bine, dar acest dispozitiv era extrem de incomod de purtat, nu putea fi pus în buzunar pentru că picăturile ascuțite de lipire rupeau materialul pantalonilor. Am încercat să imprim un carcasă pe un imprimant 3D, dar rezultatul nu mi-a plăcut.
Mulțumiri speciale Ancăi Prosvetovoi, care deține un canal Telegram care, la cererea mea, a scris un bot Telegram , care generează imagini cu text, nick-uri Telegram și o proporție corectă, astfel încât acestea să fie complet vizibile în previzualizare atunci când sunt trimise prin Airdrop. Puteți genera rapid o imagine potrivită pentru situație, arată .
Pwnagotchi asamblat cu un ecran e-ink și un scut de baterie. Apoi am văzut un proiect uimitor . Este ca un tamagotchi, doar că se hrănește cu WPA handshake-uri și PMKID-uri de rețele Wi-Fi, care pot fi apoi sparte pe ferme GPU. Mi-a plăcut atât de mult acest proiect încât am mers câteva zile cu pwnagotchi-ul meu pe stradă și am observat cum se bucură de noua prada. Dar avea aceleași probleme: nu se putea pune normal în buzunar, nu avea organe de control, așa că orice intrare a utilizatorului era posibilă doar de pe telefon sau computer. Și atunci am realizat în cele din urmă cum văd un unelte multifuncțional ideal, care îmi lipsea. Am scris despre aceasta și ideea le-a plăcut prietenilor mei designeri industriali, care creează lucruri electronice serioase. Au propus să realizăm un dispozitiv complet, în locul unei improvizații DIY. Cu o producție fabrice adevărată și piese potrivite de calitate. Am început să căutăm o concept de design. Clicabil. Primele schițe ale designului Flipper Zero. Corpul și designul au primit multă atenție, deoarece m-am săturat că toate dispozitivele de hacking arată ca o grămadă de PCB lipite cu bandă izolatoare și este imposibil să le folosești în mod normal. Sarcina a fost să concepem un corp cât mai confortabil și compact, un dispozitiv care să poată fi utilizat ușor și autonom, fără computer sau telefon, iar iată ce a ieșit. Mai departe este descrisă starea actuală nu este final conceptul dispozitivului.
Ce este Flipper Zero
Practically, Flipper Zero este mai multe shield-uri și o baterie în jurul Raspberry Pi Zero, înglobate într-un corp cu un ecran și butoane. Sistemul de operare utilizat este Kali Linux, deoarece acesta conține deja toate patch-urile necesare și suportă din start rpi0. M-am uitat la multe computere cu un singur placă: NanoPi Duo2, Banana Pi M2 Zero, Orange Pi Zero, Omega2, dar toate pierd în fața rpi0 și iată de ce:
- Adaptor Wi-Fi încorporat, care suportă modul monitor și injecții de pachete ( patch-uri)
- Bluetooth 4.0 încorporat
- O antenă destul de bună
- Kali Linux este oficial suportat și are multe versiuni predefinite, cum ar fi
- Acces ușor la cardul SD, permite transferul rapid al unui volum mare de date
Cu siguranță, mulți vor spune că Raspberry Pi nu este cea mai bună alegere pentru un astfel de dispozitiv și vor găsi numeroase argumente, de exemplu, consumul de energie ridicat, lipsa modului de repaus, hardware-ul închis etc. Dar, comparând toate dezavantajele și avantajele, nu am găsit nimic mai bun decât rpi0. Dacă aveți ceva de spus despre asta, vă așteptăm pe forumul dezvoltatorilor .
Flipper Zero este complet autonom și poate fi controlat cu ajutorul unui joystick cu 5 poziții, fără dispozitive suplimentare precum un computer sau un telefon. Din meniul său, se pot activa scenarii tipice de atac. Bineînțeles, nu toate funcțiile pot fi controlate cu joystick-ul, așa că pentru un control mai mare, se poate conecta prin SSH prin USB sau prin Wi-Fi/Bluetooth. Am decis să folosesc un ecran LCD monochrom cu o rezoluție de 126x64px, similar celor de pe telefoanele mai vechi Siemens. În primul rând, arată foarte bine, iar ecranul monocrom cu iluminare portocalie mă încântă de fiecare dată, oferind un vibe retro-militar-cyberpunk. Este foarte vizibil la soare și consumă o cantitate foarte mică de energie, aproximativ 400uA cu iluminarea stinsă. Prin urmare, poate fi folosit în modul Always-On și poate afișa mereu o imagine. Iluminarea se va activa doar când se apasă pe butoane.
Exemple de ecrane de pe telefoanele Siemens. Aceste ecrane sunt încă produse pentru diverse dispozitive industriale și case de marcat. În prezent, am ales .
Porturile Flipper Zero. Pe laturile Flipper Zero se află porturi standard Raspberry Pi, un buton de pornire/iluminare, o deschidere pentru curea și un port de servicii suplimentar, prin care se poate accesa consola UART, se poate încărca bateria și se poate instala un nou firmware.
Transmițător de 433 MHz

Flipper dispune de o antenă încorporată de 433 MHz și un cip , pentru a funcționa în banda <1GHz, la fel ca în dispozitivul popular . Acesta poate intercepta și analiza semnalele telecomenzilor, cheilor, diverselor prize inteligente și încuietori. Suportă lucrul cu biblioteca și poate decoda, salva și reda coduri populare de telecomenzi, similar cu . În cazurile în care Raspberry Pi nu reușește să proceseze semnalul, funcționarea CC1111 poate fi controlată de microcontrolerul încorporat. În modul tamagotchi, Flipper poate comunica cu dispozitive similare și poate afișa numele acestora, așa cum face pwnagotchi.
Bad USB
Flipper poate emula dispozitive USB-slave și se poate face că este o tastatură pentru încărcarea payload-urilor, similar cu . De asemenea, poate emula un adaptor ethernet pentru modificarea DNS-ului, un port serial etc. Pentru Raspberry Pi există un cadru gata făcut, care implementează diferite tipuri de atacuri Scenariul de atac dorit poate fi ales din meniu folosind joystick-ul. Pe ecran poate fi afișată informație de depanare despre starea atacului sau ceva inofensiv pentru a masca situația.
WiFi
Adaptorul Wi-Fi încorporat în Raspberry Pi nu suportă inițial modul de monitorizare pentru injecția pachetelor, dar există , care adaugă această funcție. Pentru anumite tipuri de atacuri sunt necesare două adaptoare Wi-Fi independente. Dificultatea constă în faptul că aproape toate cipurile Wi-Fi se conectează prin USB, iar noi nu putem ocupa singurul USB de pe rpi0, altfel se va întrerupe modul USB Slave. Prin urmare, este necesar să utilizăm interfața SPI sau SDIO pentru a conecta adaptorul Wi-Fi. Nu cunosc niciun cip care să suporte modul de monitorizare și injecția pachetelor din fabrică, conectându-se FĂRĂ USB. Dacă știți un astfel de cip, vă rugăm să ne anunțați pe forum în subiectul
NFC
Modulul NFC poate citi/scrie toate cardurile ISO-14443, inclusiv Mifare, cardurile bancare contactless PayPass/PayWave, ApplePay/GooglePay și altele. Este susținut de biblioteca LibNFC. În partea de jos a Flipper-ului există o antenă de 13,56 MHz, iar pentru a lucra cu un card este suficient să-l plasezi deasupra acestuia. În prezent, rămâne deschisă întrebarea emulării cardurilor. Ar fi dorit un emulator complet, similar cu , dar de asemenea aș dori să am posibilitatea de a lucra cu LibNFC. Nu cunosc alte opțiuni de cip în afară de NXP PN532, dar acesta nu poate emula complet cardurile. Dacă știți o variantă mai bună, vă rugăm să scrieți despre aceasta în subiectul
125kHz RFID
Cardurile vechi de frecvență joasă de 125 kHz sunt încă folosite pe scară largă în interfoane, permise de birou etc. Pe marginea laterală a Flipper-ului se află o antenă de 125 kHz, care poate citi cardurile EM-4100 și HID Prox, le poate salva în memorie și poate emula cardurile salvate anterior. De asemenea, poate transmite ID-ul cardului pentru emulare prin internet sau poate fi introdus manual. Astfel, proprietarii de Flipper pot transmite între ei cardurile citite de la distanță. Foarte tare.
iButton
iButton este un tip vechi de cheie de contact, care rămâne popular în CIS. Acestea funcționează pe protocolul 1-Wire și nu au niciun sistem de autentificare, astfel încât pot fi ușor citite. Flipper poate citi aceste chei, salva ID-ul în memorie, scrie ID-ul pe module și emula cheile în așa fel încât să poată fi apropiate de cititor ca o cheie. Modul cititor (1-wire master)
În acest mod, dispozitivul funcționează ca un cititor de ușă. Apropiind cheia de contacte, Flipper va citi ID-ul acesteia și îl va salva în memorie. În același mod, se poate scrie ID-ul salvat pe un modul.Modul de emulare a cheii (1-wire slave)
Cheile salvate pot fi emulate în modul 1-wire slave. Flipper acționează ca o cheie și poate fi apropiat de cititor. Principalul obstacol a fost să concepem un design al plăcii de contact care să poată fi folosit atât ca cititor, cât și ca cheie. Am găsit o astfel de formă, dar sunt sigur că poate fi îmbunătățită, iar dacă știți cum, vă rugăm să propuneți o idee pe forum în subiect.
Bluetooth
Adaptor Bluetooth încorporat în Raspberry Pi. Desigur, acesta nu poate înlocui dispozitive precum , dar este complet suportat de biblioteca bluez, poate fi utilizat pentru a controla Flipper de pe smartphone sau pentru diverse atacuri Bluetooth, precum , care permite colectarea sha256 de la numerele de telefon mobil legate de Apple ID, precum și controlul diverselor dispozitive IoT.
Microcontroler cu consum redus de energie
Pentru că Flipper este prea fain pentru a fi oprit, am decis să-i integrăm un microcontroler cu consum redus de energie care va funcționa atunci când Raspberry Pi este oprit. Acesta va controla tamagotchii, va gestiona procesul de pornire al Raspberry Pi până la momentul în care acesta va fi gata să controleze ecranul și va gestiona alimentarea. De asemenea, va controla cipul CC1111 pentru comunicarea cu alte Flippere.
Modul Tamagotchi
Flipper este un delfin cibernetic hacker, stăpân pe toate elementele digitale. Când Raspberry Pi este oprit, acesta intră în modul Tamagotchi, cu care poți juca și face prieteni pe frecvența de 433 MHz. În acest mod, funcțiile NFC vor fi parțial disponibile.
Personajul este inspirat de un delfin din filmul care a ajutat la pătrunderea minții lui Keanu Reeves și cu radiația sa a zdrobit răufăcătorii. Delfinii au un generator de frecvență încorporat, cu ajutorul căruia explorează tot ce-i în jur, precum și o nevoie înnăscută de divertisment și o curiozitate naturală. Avem nevoie de o persoană care să poată crea o personalitate pentru Flipper, designul jocului în ansamblu, de la emoții la mini-jocuri. Toate gândurile privind acest subiect pot fi scrise în secțiunea corespunzătoare.
Despre mine
Mă numesc Pavel Zhovner, locuiesc în Moscova. În prezent, conduc . Încă de mic, îmi place să explorez profund tot ce mă înconjoară: natura, tehnologiile, oamenii. Specializarea mea principală este rețelele, hardware-ul și securitatea. Încerc să nu folosesc niciodată cuvântul „hacker” deoarece, datorită mass-media, acesta și-a pierdut complet valoarea. Îmi place să mă numesc „anime”, pentru că e mai onest și descoperă esența fără pompa. În viață, apreciez persoanele pasionate, care se implică profund emoțional în ceea ce le interesează, și pe care le putem numi cu încredere anime. Flipper Zero este încercarea mea de a face ceva cu adevărat fain și la scară mare, dar și frumos. Cred în open source, astfel că proiectul va fi complet deschis. În prezent, am o echipă mică, dar ne lipsesc oameni competenți în domenii înguste, în special în radio. Cu ajutorul acestei postări sper să găsesc oameni care vor dori să se alăture proiectului.
Alătură-te proiectului
Invit pe toți cei care le place acest proiect să participe la dezvoltare în orice mod disponibil. În acest stadiu, trebuie să aprobăm lista finală de funcții pentru a începe implementarea primei versiuni a dispozitivului. Există multe întrebări tehnice care, în acest moment, nu sunt rezolvate.
Pentru dezvoltatori
Toate sarcinile noastre curente de R&D le vom discuta pe forum . Dacă ești dezvoltator hardware sau software, sau ai orice întrebări, sfaturi, sugestii, critici — nu ezita să le scrii pe forum. Acesta este locul principal unde va avea loc discuția despre toate etapele dezvoltării, crowdfunding-ului, producției. Comunicarea pe forum se desfășoară doar în engleză, nu te sfii să scrii neîndemânatic, principalul lucru este să fie înțeles sensul.
Votează pentru funcții
Este foarte important pentru noi să știm ce funcții ar trebui să aibă flipper-ul. Acest lucru va determina prioritățile în dezvoltare. Poate că consider că anumite funcții sunt importante în mod greșit, sau dimpotrivă, poate că pierd ceva esențial. De exemplu, am îndoieli cu privire la iButton, deoarece este o tehnologie învechită. Așadar, vă rog să completați un scurt chestionar:
Trimiteți bani
Când prototipul va fi finalizat și proiectul va fi gata pentru lansarea pe o platformă de crowdfunding precum KickStarter, va fi posibil să plătiți o precomandă. În prezent, mă puteți susține personal cu donații mici pentru mâncare prin . Donațiile regulate de 1$ sunt mult mai eficiente decât o sumă mare o singură dată, pentru că permit o prognoză mai bună. Link pentru donații:
Declinarea
Proiectul se află într-o fază foarte incipientă, site-ul poate conține erori, un design imperfect și alte probleme, așa că nu vă lăsați purtați cu judecățile. Vă rog să-mi raportați toate erorile și inexactitățile întâlnite. Aceasta este prima mențiune publică a proiectului, iar cu ajutorul vostru sper să remediez toate neajunsurile înainte de a-l publica pe rețelele de limbă engleză.
Toate notițele despre proiect le public în canalul meu de Telegram .
Sursa: habr.com
