Iteads Sonoff-linje är en rad internet-of-the-gadgets baserade runt esp8266. Detta gör dem framträdande för hacking på grund av deras tillgänglighet. Tidigare jobb har räknat exakt hur man reflekterade Sonoff-enheterna, men för [Mirko], det var inte tillräckligt – det var dags att omvända ingenjören Sonoff Over-the-Air Update-protokollet.
[Mirko]: s motivation är grundläggande tillräcklig – en önskan för IoT-prylar som inte kräver att telefon hus till affärsmothership, integrerat med att förhindra att arbetet med att spricka öppna varje Sonoff Gadget för att reflash den med ledningar som en Neanderthal. Det allra första steget involverade att ansluta Sonoff Gadget till WiFi samt fånga trafiken. Detta visade snabbt en SSL-anslutning till en fjärradress. Detta avlyssades snabbt eftersom gadgeten inte gör någon typ av certifikatvalidering – men en brist på säkerhet är tyvärr aldrig en överraskning på webben av saker.
Efter att ha tagit nätverkstrafiken, [Mirko] satte sig om att peka ihop protokollet som användes för att utföra OTA-uppdateringarna. Efter en grundläggande handslag mellan klienten samt server kan servern be kunden att ta olika åtgärder – som att ladda ner en uppdaterad firmware-bild. Efter att ha tagit ut meddelandet, sökte [Mirko] att producera en webbserver i Python för att replikera detta beteende.
Det finns några fallgropar – Firmware Picture-kravet att formateras något på ett annat sätt för OTA-uppdateringar jämfört med den normala seriella publiceringsmetoden, eftersom den här processen lämnar Stock Bootloader intakt. Det finns också det split-partitions flashlagringssystem som ska erbjudas med, vilket [Mirko] fortfarande arbetar på.
Ändå är det utmärkt att se hackare som gör vad de gör finaste – ta hand om maskinvara samt programvara för att tjäna egna ändamål. För att upptäcka mer, varför inte inspektera exakt hur du blinkar dina Sonoff-prylar över serien? De är bara en ESP8266 inuti, trots allt.