Objavljeno: 29.6.2006 23:14 | Avtor: Edi Strosar | Monitor Junij 2006

Vstopanje skozi Okna

Včasih se v resnici zgodi, da uporabniki izgubijo ali pozabijo geslo, ki ga potrebujejo za vstop v operacijski sistem. Dogaja se tudi, da stranke računalniškemu servisu dostavijo sistem v popravilo, obenem pa serviserju pozabijo povedati vstopno geslo. Kako se rešiti iz te zagate?

Začenjamo serijo člankov na temo računalniške varnosti oz. vdiranja v računalniške sisteme in obrambe proti temu početju. V naslednjih mesecih bomo opisali tehnike preseganja medpomnilnika, napade na ARP (Adress Resolution Protocol), napade na usmerjevalnike Cisco, t. i. fault injection/fuzzing, vdiranje prek brezžičnih protokolov (Wlan) in še kaj. Začenjamo z osnovami - kako "vdreti" v (tudi lastna) Okna, če smo pozabili ali izgubili upraviteljsko geslo...

Pa začnimo pri prvi oviri - BIOSu. Osnovni nalogi BIOSa sta prepoznavanje strojne opreme in inicializacija sekvence prebujanja računalnika. Vzemimo, da želi uporabnik (serviser) zaradi različnih razlogov spremeniti določene parametre BIOSa ... Ojej, kakšno je že geslo? Nekateri (predvsem uporabniki prenosnih računalnikov) zagon sistema priredijo celo tako, da BIOS zahteva geslo, preden se začne prebujanje. Na voljo je veliko "teoretičnih" načinov, kako zaobiti geslo BIOSa: privzeta gesla izdelovalcev čipa, prekoračitev medpomnilnika tipkovnice, razbijanje gesla z grobo silo,....

Večina naštetih postopkov deluje le pri zelo starih računalnikih (tam nekje do leta 1995). Dejansko delujoča, hitra in vedno funkcionalna sta le dva načina: odstranitev baterije na matični plošči in vnovična nastavitev CMOSa. V pomnilniku CMOS so shranjevane temeljne nastavitve sistema (datum, ura...), pa tudi geslo, ki smo ga nastavili v BIOSu. Priporočljivo je uporabiti kombinacijo obeh načinov. Potrebujemo le izvijač, navodila za matično ploščo in nekaj ročnih spretnosti. Postopek je trivialen. Preden začnemo, izključimo napajalni kabel iz električnega omrežja, odpremo ohišje, pritisnemo gumb za vklop računalnika (s tem se razelektrijo vse notranje komponente), odstranimo baterijo, prestavimo stikalce (oz. jumper) za vnovično nastavitev (reset) CMOSa iz "normal position" v "clear CMOS position" (najdemo jih v navodilih za matično ploščo). Počakamo približno 60 sekund, stikalce premestimo nazaj v prejšnji položaj in vstavimo baterijo nazaj. Če se računalnik ob zagonu lahko požene z diskete (odvisno od nastavljenih parametrov v BIOSu in, seveda, če ni nastavljeno geslo, ki prepreči prebujanje), lahko CMOS vnovič nastavite tudi programsko, s programom killcmos (glej koristne povezave na koncu). Seveda mora v tem primeru disketa poleg že omenjenega programa vsebovati tudi operacijski sistem. Ne glede na operacijski sistem, ki ga imamo v računalniku, zagonske diskete Windows 95/98/ME povsem zadostujejo. Nekateri protivirusni programi sicer killcmos prepoznajo kot virus, a to dejansko ni. No, protivirusnikom takega početja ne gre zameriti, saj je vnovična nastavitev CMOSa vendarle preveč delikatna zadeva za neveščega in nepripravljenega uporabnika. Skratka, BIOS je zdaj vnovič nastavljen na privzete, tovarniške parametre. Seveda brez gesla.

Odpravili smo prvo oviro...

Naslednja težava. Prijavno okno... V starejših različicah Oken (95/98) je prijavno okno (t. i. logon prompt) presneto lahko zaobiti. Ko se prikaže, enostavno pritisnemo tipko Esc. Tudi Windows XP ima podoben biserček, ki ga večina uporabnikov najverjetneje ne pozna. Če pozabijo geslo, se tako najraje zatečejo kar k vnovični naložitvi sistema... Takole gre . Ko se prikaže prijavno okno, pritisnemo (in držimo) tipki CTRL + ALT, nato pa pritisnemo 2x DEL. Prikaže se nestandardni prijavni zaslon (tak, kot smo ga bili vajeni v Windows 2000). Tu pod uporabniško ime vpišemo Administrator, geslo pa pustimo prazno. Pritisnemo ENTER. Večinoma se bomo v sistem prijavili kakor Administrator. Poskusite, presenečeni boste, kako velikokrat deluje.

