Stap 5: Hoe We Did It: hacken Audio
Krijgen video was niet te hard. Hopelijk audio zou net zo makkelijk, recht? Na een paar uur Google zoeken leek het alsof niemand anders ooit heeft weten te succesvol uitlichten en ontcijferen van de audiogegevensstroom van een IP-camera. We waren op onze eigen.
Terug te gaan naar onze url vonden we via Wireshark, we gevangen een paar bytes van audio met Ubuntu:
wget http://192.168.1.252:81/?user=admi...
Dan hit Ctrl + C om de stroom is afgesneden. RAW audio in de hand, wij marcheerden Audacity om te proberen te spelen via Bestand -> importeren -> onbewerkte gegevens. De meeste pogingen klonk als lawaai, maar we vonden dat het gebruik van de VOX ADPCM codering op 8kHz geproduceerd iets herkenbaar!
Verder was er nog de kwestie van het verwijderen van dat rare patroon van klikken. Ik dacht dat het had iets te maken met de pakketten, zoals met de videostream moesten we verwijderen sommige kopteksten aan het begin en einde. Misschien hetzelfde gold met audio?
We een beetje meer nauw keken op elk pakket, en merkte dat de gegevens moeten worden begonnen met de zelfde 0x55aa15a8... bytes, plus een waarde die keek naar naar boven worden tellen elk pakket, en een lange stroom van nullen, voor een totaal van 32 bytes. Vermoedelijk, werd Audacity nemen van deze pakketheaders als audiogegevens en proberen om te decoderen, dat is wat maakte de vervelende klikgeluiden.
Een paar experimentele python scripts later we verwijderd de headers en het doorlopen van de ADPCM-decoder in Audacity - allermeest naar de kliks werden verwijderd! Maar er een paar waren links over, specifiek tijdens de luidruchtiger delen van de audio.
Zodat wij lezen in de werking van ADPCM - blijkbaar het codeert audio via het verschil tussen monsters, en geheime voorgeheugens de vorige audio staat zodat het kan toevoegen van de twee en een nieuwe steekproef produceren. Na een paar meer python scripts, we erin geslaagd de pakketten direct vastleggen en opnieuw instellen van deze staat aan het begin van elk pakje. Klikken werden volledig verwijderd, en niets maar camera audio bleef. Succes!