— et projekt for en håndholdt multitool baseret på Raspberry Pi Zero til pentest af IoT og trådløse adgangssystemer. Det er også en tamagotchi, hvor en cyber-delfin lever. Den vil kunne:
- Arbejde i 433 MHz-båndet — til at undersøge fjernbetjeninger, sensorer, elektroniske låse og relæer.
- NFC — læse/skrive og emulere kort i ISO-14443.
- 125 kHz RFID — læse/skrive og emulere lavfrekvente kort.
- iButton nøgler — læse/skrive og emulere kontaktknapper, der fungerer via 1-Wire protokollen.
- Wi-Fi — til at teste sikkerheden af trådløse netværk. Adapteren understøtter pakkeinjektioner og monitoreringsfunktion.
- Bluetooth — bluez-pakken til Linux understøttes
- Bad USB-tilstand — kan tilslutte som USB-slave og emulere tastatur, ethernet-adapter og andre enheder til kodeinjektion eller netværkspentest.
- Tamagotchi! — lavenergi-mikrocontrolleren fungerer, når det primære system er slukket.
Jeg ser spændt frem til mit mest ambitiøse projekt, hvis idé jeg har haft i mange år. Dette er et forsøg på at samle alle de ofte nødvendige værktøjer til fysisk pentest i én enhed, samtidig med at det får en personlighed, så det er sødt til døde. Projektet er i øjeblikket i R&D-fasen og funktionalitetsgodkendelsen, og jeg inviterer alle til at deltage i diskussionen om funktioner eller endda deltage i udviklingen. Under linket er der en detaljeret beskrivelse af projektet.
Hvorfor er det nødvendigt?
Jeg elsker at udforske alt omkring mig og bærer konstant forskellige værktøjer med mig. Jeg har: WiFi-adapter, NFC-læser, SDR, Proxmark3, HydraNFC, Raspberry Pi Zero (det giver nogle problemer i lufthavnen). Det er ikke så nemt at bruge alle disse apparater på farten, når man har en kop kaffe i den ene hånd eller cykler. Man skal sidde ned, pakke ud og tage computeren frem — det er ikke altid praktisk. Jeg drømte om en enhed, der ville implementere typiske angrebsscenarier, altid være klar til kamp og samtidig ikke være en bunke sammenfiltret kredsløb, der er taphæftet sammen.
Raspberry Pi Zero W med UPS-Lite v1.0 batteriskjold som en autonom fludder til at sende billeder til Apple-enheder via AirDrop. For nylig, efter offentliggørelsen af en åben implementering af AirDrop-protokollen og undersøgelser fra drengene hos HexWay om sårbarheder i iOS , jeg begyndte at underholde mig selv på en ny måde: ved at møde mennesker i metroen, sende dem billeder via AirDrop og indsamle deres telefonnumre. Derefter ønskede jeg at automatisere denne proces og lavede en autonom dick-pic maskine ud af en Raspberry Pi Zero W og et batteri. Dette emne fortjener en særskilt artikel, som jeg aldrig kan få skrevet færdig. Alt ville være godt, men det var ekstremt besværligt at bære denne enhed, den kunne ikke puttes i lommen, fordi de skarpe loddepunkter rev stof i bukserne. Jeg forsøgte at 3D-printe et hus, men resultatet tilfredsstillede mig ikke.
En særlig tak til Anna Prosvetov, der leder Telegram-kanalen som på min anmodning skrev en Telegram-bot , der genererer billeder med tekst, telegram-brugernavn og korrekt størrelsesforhold, så de vises fuldt ud i forhåndsvisningen, når de sendes via AirDrop. Man kan hurtigt generere et billede, der passer til situationen, det ser .
Pwnagotchi samlet med e-ink skærm og batteriskjold. Senere så jeg et fantastisk projekt . Det er som Tamagotchi, men i stedet for mad spiser det WPA-håndtryk og PMKID fra Wi-Fi-netværk, som derefter kan brute-forces på GPU-farme. Jeg kunne så godt lide dette projekt, at jeg i flere dage gik rundt med min pwnagotchi på gaderne og så, hvordan det blev glad for den nye fangst. Men det havde alle de samme problemer: man kan ikke helt putte det i lommen, der er ingen kontrolknapper, så enhver brugerinput er kun mulig fra en telefon eller computer. Så forstod jeg endelig, hvordan jeg ser det ideelle multiværktøj, som jeg har savnet. Jeg skrev om det og idéen fangede mine venner i produktdesign, som laver seriøse elektroniske ting. De foreslog at lave en fuld enhed i stedet for en DIY-løsning. Med rigtig fabrikproduktion og kvalitetspassende dele. Vi begyndte at søge efter en designkoncept. Klikbart. Første skitser af designet til Flipper Zero. Der er brugt meget tid på huset og designet, da jeg er træt af, at alle hacker-enheder ser ud som en bunke PCB'er, der er pakket ind i isoleringstape og nærmest er umulige at bruge. Opgaven var at opfinde et så praktisk og kompakt hus og enhed, som er nem at bruge autonomt uden computer eller telefon, og her er hvad der kom ud af det. Herunder er den nuværende ikke endelige koncept for enheden.
Hvad er Flipper Zero
I bund og grund er Flipper Zero flere shields og et batteri omkring Raspberry Pi Zero, pakket ind i et hus med en skærm og knapper. Kali Linux bruges som styresystem, da det allerede indeholder alle nødvendige patches og understøtter rpi0 fra starten. Jeg har kigget på mange forskellige enkeltbundkort: NanoPi Duo2, Banana Pi M2 Zero, Orange Pi Zero, Omega2, men de alle halter bag rpi0, og her er hvorfor:
- Indbygget Wi-Fi-adapter, der understøtter monitoreringsmodus og pakkeinjektioner ( patches)
- Indbygget Bluetooth 4.0
- Ganske god
- Officielt understøttet af Kali Linux og har mange færdige distributioner såsom
- Let adgang til SD-kortet, så man hurtigt kan overføre store mængder data
Sikkert vil mange sige, at Raspberry Pi ikke er det bedste valg til sådan en enhed og finde mange argumenter, for eksempel højt energiforbrug, mangel på hvilende tilstand, ikke åbent hardware osv. Men hvis man sammenligner alle minusserne og plusserne, har jeg ikke fundet noget bedre end rpi0. Hvis du har noget at sige om dette, er du velkommen til at besøge udviklerforumet .
Flipper Zero er helt autonom og kan styres ved hjælp af en 5-positioners joystick uden yderligere enheder som computer eller telefon. Standard angrebsscenarier kan aktiveres fra menuen. Selvfølgelig kan ikke alt gøres med joysticket, så for mere kontrol kan man forbinde via SSH over USB eller Wi-Fi/Bluetooth. Jeg har valgt at bruge en old school monokrom LCD-skærm med en opløsning på 126x64px, som dem man fandt på gamle Siemens-telefoner. For det første er det bare fedt, en monokrom skærm med orange baggrundsbelysning giver mig en uforklarlig glæde, en slags retro-militær-cyberpunk. Den er let at se i stærkt sollys og har et meget lavt strømforbrug, omkring 400uA uden baggrundsbelysning. Derfor kan den holdes i Always-On tilstand og altid vise et billede. Baggrundsbelysningen tændes kun, når der trykkes på tasterne.
Eksempler på skærme fra Siemens-telefoner. Sådanne skærme produceres stadig til forskellige industrielle enheder og kasseapparater. På nuværende tidspunkt har vi valgt .
Ports på Flipper Zero. På siderne af Flipper Zero findes der standard porte til Raspberry Pi, en tænd/sluk-knap/baggrundsbelysning, et hul til rem og en ekstra serviceport, hvor man kan få adgang til UART-konsollen, oplade batteriet og uploade ny firmware.
433 MHz transmitter

