Toni Pesonen

Hakkerisivustoon tutustuminen ja esimerkkitehtävien läpikäyminen

Johdanto

Viime viikkoina on tullut esiin hyvin monia tietomurtoja, kaikissa näissä yhteistä on hakkerointi, hakkeroitiin sitä ja tätä. Sellaisista otsikoista huomaa miten helposti sana hakkeri sekoittuu krakkeriin joiksi kutsutaan tietojärjestelmiin murtautujia. Hakkeriksi voidaan kutsua henkilöä, joka tuntee tietokonejärjestelmän toiminnan syvällisesti sekä hallitsee käyttämänsä laitteet ja työkalut hyvin. Oikeanlainen hakkerointi tuottaa hyvää, esimerkiksi löydetty aukko järjestelmästä voidaan korjata nopeasti. Hackthissite.org taas on sivusto jossa hakkeroinnista kiinnostuneet ihmiset voivat keskustella ja rakentaa pulmia toisille yhteisön jäsenille ratkottavaksi. Sivustolla on myös aktiivinen keskustelupalsta jossa käydään keskusteluja monista asioista liittyen tietoturvaan sekä yleisesti tietotekniikkaan. Tässä työssä tutustutaan seuraavaksi lähemmin sivuston ominaisuuksiin ja esitelläään millä tiedoilla saadaan tehtyä muutama basic-tehtävä sekä muutama steganografia-tehtävä. [1]

Hackthissite.org

Hackthissite.orgissa on siis vinopino erilaisia tehtäviä, jotka ovat vielä suunnattu eritasoisille käyttäjille. Tehtävätyypeistä esimerkkinä Basic missions, jotka lähtevät yksinkertaisista aloittelija-tason tehtävistä vaikeampiin ja pähkäilyä vaativiin tehtäviin. Basic-tehtäviä tulen käymään läpi seuraavassa luvussa muutaman. Muut tehtävälajit ovat:
Realistic mssions, jotka ovat nimensä mukaisesti realistisen tuntuisia tehtäviä. Näissä saat eteesi tehtäviä jotka täytyy suorittaa "oikeilla" sivuilla. Nämä sivut ovat hiekkalaatikoita jotka näyttävät aidoilta sivuilta, mutta niissä on jokin sisäänrakennettu heikkous jota hyödyntämällä tehtävän pääsee läpi.
Application missionit ovat ohjelmiin liittyviä tehtäviä. Näissä tehtävissä tarkoitus on manipuloida ohjelmia tekemään haluttuja toimintoja, ja tätä kautta löytää piilotetut salasanat.
Programming missions, nämä ovat ohjelmointia vaativia tehtäviä, esimerkiksi kirjainten uudelleenjärjestelyä ja kuvan analysointia kuin myös XML-tiedoston manipulointia. Useissa ohjelmointitehtävissä on aikarajoitus, jonka jälkeen tehtävä on aloittettava alusta eri arvoilla.
Phonephreaking missions, nämä ovat vasta tulossa ja kehitteillä olevia. Extbasic missions, ovat basic-tehtäviä lisämausteilla höystettynä.
Javascript missions ovat tietysti Javascriptiin liittyviä tehtäviä. Lähtien helposta javascriptin päältä pois ottamisesta paljon vaikeampaan.
Stego missionit ovat Steganografia tehtäviä, eli tiedon piilottamista. Tässä työssä käyn läpi myös muutaman steganografia-tehtävän.
IRC missionit, nämä tehtävät tehdään hackthissiten IRC-kanavalla, jossa täytyy mm. käskyttää kanavalla olevaa bottia. [2]

Sivustolla voi siis toisin sanoen oppia taitoja ja tietoja joita voisi hyödyntää myös pahoissa aikeissa. Toisaalta ihmisillä tulisi olla vapaa pääsy tälläiseenkin tietoon. Hakkerointitaitoa voidaankin pitää vain työkaluna, ja näin verrata sitä esimerkiksi veitseen, sillä voi leikata leipää tai puukottaa ihmistä. Kaikki riippuu siis lopulta vain ihmisestä itsestään, ja siitä miten hän elämässä oppimiaan tietoja ja taitoja soveltaa ja käyttää. Tämän sivuston tarkoitus ei ole yllyttää ketään tekemään mitään laitonta, jota voisi kutsua mindless black hat hacking:ksi, kuten sivustollakin mainitaan. [2]

Basic-tehtäviä

Käydään ensin läpi ensimmäinen basic-tehtävistä. Tehtävän suorittamiseen vaaditaan pelkästään tietoa miten sivun lähdekoodin saa näkyviin. Kun tämä onnistuu löytyy salasanakin helposti. Toinen basic-tehtävä vielä helpompi, kuvauksessa lukee: "Network Security Sam set up a password protection script. He made it load the real password from an unencrypted text file and compare it to the password the user enters. However, he neglected to upload the password file..." Näin ollen kuvaustekstistä selviää helposti miten pääsee eteenpäin. Kolmannen tehtävän kuvaus menee näin: "This time Network Security Sam remembered to upload the password file, but there were deeper problems than that." Jälleen kerran turvaudutaan lähdekoodiin tarkasteluun josta selviää salasanan sisältävän sivun osoite, ja näin on myös löydetty haluttu salasana.

