Win 95:n levynjakamisen riskit
Janne Anttila 47914T
Erilaiset Windows käyttöjärjestelmät ovat käytössä miljoonissa työasemissa ympäri maailmaa ja nykyään yhä useammin nämä työasemat ovat liitetty Internetiin. Levynjakamista käytetään huolettomasti Internetin yli tietämättä juurikaan siihen liittyvistä tietoturvariskeistä. Usein järjestelmä on valmiiksi konfiguroitu väärin [1], joka saattaa tehdä mahdollisesta hyökkäyksestä erittäin helposti toteutettavan.
Hyökkääjä voi skannata verkkoa etsien saatavilla olevia työasemia ja saada samalla listan kyseisen työaseman jaetuista resursseista [2]. Skannausmetodit ovat yleisesti tunnettuja kuten "fping" ja TCP-portin 139 skannaus [1]. Hyökkääjä löydettyään sopivan koneen voi rauhassa alkaa yrittämään pääsyä niiden jaettuihin resursseihin.

Windows 95, kuten myös Windows NT, käyttävät resurssien jakamisessa verkon yli Shared Message Block (SMB) protokollaa. Jos SMB:tä käytetään TCP/IP:n yli, on NetBIOS rajapinta SMB:n ja TCP/IP välissä (katso kuva). Client ottaa yhteyden serveriin TCP/IP:tä käyttäen ja kun yhteys on avattu, client voi lähettää käskyjä (SMB:tä) serverille, joka antaa clienteille pääsyn jaettuihin resursseihin ja antaa luku- ja kirjoituskoikeuksia tiedostoihin.
SMB:llä on kaksi turvatasoa:
Voidakseen luoda SMB-yhteyden, tarvitsee tietää koneen IP-osoite ja koneen nimi. Nimi on samankaltainen (usein sama) kuin nimipalvelimessa oleva koneelle annettu nimi ja se on yksilöllinen lähiverkon sisällä. Kun ajetaan NetBIOSia TCP/IP:n yli, työasema pitää yllä omaa nimipalvelinta UDP-portissa 137 ja yrittää koko ajan paikallistaa ja lähettää informaatiota lähiverkon palveluista. Työasema lähettää tietyin väliajoin verkkoon nimeään ilmoittaakseen muille työasemille olemassa olostaan ja omista palveluistaan. Reitittimet eivät levitä tätä informaatiota lähiverkon ulkopuolelle, joten ulkopuolelle ei suoraan näy työasemien nimet, mutta on olemassa keino millä ulkopuoleltakin saadaan nämä NetBIOS nimet näkyviin ja sitä kutsutaan "node status query:ksi". Proseduuri on kuvattu yksityiskohtaisesti viitteessä.
Kun nimi ja IP-osoite on saatu selville, avataan TCP yhteys porttiin 139. Kohteen nimi täytyy olla oikein tai yhteys katkeaa. Tässä vaiheessa annetaan myös parametrina resurssin nimi, johon ollaan pyrkimässä.
Kun TCP yhteys on avattu onnistuneesti, muodostetaan SMB yhteys, jossa aluksi välitetään tietoja kummankin pään SMB-protokollista, mitä ne pystyvät tukemaan, kuten käytetäänkö kryptattuja salasanoja. Unix-smbclientilla pystytään kohdetta huijaamaan uskottelemalla itsellä olevan niin vanhat systeemit, etteivät ne ymmärrä mistään uusista turvasysteemeistä ja salasanan kryptauksista, jolloin mm. voidaan salasanan arvaus toteuttaa ihan selkokielisinä sanoina. SMB sallii useat yritykset yhdellä istunnolla, mikä helpottaa hyökkäystä huomattavasti.
Share-level accessia käyttäviin koneisiin riitää pelkkä salasana, jolloin hyökkääjä pääsee paljon vähemmällä verrattuna User-level accessiin, jolloin myös käyttäjätunnus täytyy olla oikea.
SMB-protkokolla kulkee aivan selkokielisenä, joten se on yhtä altis TCP/IP väärentämisille ja kaapauksille ja erilaisille man-in-the-middle hyökkäyksille kuin mikä tahansa selkokielinen yhteys. Hyökkääjän on suhteellisen helppo rakentaa sopiva SMB-paketti, koska SMB header kentät ovat vain 16 bittisiä ja helposti ennustettavissa. Tällainen autentikoinnin yhteydessä tehty man-in-the-middle hyökkäys voi avata reiän hyökkääjälle tai muuten vaan tehdä jotain vahingollista.
SMB on myös altis desynkronointihyökkäyksille, missä hyökkääjä lähettämällä tietyn tyyppistä null dataa saaden TCP yhteyden synkronisoinnin kahden hostin välillä katoamaan ja näin hyökkääjä pääsee hallitsemaan yhteyttä.
Myös kahden yhtäaikaisen eri SMB-istunnon välillä voi tapahtua jokin sekaannus vaikka istuntojen pitäisi olla täysin erillään toisistaan.
Tunkeilija voi rauhassa yrittää vaikka kuinka kauan salasanan murtamista, koska Windows 95:ssa ei ole minkäänlaista kontrollia kuinka monta kertaa voi antaa väärän salasanan. Hän voi käyttää vaikka ohjelmaa, joka yrittää 10000 eri salasanaa minuutissa. Ohjelma voisi arvailla vaikka johdannaisia resurssien tai käyttäjien nimien perusteella tai tyypillisä salasanoja kuten WORKGROUP, WINDOWS, USER, ADMIN, jne. tai vaikka suoraan sanakirjasta. [2]
Tunkeilija saa tehdä työnsä kovin helposti paljastumatta, koska Windows 95 ei pidä minkäänlaista lokia murtoyrityksistä [2]. Tiedostojen jakamisessa käytettävä SMB protokolla käyttää portteja 137, 138, 139 ja on olemassa ohjelmia, jotka pitävät logia hyökkäysyrityksistä ja kuuntelevat kyseisiä portteja.
Porttien 137,138 ja 139 toiminta SMB-yhteyden aikana:
netbios-ns 137/tcp NETBIOS Name Service
netbios-ns 137/udp NETBIOS Name Service
netbios-dgm 138/tcp NETBIOS Datagram Service
netbios-dgm 138/udp NETBIOS Datagram Service
netbios-ssn 139/tcp NETBIOS Session Service
netbios-ssn 139/udp NETBIOS Session Service
Kun tunkeilija on päässyt jaettuun hakemistoon sisään voi hän kokeilla onko järjestelmässä ".."-bugi. Tämä bugi mahdollistaa tunkeilijan pääsyn koko kovalevyyn vaikka olisikin vain tietyt hakemistot jaettuna. Win 95 ei kunnolla tarkasta "..", "..." ja "..\" komentoja, jotka antaa pääsyn ylempiin hakemistoihin puussa. Tämän takia tunkeutuja saa hallintaan koko aseman. Tämä bugi on dokumentoitu Microsoft Knowlede Base artikkelissa numero Q140818 päiväyksellä 15.3.1996. Ratkaisu ongelmaan löytyy asentamalla Microsoft service pack, jossa on patch bugin korjaukseen. [4]
Kun käyttäjä saa popup viestin siinä ei ole mitään autentikointia, joten tunkeilija voisi esittää olevansa administrator ja kertoo tarvitsevansa käyttäjän tiedostot jaettavaksi. Jossain systeemeissä tällainen saattaa mennä läpikin.
Windows 95:ssa on password cache, joka tallettaa tiedostoon kryptattuna käyttäjän salasanat verkon palveluihin (jaettuihin hakemistoihin, printtereihin). Eli käyttäjän ei tarvitse kuin kerran kirjoittaa salasana, kun hän loggaa sisään jaettuun resurssiin. Kryptaus on kuitenkin niin heikko, että se on helposti murrettavissa ja silloin kaikki tiedoston salasanat ovat murtautujan käytössä [5]. Microsoft on julkaissut päivityksen, jossa salasana-avain on muutettu 32 bitistä 128 bittiin. Päivitys löytyy microsoftin sivuilta. Jos ei käytä password caching optiota (ei rastia Reconnect at logon kohdassa) ei salasanoja kirjoiteta .PSL tiedostoon, mutta salasanoja voi lukea myös WIN386.SWP tiedostosta [6].
Jos käyttää tiedostojen jakamista NetWare Networkille, remote administration optio on päällä ja administrator on logannut sisään ja ulos, voi tunkeilija saada lukuoikeudet koneeseen [7].
Jos on käytössä Samban SMBCLIENT ohjelma, voi joku verkosta lähettää laittomia käskyjä, koska kyseinen ohjelma Windows 95 kanssa ei suodata niitä pois kuten pitäisi [8]. Näin tunkeutuja pääsee käsiksi jaettuihin hakemistoihin. Päivitetyt ajurit on olemassa Microsoftin sivuilla, jotka korjaavat ongelman.
5. Kuinka riskialtista [9]
NetBIOS jakaminen sallii täydet oikeudet jaettuun resurssiin. Jakamista tehtäessä tämä on oletusarvo, joten ei ole epätavallista löytää tällaisia jakamisia. Tunkeilijalla on pääsy kaikkiin resurssin tiedostoihin, mutta myös muuhun kovalevyyn pääsy on bugien kautta mahdollinen. Tunkeilija voi myös aiheuttaa koneen kaatumisen. Riski erittäin suuri.
Normaali oikea NetBIOS jakaminen, jossa pääsy jaettuun resurssiin salasanan kautta. Tunkeilijan ensin päästä salasanasta ohi päästäkseen tiedostoihin. Riski on kuitenkin olemassa.
Tämä ilmenee NetBIOS jakamisena, jossa salasanaa ei vaadita saavuttamaan kirjoitusoikeudet. Tilanne mahdollinen edellä kuvatun Samba bugin yhteydessä. Tunkeilija voi saada pääsyn koko kovalevyyn. Erittäin suuri riski.
1: CIFS: Common Insecurities Fail Scrutiny, *Hobbit*, Avian Research - January 1997 http://avian.org/avian/papers/cifs.txt *****
2: File Sharing: Unknown Dangers on your network, Christopher Klaus - 8.8.1995 <http://www.iss.net/vd/fileshare.html> ****
3: Just what is SMB?, Richard Sharpe - 15.9.1996 <http://samba.anu.edu.au/cifs/docs/what-is-smb.html> ***
4: Microsoft Knowledge base article number Q140818 - 15.3.1996 <http://support.microsoft.com/support/kb/articles/Q140/8/18.asp> **
5: Win95 Vulnerabilities - 18.12.1995 <http://www.sumitomo.com/docs/security/es.net/ciac/ciac_bulletins/g-fy96/g-06.Wi n95.Vulnerability.asc> ****
6: The Unofficial Netware Hack FAQ - 3.5.1997 <http://www.fastlane.net/homepages/thegnome/faqs/netware/nw_sec08.html#08-3>***
7: MicroSoft Windows 95 Security issue, Christine Cahoon - 30.10.1995 <http://projects.qub.ac.uk/archives/pc-support/pc-support-12-1995/0002.html> ***
8: Win95 learns to Samba, Jack Rickard - 29.3.1996 <http://www.boardwatch.com/mag/96/FEB/bwm13.htm> ***
9: Internet Scanner&trade for Windows NT Reported Vulnerabilities - 19.3.1997 <http://www.iss.net/vd/nt_vulnerabilities.html> ***
LISÄTIETOJA AIHEESTA
PC WORLD Is It a Hack or a Windows 95 Bug? <http://www.pcworld.com/news/daily/data/0997/970918165912.html> **
Win95 Networking FAQ E, How to kill Windows' dubious "password caching feature"? <URL:http://www-leland.stanford.edu/~llurch/win95netbugs/faq-e.html#e27> ***
The Unofficial Netware Hack FAQ <http://www.fastlane.net/homepages/thegnome/faqs/netware/nw_sec08.html#08-2>***
Can Win95 log on to password-protected NetWare accounts without user intervention or knowledge? <http://willow.canberra.edu.au/win95netbugs/faq-b.html#b26> ****
Updated Drivers for Windows 95 File and Printer Sharing Security Issue <http://www.microsoft.com/syspro/technet/ps/win95/tools/f_pserv.htm>***
COAST HOTLIST, Tietoturva-asioihin liittyviä linkkejä <http://www.cs.purdue.edu/homes/spaf/hotlists/csec.htm>****
Windows 95 Is A Hacker's Dream Over The Internet <http://freespace.virgin.net/andrew.eardley/win95.html>***
Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods <ftp://ftp.funet.fi/pub/standards/RFC/rfc1001.txt>**
Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications <ftp://ftp.funet.fi/pub/standards/RFC/rfc1002.txt>**