In de eerste pagina's probeert hij een versleutelde firmware-binary, die je los kunt downloaden van de website van de maker, te ontsleutelen. Dat lukt niet, dus daarna heeft 'ie de debug console-poort uitgelezen, waar 'ie in ieder geval uit haalde dat er een Linux-variant op het ding draait.
Toen heeft 'ie de inhoud van de NAND-chip gedumpt, die niet versleuteld en dus gewoon leesbaar was. Daar is 'ie op zoek gegaan naar de code die de firmware-update initieert, die je vanuit het menu van de speler immers kunt starten.
Hij vond een HTTP-module, die gebruikt wordt om de firmware te downloaden. Uit de code die deze module aanspreekt kon hij halen hoe de (homebrew) encryptie van de firmware werkt (de firmware moet, na het downloaden, immers ontsleuteld worden) en kon hij dus zelf een firmware ontsleutelen, maar belangrijker: aanpassen en versleutelen.
Hij durfde dit alleen niet uit angst het apparaat te bricken, dus ging hij op zoek naar een exploit ín de firmware. Die kwam hij snel tegen: er werd uit het gedownloade firmwarebestand direct op de stack gelezen, zonder controles. Hierdoor kon hij, door het apparaat een aangepast firmwarebestand te laten downloaden (waarschijnlijk gewoon door te spelen met DNS in z'n router om zo het HTTP-verzoek lokaal af te vangen) en zo het
returnadres aanpassen zodat zijn eigen code uitgevoerd kon worden.
Uiteindelijk heeft hij code laten uitvoeren die middels reeds op de machine aanwezige libraries een afbeelding downloadt en toont:
Tenminste, dit is ook totaal mijn werkgebied niet, maar dit is wat ik ervan begreep toen ik het gisteren las.
[
Voor 5% gewijzigd door
CodeCaster op 25-10-2012 10:28
]