Beveiligingsonderzoekers veranderen Sonos One-luidsprekers in bugs
Beveiligingsonderzoekers ontdekten naar eigen zeggen een kwetsbaarheid in de One-luidspreker van Sonos, die inmiddels is gesloten. Vervolgens konden ze de spreker in een fout veranderen.
advertentie
Voorbereidingen
In hun presentatie op Black Hat 2024 Beveiligingsonderzoekers van NCC Group laten zien hoeveel moeite zij hebben gestoken in het ontdekken van de kwetsbaarheid in de firmware van de Sonos One-speaker. Om dit te doen, soldeerden ze een kabel aan blootliggende UART-poorten op de versterkerkaart om onder andere kernelpaniekberichten te evalueren. Door de firmware te demonteren vonden onderzoekers een bufferoverflow in de kernelmodule die verantwoordelijk was voor de WiFi-implementatie.
Exploitatie via WiFi-pakket
Omdat Sonos noch Kernel Address Space Layout Randomization (KASLR) noch heap canaries gebruikt om te waarschuwen voor bufferoverflows, konden ze volgens de onderzoekers op betrouwbare wijze misbruik maken van de bug in de WLAN-module.
Om de geheugenfout te veroorzaken, gebruikten ze de Linux-tool wpa_supplicant om een toegangspunt (AP) te emuleren. Het toegangspunt zet een WLAN op met dezelfde naam en hetzelfde wachtwoord als de spreker verwacht.
Om de versterker met het toegangspunt te laten communiceren, is één enkel pakket voldoende om de authenticatie ongedaan te maken en een sterker radiosignaal naar het toegangspunt te sturen. Aan het einde van de WPA-handshake tussen de luidspreker en het toegangspunt stuurt wpa_supplicant een soortgelijk aangepast pakket naar de Sonos One, waardoor een bufferoverflow ontstaat.
In totaal passen er ongeveer 2.300 bytes in een 802.11-pakket, dus de onderzoekers hadden niet veel opslagruimte om hun hele exploit te huisvesten. Met behulp van trucjes konden ze een shellscript in het handshakepakket laden. Eenmaal uitgevoerd, downloadt het script Busybox van de laptop van de onderzoekers, waardoor ze over een breder scala aan opdrachtregelprogramma’s beschikken.
De luidspreker als bug
Nadat ze de controle over de versterker hadden overgenomen, voegden ze een implantaat toe, geschreven in de taal van roest. Het stelt aanvallers in staat de webinterface te gebruiken om de ingebouwde microfoon van de spreker op te heffen en vervolgens te beginnen met opnemen, waardoor de spreker in een bug verandert die volledig van buitenaf kan worden bestuurd.
Omdat Sonos-speakers doorgaans via automatische updates worden voorzien van de nieuwste firmware, zijn er momenteel relatief weinig Sonos One-modellen die nog kwetsbaar zijn voor de aanval. Het rapport van de onderzoekers onthult niet specifiek de huurfirmware.
(de)