
Viimastel päevadel on mitmelt poolt käinud läbi viited ja õpetused SpeedTouch modem/ruuteri (mis tuleb kaasa Elioni DigiTV komplektiga) paroolide muutmiseks. Mul on kodus selline ruuter olemas ja võrgu nimetus ning parool ilusti muudetud. Miks aga see käik üldse vajalik on?
Selgitus on lihtne, antud ruuteri wifi WEP parool ehk siis parool, millega saab wifi võrku logida, on kergesti tuletatav ruuteri SSID nimest ehk võrgu nimetusest.
Reeglina on sellise ruuteri vaikimisi SSID väärtuseks midagi järgmist: SpeedTouchB98587. Seda on näha kui arvutis wifi ühenduste all vaadata, et mis võrgud parasjagu saadaval on. SSID viimased 6 sümbolit (näite puhul B98587) annavadki vihje, et mis võiks olla parooliks.
Nimelt kasutatavad speedtouchi ruuterid vaikimisi SSID ja parooli määramisel iseenese seeria numbrit, mis on kujul CP0615313039. Sellest stringist võetakse 40 märgi pikkune SHA1 hash ning saadud hashi viimased 6 sümbolit kasutatakse SSID jaoks ning esimesed 10 pannakse parooliks.
Iseenesest üsna lollikindel süsteem. SHA1 on ühesuunaline hash ning selle murdmine tavaarvutitega on praktiliselt võimatu. Ussiaugu aga pureb süsteemi fakt, et ruuteri seerianumber on kergelt tuletatav – neid variante on 36*36*36*52*3=7 278 336 varianti. Sellist mahtu toore jõuga läbi proovida pole aga mingi probleem. Iphone peal pythoni skriptiga läks 40 minutit, aga C kompileeritud programmiga Windowsis ainult kuskil 5 sekundit. Ühesõnaga, suhteliselt lihtne.
SpeedTouch seerianumber on kujul CP XX YY AA BB CC DD, kus CP on tekstiline märgend; XX tähistab tootmisaastat kahekohalise numbrina (05,06,07, nüüd ka 08); YY on nädala number 01..52; AA, BB ning CC on ascii koodid hex kujul alphanum massiivist ehk 0..9, A..Z (char1 = hex(ord(‘A’)); ).
Seega parooli määramiseks kõlbab järgmine algoritm:
var SSID = B98587
for i=05, 06, 07
for j=01..52
for ch1=hex(ord([0..9A..Z]))
for ch2=hex(ord([0..9A..Z]))
for ch3=hex(ord([0..9A..Z]))
hash=sha1(‘CP’+i+j+ch1+ch2+ch3)
if(hash{34-39}==SSID.lower()
pass = hash{0-9}
– Ühesõnaga moodustame kõikvõimalikud seerianumbrite kombinatsioonid, võtame nendest sha1 hashi ning juhul kui viimased 6 sümbolit kattuvad SSID väärtusega, paneme parooli väärtuseks hashi esimesed 10 sümbolit.
Kokkuvõttes on ainult üks soovitus – vahetage kiiresti oma SpeedTouch ruuteril parool ning SSID ära, kuna muidu on varsti see kellelegi teada. Ja muidugi eriti mõnus on, et ruuteri administraatori kontol puudub parool ja administreerimisliidesele aadressil 192.168.1.254 pääseb ligi ka wifi kaudu. Ei tea kunagi, millal pahalane on teie ruuteri administreerimispaneeli sisse loginud ja jälgib teie võrguliiklust!