Flipper har en indbygget antenne på 433 MHz og en chip , til at arbejde i området <1GHz, den samme som i den populære enhed . Den kan opsnappe og analysere signaler fra fjernbetjeninger, nøgleanhængere, forskellige smarte stik og låse. Den understøtter arbejde med biblioteket og kan dekode, gemme og afspille populære fjernbetjeningskoder, ligesom . I tilfælde hvor Raspberry Pi ikke kan nå at behandle signalet, kan det indbyggede mikrocontroller styre CC1111. I tamaguchi-tilstand kan Flipper kommunikere med lignende enheder og vise deres navne, ligesom pwnagotchi gør.
Bad USB
Flipper kan emulere USB-slave enheder og opføre sig som et tastatur for at uploade payloads, ligesom . Den kan også emulere en ethernet-adapter for at ændre DNS, seriel port osv. Der findes et færdigt framework til Raspberry Pi, som implementerer forskellige typer af sådanne angreb Den ønskede angrebsscenario kan vælges fra menuen med joystick. På skærmen kan der vises fejlsøgningsinformation om angrebstilstanden eller noget harmløst til maskering.
WiFi
Den indbyggede Wi-Fi-adapter i Raspberry Pi understøtter oprindeligt ikke monitor-tilstand til pakkeinjektion, men der findes , der tilføjer denne funktion. For nogle typer angreb er der brug for to uafhængige Wi-Fi-adaptere. Problemet er, at næsten alle Wi-Fi-chips tilsluttes via USB, og vi kan ikke tage den eneste USB-port på rpi0, ellers bryder USB Slave-tilstanden ned. Derfor er det nødvendigt at bruge SPI- eller SDIO-grænsefladen til at tilslutte Wi-Fi-adapteren. Jeg kender ikke til nogen chips, der understøtter monitor-tilstand og pakkeinjektion lige fra starten og som ikke tilsluttes via USB. Hvis du kender en, så fortæl det venligst på forumet i tråden
NFC
NFC-modulet kan læse/sende alle ISO-14443 kort, inklusiv Mifare, bankernes kontaktløse kort PayPass/PayWave, ApplePay/GooglePay og mere. Støttes af LibNFC-biblioteket. I bunden af Flipperen er der en antenne på 13,56 MHz, og for at arbejde med kortet er det tilstrækkeligt at lægge det ovenpå. I øjeblikket er spørgsmålet om kortemulering stadig åbent. Man kunne ønske sig en komplet emulator som , men samtidig ønsker man også at kunne arbejde med LibNFC. Jeg kender ikke til andre chips end NXP PN532, men den kan ikke emulere kort ordentligt. Hvis du kender et bedre alternativ, så skriv om det i tråden
125kHz RFID
Gamle lavfrekvente kort på 125 kHz anvendes stadig bredt i dørtelefoner, kontoradgangskort osv. På flipperens sidekant er der en 125 kHz antenne, den kan læse EM-4100 og HID Prox kort, gemme dem i hukommelsen og emulere tidligere gemte kort. Man kan også overføre kort-ID'et til emulering via internettet eller indtaste det manuelt. På den måde kan flipper-ejere overføre leste kort til hinanden på afstand. Fedt.
iButton
iButton — en gammel type kontakt nøgle, som stadig er populær i CIS. De arbejder efter 1-Wire protokollen og har ingen autentificeringsmidler, hvilket gør dem letlæselige. Flipper kan læse disse nøgler, gemme ID i hukommelsen, skrive ID på blanke nøgler og emulere nøglen selv, så den kan præsenteres for læseren som en nøgle. Læsertilstand (1-wire master)
I denne tilstand fungerer enheden som en dør læser. Ved at placere nøglen mod kontaktpunkterne, vil flipper læse dens ID og gemme det i hukommelsen. I denne tilstand kan man også skrive det gemte ID på en blank nøgle.Nøgleemuleringsfunktion (1-wire slave)
Gemte nøgler kan emuleres i 1-wire slave tilstanden. Flipper fungerer som en nøgle og kan præsenteres for læseren. Den største udfordring var at finde en designløsning for kontaktfladen, der kunne bruges både som læser og som nøgle. Vi fandt en sådan form, men jeg er sikker på, at den kan laves endnu bedre, og hvis du ved hvordan, så kom med dine forslag på forumet i tråden.
Bluetooth
Indbygget Bluetooth-adapter til Raspberry Pi. Selvfølgelig kan den ikke erstatte enheder som , men den understøttes fuldt ud af bluez-biblioteket og kan bruges til at styre flipperen fra en smartphone eller til forskellige angreb på bluetooth som , der muliggør indsamling af sha256 fra mobiltelefonnumre knyttet til Apple ID, samt styre diverse IoT-enheder.
Lavenergimikrocontroller
Da flipperen er for cool til at slukke, besluttede vi at indsætte en separat lavenergimikrocontroller, der vil fungere, når Raspberry Pi er slukket. Den vil styre tamagotchi'en, overvåge opstartsprocessen af Raspberry Pi, indtil den er klar til at styre skærmen, og håndtere strømforsyningen. Den vil også styre CC1111-chippen til kommunikation med andre flippere.
Tamagotchi-tilstand
Flipper er en cyber-delfin hacker, der kan mestre alle digitale elementer. Når Raspberry Pi er slukket, går den over i tamagotchi-tilstand, hvor man kan lege og finde venner på en frekvens på 433 MHz. I denne tilstand vil NFC-funktioner sandsynligvis være delvist tilgængelige.
Karakteren er baseret på en delfin fra filmen som der hjalp med at hacke hjernen på Keanu Reeves og med sin stråling smadrede de dårlige fyre. Delfiner har en indbygget frekvensgenerator, som de bruger til at udforske alt omkring dem, samt en medfødt trang til underholdning og naturlig nysgerrighed. Vi har brug for en person, der kan finde på en personlighed til flipperen, hele spildesignet generelt, fra følelser til mini-spil. Alle sine tanker om dette kan skrives i den relevante sektion.
Om mig
Mit navn er Pavel Zhovner, og jeg bor i Moskva. I øjeblikket leder jeg Moskvas . Siden jeg var barn, har jeg elsket at udforske alt omkring mig: natur, teknologi, mennesker. Min primære specialisering er: netværk, hardware og sikkerhed. Jeg prøver aldrig at bruge ordet 'hacker', fordi det på grund af medierne er blevet totalt devalueret. Jeg kan godt lide at kalde mig selv en 'nørd', fordi det mere ærligt og uden pomp afslører essensen. I livet værdsætter jeg passionerede mennesker, der engagerer sig dybt med det, der interesserer dem, og som også kan kaldes nørder. Flipper Zero er mit forsøg på at lave noget virkelig fedt og storslået, og samtidig smukt. Jeg tror på open source, derfor vil projektet være helt åbent. I øjeblikket har jeg et lille team, men vi mangler folk med kompetencer inden for snævre områder, især inden for radio. Med dette indlæg håber jeg at finde mennesker, der ønsker at deltage i projektet.
Deltag i projektet
Jeg inviterer alle, der kan lide dette projekt, til at deltage i udviklingen på enhver mulig måde. På dette stadium skal vi godkende den endelige liste over funktioner for at kunne påbegynde implementeringen af den første version af enheden. Der er mange tekniske spørgsmål, som i øjeblikket ikke er løst.
For udviklere
Alle vores nuværende R&D opgaver vil blive diskuteret på forummet . Hvis du er hardware- eller softwareudvikler, eller hvis du har spørgsmål, råd, forslag, kritik — så skriv dem endelig på forummet. Det er det vigtigste sted, hvor der vil finde diskussioner om alle faser af udviklingen, crowdfunding og produktionen sted. Kommunikationen på forummet sker kun på engelsk, tøv ikke med at skrive klodset, det vigtigste er, at meningen er forståelig.
Stem på funktioner
Det er meget vigtigt for os at vide, hvilke funktioner der skal være i flippen. Dette vil påvirke prioriteterne i udviklingen. Måske antager jeg fejlagtigt, at nogle funktioner er vigtige, eller omvendt overser jeg noget. For eksempel har jeg tvivl om iButton, da det er en forældet teknologi. Så venligst deltag i en kort undersøgelse:
Send penge
Når prototypen er færdig, og projektet er klar til crowdfunding-platforme som Kickstarter, vil det være muligt at betale for forhåndsbestillinger. I øjeblikket kan du støtte mig personligt med små donationer til mad via . Regelmæssige donationer på 1$ er meget bedre end en stor sum ad gangen, da de gør det muligt at forudse fremad. Donationslink:
Ansvarsfraskrivelse
Projektet er i en meget tidlig fase, og der kan være fejl og skæve opsætninger på hjemmesiden. Så vær venlig ikke at være alt for hård. Rapportér venligst alle fundne fejl og unøjagtigheder til mig. Dette er den første offentlige omtale af projektet, og med din hjælp håber jeg at rette alle uregelmæssigheder, før jeg offentliggør det bredere på de engelsktalende interneter.
Alle noter om projektet publiceres i min Telegram-kanal .
Kilde: habr.com