Muutamassa seuraavassa tehtävässä vaaditaan tietoutta miten voit esimerkiksi syöttää omaa tietoa sivulle. Lisäksi seitsämännessä tehtävässä tarvitaan tietoa unix-komennoista ja kahdeksannessa vaaditaan perustason PHP-tietämystä, jotta haluttu salasana löydettäisiin. Lopuissa basic-tehtävissä tarvittavia tietoja ovat mm, SSI, Javascript, Apache ja Unix-komennot.

Steganografia-tehtäviä

Seuraavaksi muutama steganografinen tehtävä. Yksi mielenkiintoisimmista on stego2-tehtävä, jossa alkutilanteena on epämääräinen wav-äänitiedosto. Paljaalla korvalla kyseisestä äänitiedostosta ei saa irti muutakuin hieman vaihtelevalla taajuudella kuuluvaa vinkunaa. Otetaan siis käyttöön wavepad-ohjelma, jonne kyseinen äänitiedosto avataan. Kyseisellä ohjelmalla saadaaan wav-tiedostosta irti paljon enemmän kuin pelkällä korvalla kuulee. [3]
Wavepad-ohjelmassa pystyy ääniraidalle tekemään monenlaisia operaatioita kuten esimerkiksi Frequency analysis, jonka ajamisen jälkeen nähdään jotakin muutakin kuin pelkkää epämääräistä signaalia. (Time–frequency representation) Time-frequency-esityksellä tarkoitetaan signaalin, jota voidaan pitää ajanfunktiona, esitystä sekä ajan että taajuuden suhteen. [4]

Stego3 tehtävässä annetaan alustukseksi harmaa laatikko ja teksti: "Look carefully: it's obvious, just not at first sight." Tästäkään ei nähdä mitään järkevää ensisilmäyksellä. Hexeditorilla samaa kuvaa katsoessa kuitenkin huomataan että kuvassa on jotain muutakin kuin harmaata. Hexeditorilla voidaan katsella bittiesityksellä esimerkiksi kuvaa kuten tässä tapauksessa. Koska hexeditorilla nähtiin kuvassa olevan jotain häikkää voidaan lähteä kokeilemaan paria temppua, vaikka kaikille tutulla MS Paintilla. Tiettyjä toimintoja käyttämällä saadaan tulokseksi näkyvä salasana. Hexeditorilla tarkoitetaan ohjelmaa, jolla voidaan nähdään kuvan raakadata heksadesimaalijärjestelmän mukaisesti esitettynä. [5]

Stego4 tehtävässä päästään käyttämään hexeditoria lisää, tehtävän alustuksena toimii .gif -kuvatiedosto, joka on tälläkertaa kuitenkin muuta kuin harmaata. Paras vihje tämän tehtävän ratkaisun löytymiseen saadaan kuvaan liittyvästä tekstistä: "I am being hexed!". Avataan siis kuva hexeditorilla, jolloin huomataan että kuvaan on selvästi kätketty jotain. Tämä havaittu poikkeama on binäärijono, joka voidaan kääntää ASCII-merkistöön ja näin saadaan kätketty salasana näkyviin. Lopuissa steganografia tehtävissä vaaditaan muun muassa photoshopin käyttöä ja loogista päättelykykyä, sekä myös lisää hexeditorin hyödyntämistä. Näiden lisäksi myöhemmissä tehtävissä vaaditaan hieman ohjelmointia jotta kuvasta saa kaivettua tarvittavia tietoja irti.

Päätelmät / yhteenveto

Työssä tutustuttiin hackthissite.org sivustoon ja siellä oleviin tehtävätyyppeihin. Käytiin tarkemmin läpi muutama tehtävä sekä tietoja joita tarvitaan yleisesti ratkomaan kyseisen tehtävätyypin muutkin pulmat. Työssä huomattiin miten monipuolisia ja varsinkin alun helppojen jälkeen haastavia tehtävät sivustolla ovat. Tehtävien ratkomiseen tarvittavia taitoja ja ohjelmia on monia ja niitä yhdistelemällä saadaan paras lopputulos.

Työtä voisi jatkaa helposti tekemällä lisää esittelyjä eri tehtävätyypeistä sekä tarkemmalla analyysillä tarvittavista tiedoista ja taidoista. Sekä sillä miten tätä kaikkea voi hyödyntää oikeassa elämässä, ei tietenkään mihinkään laittomaan. Lisäksi koska hackthissite.org sisältää myös suuren määrän artikkeleita ja keskusteluja liittyen tietoturvaan, voisi näitä käydä läpi laajemmassa työssä.

Lähteet

[1] Wikipedia-artikkeli. Saatavissa: http://fi.wikipedia.org/wiki/Hakkeri. Hakupäivä 25.11.2011. [1].
[2] Hack this site-sivusto. Saatavissa: http://www.hackthissite.org. Hakupäivä 02.11.2011. [2].
[3] Wavepad-sivusto. Saatavissa: http://www.nch.com.au/wavepad/index.html. Hakupäivä 30.11.2011. [3].
[4] Wikipedia-artikkeli. Saatavissa: http://en.wikipedia.org/wiki/Time-frequency_representation. Hakupäivä 02.11.2011. [4].
[5] Wikipedia-artikkeli. Saatavissa: http://en.wikipedia.org/wiki/Hex_editor. Hakupäivä 30.11.2011. [5].

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmis
Tyyppi Ydin
Luokitus Verkko
Mitä Useita
Miltä Useita
Missä Useita
Kuka Titu-ammattilainen
Milloin Rakennettaessa
Miksi Hyvä tapa
Print version |  PDF  | History: r2 < r1 | 
Topic revision: r2 - 01 Dec 2011 - 18:00:24 - ToniPesonen?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback