Root på SAGEMCOMF@st 3890

Default login og command injection

For nogle måneder tilbage rapporterede jeg en sårbarhed i en TDC/Yousee router jeg kiggede på. Sårbarheden er i to dele og gjorde det trivielt at få root på routeren.
Det er nu så længe siden, og jeg har modtagere indtil flere opdateringer på routeren, og problemet er efter 5 måneder ca blevet fikset.

Routermodellen jeg testede fra en Sagemcom F@ST3890 og dette virker på firmware version FAST3890_TDC_50.10.12.T0, dog er firmwaren opdateret.

Timeline:
11/01-2018: Sårbarhed indrapporteret, svar modtaget, samt en lille gave.
11/03-2019: Nu på firmware version FAST3890_TDC_50.10.19.T1, sårbarhed ikke patchet. Yousee kontaktet om status.
13/03-2019: Firmware FAST3890_TDC_50.10.19.T5 pushet til min router kun, password konstateret uændret. Commandinjection i Diagnostics panel fikset.
14/03-2019: Ufuldstændig patch - sårbarhed virker stadig.

Default login

Jeg begyndte med at søge online efter information om routeren, men uden det store held på den specifikke model. Jeg bemærkede dog at den var ret lig flere andre router typer derude, og nok bygget på samme underliggende system. Jeg fandt derfor en lister over URI som kunne være interessante at kigge på, mange af dem var blot en enkelt side til routerens indstillinger, og flere skjulte indstillinger.
En af siderne stak ud, nemlig /dumpcfg.cmd da denne returnere en lang xml optegning af alle routerens indstillinger, mange af disse som ikke kan findes andre steder.
CTRL-F ”password” og jeg finder hurtigt mit eget kodeord til routerens admin panel, både cleartext og base64 enkodet. Det er at forvente at se i routerens config fil, men der to linjer som i den grad ikke er;

<SupportUserName>TDC</SupportUserName>
<SupportPassword>XXXXXXXXXX</SupportPassword>

Det ligner en systembruger men koden må da være tilfældig?
(Jeg har her fjernet koden da de har opdateret routeren til ikke at vise siderne, men ikke har opdateret koden). Okay, det har nogle implikationer med sig. Det er tydeligt at dette kodeord er et som bliver brugt over en lang serie af routere.
Jeg testede det på to andre routere af samme model, og rigtigt nok, kan jeg logge ind på admin panelet med disse credentials.

Command Injection

Nu har jeg login til de fleste routere af denne model, men hvad kan jeg med det? Router administrationspaneler er ikke kendt for at være super godt beskyttet, så jeg tænker at der må være en indgang til routeren et sted.

Det oplagte sted at starte er i Diagnostics panelet, det er typisk her man finder OS command injection sårbarheder da det er her kontrolpanelet kommer tydeligst i kontakt med det underliggende system.

Diag
Processerne her køres ofte gennem bash, så det er bare at finde den rigtige streng. ”; ls” virker ikke, men ”; ls;” gør.

Diag-exploit

Det kunne ikke være nemmere, nu skal rettighederne bare kortlægges og eskaleres. Never mind, webserveren køre som root.

Så kan der køres ” ; /bin/busybox telnetd -l /bin/bash -p 9999;” for en shell, og du har nu root på routeren.

Post exploit

YouSee var hurtige til at reagere på min henvendelse, og efter 5 måneder har jeg fået en opdateret firmware som håndtere dette problem.
Hvor alvorlig er denne sårbarhed hvornår kan den exploites?
For at kunne tilgå routerens webpanel, skal man være logget på wifi, eller routeren skal kunne administreres udefra (Der findes en indstilling til dette). Er du tilgengæld på samme net som routeren er det utroligt nemt at exploite.
Har jeg i forevejen inficeret din computer er jeg jo på dit netværk, og jeg kan derfor gøre brug af denne sårbarhed til at inficere flere brugere, da jeg er i kontrol over netværkstrafikken.

REF:

Denne post er refereret i https://cablehaunt.com/ rapporten, som jeg klart anbefaler at læse. I denne offentliggøre de koden til support brugeren: 17.Sodavand

Show Comments