Hijacking Sonoff Ota System

August 14, 2022 0 By xllxt

ITEADs Sonoff Line er en række internet-of-thing-gadgets baseret på ESP8266. Dette gør dem fremtrædende for hacking på grund af deres tilgængelighed. Tidligere job har fundet ud af, hvordan man reflasher de sonoff-enheder, men for [Mirko], det var ikke tilstrækkeligt – det var på tide at omdanne ingeniør Sonoff Over-Air Update-protokollen.

[Mirko] ‘s motivation er grundlæggende tilstrækkeligt – et ønske om iot gadgets, der ikke krav til telefonhus til forretningsmodtageren, integreret med at have lyst til at forhindre, at cracking arbejdskraft åbner hver sonoff gadget for at reflash det med ledninger som en neanderthal. Det allerførste skridt involverede at forbinde Sonoff Gadget til WiFi samt fange trafikken. Dette skiftede hurtigt en SSL-forbindelse til en fjernwebadresse. Dette blev hurtigt opsnappet, da gadgeten ikke gør nogen form for certifikatvalidering – dog manglende sikkerhed er desværre aldrig en overraskelse på nettet af ting.

Efter at have fanget netværkstrafikken, indstillet [Mirko] om at sammensætte protokollen, der anvendes til at udføre OTA-opdateringerne. Efter et grundlæggende håndtryk mellem klient samt server, kan serveren bede klienten om at tage forskellige handlinger – f.eks. Downloadning af et opdateret firmware billede. Efter at have fundet ud af messagingformatet, søgte [Mirko] at producere en webserver i Python for at replikere denne adfærd.

Der er nogle faldgruber – firmware billeder, der skal formateres noget på en anden måde for OTA-opdateringer versus den normale serielle udgivelsesmetode, da denne proces forlader lager bootloader intakt. Der er ligeledes split-partition flash lagringssystemet at tilbyde med, som [mirko] stadig arbejder på.

Ikke desto mindre er det glimrende at se hackere, der gør hvad de gør fineste – tager at styre over hardware samt software til at tjene deres egne formål. For at opdage mere, hvorfor ikke inspicere præcis, hvordan du blinker dine sonoff-gadgets over serielle? De er bare en ESP8266 indeni, trods alt.