Le v katerem grmu tiči zajec? V dejstvu, da domači uporabniki (pri domenskih računalnikih to največkrat ne deluje) pri namestitvi sistema skrbniškemu računu ne dodelijo gesla (kar je v bolj resnih sistemih, kot so Unixi, seveda onemogočeno), račun pa je v privzetem načinu prijave v Windows XP skrit. Vendar tudi tu ne gre brez protislovij. Strokovnjaki za računalniško varnost zagotavljajo, da je varneje uporabljati račun Administrator brez gesla kakor s preprostim ali kratkim geslom. Uporabnik Administrator brez gesla se namreč lahko prijavi v sistem Windows XP le krajevno in ne prek omrežja, z oddaljenega računalnika (LAN/WAN/Internet). Uporabniški račun Administrator je na vrhu tarč, ki jih iščejo hekerji. S programi, kot so Hydra, Medusa in Brutus, lahko hekerji preprosto geslo razbijejo v pičlih nekaj sekundah...

Kaj pa, če ima račun Administrator vendarle prirejeno geslo? Možnosti je kar nekaj. Od takih, za katere moramo plačati (Winternals Administrator's Pak), pa do takih, ki nam vzamejo veliko časa (namestitev alternativnega sistema). Omenili bom le dva postopka, ki sta preprosta in brezplačna. V prvem primeru bomo uporabili Recovery Console. Recovery Console je programska oprema, priložena na namestitvenemu CDju Windows XP, ki je namenjena odpravljanju težav v Oknih, ko se kaj resno zalomi. Je okolje, ki deluje prek ukazne vrstice. Nabor ukazov je precej omejen, njihovo delovanje pa je namenjeno le specifičnim opravilom. Omogočen je le dostop do korenskega imenika lokalnih diskov ter sistemskega imenika (%systemroot%) ter njegovih podimenikov; onemogočajo kopiranje na diskete oz. druge prenosljive nosilce; zahtevajo vnos skrbniškega gesla pred uporabo konzole. Vse te omejitve lahko zaobidemo preprosto: čeprav uporabljamo sistem Windows XP, uporabimo Recovery Console za Windows 2000, torej programsko opremo, ki je na namestitvenem CDju Windows 2000. V tem primeru bodo vse omejitve izničene, tudi zahteva po vnosu skrbniškega gesla.

Uporaba je preprosta: zaženemo računalnik z namestitvenega CDja za Windows 2000, med prebujanjem pritisnemo "R" za vstop v Recovery Console in nato izvedemo naslednja ukaza:

cd %systemroot%\system32\config

ren sam sam.old (preimenujemo datoteko sam v sam.old)

Spet zaženimo računalnik. Račun Administrator bo zdaj brez gesla, vsi drugi računi pa bodo izbrisani (česar si verjetno nismo želeli, pa vendar...). Ali drugače, če nismo edini uporabnik, moramo spet ustvariti vse uporabniške račune. Datoteka SAM (Security Account Manager database) vsebuje šifirane (hash) kopije uporabniških gesel, z izbrisom pa jih seveda izgubimo.

Kaj pa, kadar nimamo pri roki CDja Windows 2000 oziroma uporabljamo Windows NT/XP/2003? Najpreprostejša rešitev je uporaba orodja, imenovanega Offline NT password & registry editor, ki ga lahko poženemo s CDja ali diskete. Program je pravzaprav zagonski disk Linux, ki vsebuje podporo (driver) particijam NTFS in programsko opremo za urejanje registra. Uporaba je nadvse preprosta in zahteva le minimalno posredovanje s strani uporabnika. Program zapečemo na CD ali disketo, znova zaženemo računalnik, še prej pa v BIOSu preverimo, ali je prebujaje s CDja oz. diskete omogočeno. Sicer ima program veliko naprednih možnosti, vendar je priporočljivo uporabljati privzete parametre. Offline NT password & registry editor brez težav zaobide tudi Microsoftovo zaščito SYSKEY. SYSKEY se uporablja kot dodatna stopnja zaščite SAM, saj datoteko dodatno šifrira s 128-bitnim ključem in zahteva vnos gesla pred uporabo zbirke podatkov SAM.

Če smo zaščitili svoje datoteke z EFS (Encrypting File System) in nimamo rezervne kopije zasebnega ključa, bomo ob izbrisu uporabniškega ali skrbniškega računa ob vse podatke. Če uporabljamo EFS, je priporočljivo svoj zasebni ključ zanesljivo shraniti na prenosni nosilec.

Bolj "legalna" rešitev

Veliko težavam se hitro in neboleče izognemo tako, da se nanje vnaprej pripravimo. To velja tudi za težave ob izgubljenem ali pozabljenem geslu za vstop v Okna. Windows XP ima možnost ponastavljanja izbranega računa, tudi skrbniškega - t. i. password reset disk. Deluje le, če smo predhodno izdelali disketo za vnovično nastavitev.

Kako naredimo disketo:

- Na Nadzorni plošči kliknemo ikono Uporabniški računi in izberemo račun, za katerega nameravamo ustvariti disketo.

- Izberemo Prepreči izgubljeno geslo in sledimo navodilom.

Uporaba diskete:

- V Pozdravnem oknu kliknite uporabniško ime, za katero ste naredili disketo, in vnesite poljubno geslo. Prikaže se sporočilo o nepravilnem geslu.

- Vstavite disketo in kliknite Use password reset disk.

- Sledite navodilom čarovnika, ustvarite novo geslo in se prijavite v sistem.

- Disketo shranite, saj je posodobljena z novo narejenim geslom.

Kaj pa Linux?

Naj se sliši še tako neverjetno, v Linux je brez root gesla enako lahko ali pa še laže vstopiti kakor v Windows. Seveda le, če imamo fizični dostop do sistema. Oglejmo si dve preprosti metodi:

Metoda init

Če uporabljate LILO, ob zagonu sistema v poziv boot: (če uporabljate LILO v grafičnem načinu, pritisnite CTRL-X ) vpišite

linux init=/bin/sh rw

če se vaše jedro imenuje linux. za poziv boot: Naložila se bo ukazna lupina Bourne s korenskimi (root) privilegiji. Uporabite ukaz passwd root in določite novo geslo. V konzolo vpišite exec /sbin/init 6 in pritisnite ENTER. Zdaj se lahko v sistem prijavite z novim geslom.

Če uporabljate GRUB, je postopek nekoliko bolj zapleten: s smernimi tipkami izberite jedro, pritisnite tipko "A" (append) in v ukazni poziv vnesite

` init=/bin/sh rw`

Brez narekovajev, vendar bodite pazljivi na presledek (tipka SPACE) pred začetkom ukaza. Pritisnite tipko Enter in nato "B" za vnovični zagon. V ukazno lupino zdaj vpišite

passwd root ter vnesite novo geslo.

Uporaba t. i. "live CD" distribucij (npr. Knoppix)

Uporaba live linux distribucij se je v zadnjem času skokovito povečala, predvsem zato, ker omogočajo začetnikom varno in preprosto preizkušanje operacijskega sistema Linux. Računalnik namreč prebudimo kar s CDja in pri tem z ničimer ne "popackamo" diska, kaj šele, da bi na njem morali izdelati kakršnekoli particije.

Live CDji so zelo priročni tudi za odpravljanje nekaterih sistemskih težav, v konkretnem primeru npr. zamenjavo skrbniškega gesla. Zagon računalnika opravimo prek Knoppix CDja, izvedemo naslednje ukaze:

mount -o rw /dev/hdaX /mnt/hdaX (priklopimo linux particijo X v bralno-pisalnem načinu)

su - (postanemo uporabnik root, Knoppix ne zahteva vnosa gesla)

chroot /mnt/hdaX /bin/sh (določimo korenski imenik)

passwd root (vnesemo novo geslo)

Namesto hdaX vpišemo ime diska, na katerem je naš korenski imenik. Npr. hda1, hda2,...

Linux je raznolik in pisan, zato bi bilo utopično pričakovati, da bosta opisani metodi delovali pri vseh distribucijah. Vendar ni razloga, da vsaj ena izmed omenjenih ne bi delovala v distribuciji, ki jo trenutno uporabljate. Seveda so na voljo tudi alternative (dodajanje t. i. single ali rescue zagonskih parametrov, urejanje datoteke /etc/shadow s pomočjo Knoppix...).

SuperUporabnik v Oknih

Za konec se spet vrnimo v okensko okolje. Večina uporabnikov je prepričana, da je skrbnik (Administrator) najvišja avtoriteta med uporabniškimi računi. Vendar to ne drži, saj tudi ta skrbniški račun nima absolutnih privilegijev. Administrator ima npr. onemogočen dostop do registrskih ključev HKLM\SAM in HKLM\SECURITY, kjer so shranjene informacije o uporabniških računih. Vsemogočni račun v Oknih se imenuje NT AUTHORITY\SYSTEM. Čeprav ta račun nima gesla, se z njim vendarle ne moremo prijaviti v sistem. Dejansko je to krajevni, sistemski (psevdo) račun, ki ga uporabljajo sistemski procesi in servisi. Še vedno pa se lahko prestavimo oz. dvignemo v ta sistemski račun in tako v sistemu izvedemo popolnoma vse. To naredimo z ukazom at, ki je del Oken. V ukazni vrstici vpišemo:

at xx:xx /interactive cmd (kjer xx:xx predstavlja trenutni čas + 1 minuta, torej čez minuto)

Če ukaz ne deluje, nimamo pognanega servisa Task Scheduler. Poženemo ga z ukazom:

net start "Task Scheduler"

Ob podanem času se nam odpre novo ukazno okno s sistemskimi privilegiji. Vsi ukazi, izvedeni v tem okolju, bodo izvedeni v sistemskem kontekstu.

Gesla, temelj varnosti

Če povzamemo: čeprav vstopna (in druga) gesla niso nepremostljiva ovira, so še vedno pomemben dejavnik osnovne računalniško-varnostne zaščite. Ne uporabljajmo zgolj "gesla", uporabljajmo kakovostna gesla - dolžina najmanj 8 znakov, kombinacija velikih in malih črk, številk in posebnih znakov.

Koristne povezave:

www.softpedia.com/get/System/System-Miscellaneous/KILLCMOS.shtml

www.knopper.net/knoppix/index-en.html

home.eunet.no/pnordahl/ntpasswd/

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji