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

Andmeturve 2024/25 kevad

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

Praktikum 8 - Võrguliikluse pealtkuulamine

Käesolevas praktikumis uurime, kuidas on võimalik lokaalses võrgus liiklust pealt kuulata ning mängime läbi kaks reaalset rünnet SSH man-in-the-middle ja turvamata võrguliikluse pealtkuulamine ARP spoofingu abil ning vaatame HTTPS vahendusrünnet.

Ettevalmistuseks

Käesolevas praktikumis kasutame juba varasemalt tuttavat Linux Mint virtuaalmasinat. Selleks, et saaksite teiste samas kohalikus võrgus asuvate masinatega koostööd teha, ühendage Mint virtuaalmasin otse lokaalsesse võrku muutes virtuaalse võrgu adapteri tüübiks Bridged Adapter.

  • Käivita Virtualbox.
  • Virtuaalmasina seadete all muuda võrguadapteri tüübiks Bridged Adapter ja võrgukaardiks valida Intel Ethernet Connection ... või näiteks TP-LINK Gigabit Ethernet USB Adapter vastavalt sellele, millise nimega adapteriga (kaabliga või Wi-Fi-ga) on teie host arvuti ühendatud Internetti.
    • Kui te ei tea millise ethernet adapteriga teie host arvuti parasjagu Internetiga ühendatud on, siis saate Windows masinal kontrollida seda Windowsi klahv + I (Windowsi sätted) -> Network & Internet -> Ethernet. Üldjuhul on adapteri nimetus võrguseadete Description/kirjelduse väärtuse juures leitav.
    • Näited töötavad stabiilsemalt ja väiksemate vigadega kui kasutate praktikumi sooritamiseks kaabliühendust. Kui kaabliühendus siiski eriolukorras saadaval pole, peaksid näited enamasti töötama ka üle Wi-Fi ühenduse.


  1. Käivita Linux Mint virtuaalmasin ja logige sisse. Kui käivitamine võtab kauem kui tavaliselt siis on teil võrguadapter valesti seadistatud.
    • Käivitamise ajal SHIFT+F1 või CTRL+ALT+F1 avab tekstilise vaate ja F7, F8 või CTRL+ALT+F7 viib tagasi graafilisse vaatesse.
    • Tuletame meelde, et bridge mode on lubatud ainult koduste Wi-Fi võrkude puhul (ei tööta eduroam ega enamik teiste enterprise turvalisusega traadita võrguühenduste puhul). Alternatiivina saate praktikumi sooritada telefoni hotspot kasutades. Arvutiklassis on kasutada Andmeturve-2GHz ja Andmeturve-5GHz Wi-Fi, mille parooliks on aine kood.
  2. Kontrollige, et teie Linux Mint virtuaalmasinale anti marsruuteri poolt IP-aadress.
    • Käsk ip a
  3. Lisaks avage Linux Mint virtuaalmasinas käesolev praktikumijuhend
    • Applications -> Firefox -> courses.cs.ut.ee -> Andmeturve -> Praktikumid -> Praktikum 8.
  4. Kui vahetate virtuaalmasina võrgu ühendumise tüüpi või host arvutis Wi-Fi võrku, võib olla vaja sundida virtuaalmasinat uuendama oma võrguseadistust. Vajadusel saate sundida Linux operatsioonisüsteemi draiverit võrgukaardi seadistust uuendama käskudega:
$ sudo ifconfig enp0s3 down
$ sudo ifconfig enp0s3 up
või
$ sudo systemctl restart NetworkManager

ÕIS-i parooli vahetamine

Tänases praktikumis katsetame SSH vahendusrünnet, mis võimaldab teada saada teie TÜ kasutajatunnuse ja parooli. Käesolevas praktikumis ründame iseennast, kuid kui midagi läheb valesti, siis on võimalik, et teie ÕIS'i parool võib lekkida (keegi teine seda näha). Seega on soovitatav enne järgmiste tegevuste juurde asumist oma ÕIS'i parool ära vahetada ajutise parooli vastu või kui niikuinii oli plaanis turvakaalutlustel parooli vahetada, siis on tekkinud sobilik hetk selleks. Pärast praktikumi saate vajadusel oma parooli tagasi muuta.

  • Parooli saate vahetada lehel https://parool.ut.ee/ või https://passwd.ut.ee/.
  • NB! Kui te kasutate siiani veel ülikooli antud parooli, mis on teile arvutiabi@ut.ee poolt esmase konto loomisel pandud, siis oleks tark see nagunii ära vahetada. Kuna parool on saadetud meilile tekstilisel kujul, siis on see automaatselt kompromiteeritud kui keegi kõrvaline isik saab teie meilidele ligipääsu.
    • Tegemist on hea tavaga, et paroole ei tohiks krüpteerimata kujul kuhugi internetist ligipääsetavasse kohta salvestatud olla.
    • Antud olukorras on iga tudeng kursis, et see parool sellisel kujul just sellest meilist leitav on ning piisab ainult paarikümnest sekundist, mil te jätate kogemata arvuti lukustamata avatud meilirakendusega (ka automaatse sisselogimisega) ning kasvõi teie kõrval istuv kaastudeng võib selle parooli sealt üles otsida ning läbi selle pääseda teie ÕIS2 ja teistele ülikooli teenustele ligi.
    • Soovitame alati nn plain-text kujul paroole sisaldavad meilid võimaluse korral ära kustutada ning paroolid esimesel võimalusel vahetada.

Rohkem infot: https://wiki.ut.ee/display/AA/Parooli+vahetamine.

Pakettide pealtkuulamine Wireshark abil

NB! Järgnev tegevus toimub Linux Mint virtuaalmasinas.

Wireshark abil saab näha kõiki pakette, mis võrguliidesest läbi käivad. Selleks, et Wireshark saaks võrguliidest pealt kuulata, tuleb ta käivitada root õigustes. Selleks andke käsud:

$ sudo apt update
$ sudo apt install wireshark
$ sudo wireshark
  1. Vajutage Wiresharki tööriistaribal nupule Capture
  2. Options... (hammasratta märk)
  3. Alustage pakettide püüdmist sellel võrguliidesel, mille IP aadressi te eelnevalt juba välja selgitasite (tõenäoliselt enp0s3 või eth0), käsuga Start.

Wiresharkis otsitava informatsiooni välja filtreerimiseks võib filtriribale sisestada erinevaid otsisõnu. Kasutage ENTER filtri kinnitamiseks ja x tühistamiseks:

  • ip.addr == 192.168.1.153 - Näitab ainult pakette, mille lähte- või siht-IP-aadress on 192.168.1.153.
  • tcp.port == 22 - Näitab ainult pakette, mille TCP lähte või siht-pordiks on 22.
  • http.request.method == "POST" - Näitab ainult HTTP POST-meetodiga tehtud päringute pakette. Nende päringutega saadetakse tavaliselt kasutaja sisestatud infot (näiteks sisselogimised, input box jne...)

Erinevaid filtreid saab kombineerida loogiliste tehetega:

  • && - ja
  • || - või
  • != - eitus

Proovime nüüd oma Linux Mint virtuaalmasinas liikuvaid pakette Wireshark abil üles leida. Mitmed kaasaegsed veebilehitsejad suunavad aastal 2025 kliendi automaatselt HTTPS lehele HTTP asemel. Seega järgmisi tegevusi sooritades peate ajutiselt selle veebilehitseja käitumise või muu tarkvara mis sarnast funktsionaalsut omab välja lülitama.

  1. Avage veebilehitseja ja külastage lehte http://andmeturve-lab.appspot.com.
    1. Sisestage seal olevatele sisendväljadele oma eesnimi, perenimi ja sõnum ning vajutage submit.
  2. Minge tagasi Wiresharki ja pange filtriks http.request.method == "POST" ning ENTER selle rakendamiseks.
    1. Uurige leitud paketti lähemalt ja leidke sealt üles oma eesnimi ja sõnum.
    2. Kas perenimi ehk Parool on nähtav? Miks?
  3. Sulgege Wireshark ja veebilehitseja.

Eelmise ülesande analüüsil tasub uurida HTTP1 ja HTTPS2 erinevusi. Vajadusel lugege põgusalt mõlema protokolli kohta ning seejärel võite järgnevalt lingilt lugeda kahe erinevustest lähemalt: https://www.geeksforgeeks.org/difference-between-http-and-https-2/.


1 HTTP. https://en.wikipedia.org/wiki/HTTP
2 HTTPS. https://en.wikipedia.org/wiki/HTTPS

Telnet liikluse pealtkuulamine

Järgmiseks soovime pealt kuulata telnet ühendust. Selleks on meil vaja mingit telnet-serverit kuhu ühenduda. Lihtsuse huvides kasutame hetkel teie enda Linux Mint virtuaalmasinat. Installeerige sinna telnet server:

$ sudo apt install xinetd telnetd tcpd

Seejärel muutke telnet konfiguratsioonifaili käsuga sudo nano /etc/xinetd.d/telnet. Tulemus võiks välja näha selline:

service telnet
{
    socket_type = stream
    wait        = no
    user        = root
    server      = /usr/sbin/telnetd
    log_on_failure  += USERID
    disable     = no
}

Viimaks:

$ sudo /etc/init.d/xinetd restart 

Sulgege Wireshark -> Quit without Saving. Käivitage Wireshark uuesti, kuid nüüd valige kuulatavaks liideseks Any.

$ sudo wireshark

Võtke teine terminal, tehke telnet enda Mint virtuaalmasinasse AAA.BBB.CCC.DDD (leidke enda Mint virtuaalmasina IPv4) ning logige sisse 7. praktikumis loodud kasutajaga tudeng ja parooliga 1234567890:

$ telnet <AAA.BBB.CCC.DDD>

Küsitakse kasutajat tudeng ja parooli 1234567890. Järgnevalt mõned käsud, et väljundi hiljem ära tunneksite:

  1. hostname
  2. ip a
  3. ls
  4. Viimase sammuna logige välja (exit).

Uurige nüüd, kas teil õnnestub Wireshark abil üles leida telneti paketid ning telneti teel kasutatud käskude sisu lugeda (Filtreerimise vihjeks: tcp.port == 23). Telnet protokolliga paketi peal tehke parem hiireklahv ja Follow -> TCP Stream -> saate näha loetaval kujul telnet kanalis saadetud ja vastu võetud liiklust. Kuna telnet on krüpteerimata liiklus, siis kõik, kellel on edastuskanalile ligipääs, saavad pealt kuulata sarnaselt HTTP ühendusele. Seetõttu ka telneti tänapäeval üldjuhul ei kasutata ning on välja vahetatud varasemalt tuttava SSH-ga.

SSH liikluse pealtkuulamine

Edasi testime krüpteeritud liiklust SSH ühendusega. Logige SSH abil oma Mint masinasse:

$ ssh tudeng@<AAA.BBB.CCC.DDD>

Kasutajana: tudeng Parool: 1234567890: Andke seal samuti mõned käsud ja logige välja.

Uurige sarnaselt telnet-i pealtkuulamise ülesandega nüüd, kas teil õnnestub Wireshark abil lugeda krüpteeritud SSH pakette.

Filtreerimise vihjeks: SSH kasutab porti 22.

Kuna SSH paketid on krüpteeritud, siis paketi sisu peaks olema loetamatul kujul. Lõpetage aktiivne pakettide püüdmine vajutades punast värvi nupule, mille nimeks on "Stop capturing packets".

ARP spoofing ja turvamata veebilehed

Järgmisena vaatame, kuidas on võimalik ARP-i võltsimise abil internetiühendust pealt kuulata ilma ohvri arvutile ligipääsu omamata.

ARP on protokoll, mis seob IPv4 võrguaadressi füüsilise seadme aadressiga. Enamasti tõlgib ARP-tabel IP-aadressi sobiva võrgukaardi MAC-aadressiks. ARP töötab alati ühes kinnises võrgus ehk kohtvõrgus. ARP poolt saadetud paketid on autentimata ja seega saab ründaja välja saata ARP-pakette kellegi teise nimel. Järgmisena proovimegi tekitada niisugust rünnet.

Kujutis 1 ARP Sevurity. https://www.networkacademy.io/ccna/ethernet/arp-security.

Järgnevalt läheb teil vaja kaht erinevat füüsilist masinat. Kui teil kahte eri seadet pole võib ohvriks kasutada ka enda host operatsioonisüsteemi, aga siis ei ole rünnak nii efektne. Praktikumiruumis on soovitatav kasutada lauaarvutit täiendava eraldiseisva seadmena või enda nutiseadet, mis on ühendatud Andmeturve-5GHz Wi-Fi-sse. Rünnak töötab stabiilsemana, kui üks osapool on kaabliga ühendatud (näiteks ründaja) ning ohver Wi-Fi kasutaja. Kui mõlemad osapooled on Wi-Fi-ga ühendatud, võib juhtuda, et ohvril kaob üldse interneti ühendus ära ja tekib nö Denial-Of-Service rünnak. Kodus tegijatel on sellisel juhul soovitatav ohvriks valida enda host arvuti ja selle IP aadress.

  • Ohver - teie host arvuti või muu enda seade, mis on ühendatud läbi WI-FI või võrgukaabli võrku.
  • Ründaja - teie Linux Mint virtuaalmasin ühendatud samasse võrku läbi kaabli. Ohvril ja ründajal peavad loomulikult jälle olema erinevad IP-aadressid.

Ründaja

Lülitage sisse IP pakettide ruutimine ja välja rp_filter ning ICMP redirectide saatmine:

$ sudo su -
# apt update
# apt install dsniff 
# apt install tcpdump
# echo "1" > /proc/sys/net/ipv4/ip_forward
# echo "0" > /proc/sys/net/ipv4/conf/enp0s3/rp_filter
# echo "0" > /proc/sys/net/ipv4/conf/enp0s3/send_redirects

Järgnevalt tutvustame arpspoofi3 käivitamise käsku:

  • 192.168.XX.YYY juures XX ja YYY tuleb asendada teie marsruuteri IP-aadressiga.
    • Enamasti marsruuteri IP-aadressi saate teada kui sisestate Linux Mint virtuaalmasinas käsu ip r ja vaatate esimest rida default.
    • Windows masinas leiab sama info üles käsurealt cmd käsuga ipconfig ning kasutatava adapteri juures tuleks üles leida rida Default Gateway.
  • 192.168.XX.ZZZ juures XX ja ZZZ tuleb asendada tegeliku ohvri ip-aadressi elementidega.
    • Host arvuti ip aadressi leidmiseks on lihtsaim viis kasutada käsku ipconfig (Windows host) või ip a Linux host.
  • Marsruuteri aadressi leidmiseks võib kasutada oma võrgutehnoloogilisi teadmisi ja seadme IP-aadressist marsruuteri oma tuletada või siis kasutada saiti: http://whatsmyrouterip.com/.
    • Näiteks kui teie hostaarvuti aadress on 192.168.1.217/24 (XX = 1 ja ZZZ = 217), siis marsruuteri aadress on sealjuures 192.168.1.1/24 (YYY = 1). Kogu käsk oleks siis arpspoof -i enp0s3 -r -t 192.168.1.1 192.168.1.217.
  • &red&NB! Kui teie IPv4 aadressi esimene oktett on 172, siis ka see sobib, kuid üldjuhul on seega tegemist korporatiivse IPv4 aadressiga ning võib esineda nüansse, mida me siin ei käsitle.
# arpspoof -i enp0s3 -r -t 192.168.XX.YYY 192.168.XX.ZZZ

Selle käsu tulemusena võltsitakse ohvri (192.168.XX.ZZZ) MAC aadressi marsruuteri (-t 192.168.XX.YYY) ARP tabelis. Nüüd suunatakse kogu liiklus, mis välisvõrgust saadetakse, ohvri arvutisse läbi ründaja arvuti ning on seega ründaja poolt pealtkuulatav. Kasutatud parameeter -r ütleb programmile, et tuleks kasutada reverse spoof-i ehk kõik, mis on suunatud 192.168.XX.ZZZ masinast interneti gateway-le 192.168.XX.YYY saadetakse ka spoofijale.


3 arpspoof. http://manpages.ubuntu.com/manpages/utopic/man8/arpspoof.8.html

Proovime ohvri liiklust pealt kuulata, käivitades uues terminalis allpool oleva tcpdump käsu.

# tcpdump -e -A host 192.168.XX.ZZZ

Kasutame Wireshark liidest enp0s3, et jälgida ohvri liiklust.

  1. Capture
  2. Options ..
  3. (enp0s3) Start

Ohver

Käivitame veebilehitseja ja külastame mõnda lehekülge üle HTTP (mitte HTTPS).

  • Näiteks http://andmeturve-lab.appspot.com/ või http://www.bioneer.ee/.
  • &red&NB! Firefoxis lehe täielikuks värskendamiseks kasutage klahvikombinatsiooni <CTRL>+F5, ainult F5 kontrollib, et leht pole muutunud ja laeb selle võimalusel ainult puhvrist.

Kui ohvril üldse veebilehte ei avata siis kahjuks teie võrguseadistus ei kannata ARP spoofi ja peaksite ründajana kasutama kaabliga võrguühendust või ohvrina kasutama Linux Mint host arvutit või teist virtuaalmasinat (bridge mode).

&red&NB! Ohvrina nutitelefoni kasutajatel on aastal 2025 soovitatav kasutada Firefox veebilehitsejat Chrome asemel, sest vähemalt praktikumijuhendajad ei osanud nutiseadme Chrome veebilehitsejas välja lülitada HTTP asemele HTTPS lehele automaatset ümbersuunamist.

Ründaja

Kontrollige Wireshark pealtkuulatud võrgupakette:

  • ip.addr == 192.168.XX.ZZZ && http
  • Et meil nüüd Wireshark kokku ei jookseks (infot tuleb kogu aeg juurde), vajutage wireshark aknas ristkülikukujulist nuppu Stop capturing packets ja asume kogutud informatsiooni analüüsimisosa juurde

DEBUG:

  • Kui http://andmeturve-lab.appspot.com/ andmeid ei kuvata wireshark väljundis siis kasutab ohvri seade IPv6-aadresse võrku ühendamiseks.
    • Võime need ajutiselt ohvril välja lülitada eemaldades linnukese Windowsis vastavate võrguseadete eest.
    • Eelneva vaate saate sisestades Windows 11 programmide otsingusse Kuva võrguühendused / View Network Settings
    • Nüüd võite uuesti proovida http://andmeturve-lab.appspot.com/ lehte külastada.
  • Juhul kui wireshark ei kuva POST päringut, siis katkestage eelmine arpspoof (CTRL + C) ja proovige uuesti arpspoofi (samuti peate Wireshark lindistamist ja ohvri tegevust kordama).

Proovige nüüd pealt kuulata ka HTTPS ühendust https://andmeturve-lab.appspot.com. Kuidas see liiklus Wiresharkis välja näeb? Vihjeks on TLS.

  • 8-1: Tehke ekraanipilt olukorrast, kus on näha Wireshark aknas ohvri arvuti ja marsruuteri vahelist HTTP liiklust lehele http://andmeturve-lab.appspot.com/ nii, et salajane lahter "Perenimi" vastaks teie nimele (PS! Ärge kasutage täpitähti). &red&NB! Samal ekraanivaatel peab olema näha ka (terminalis) arpspoof käsu hetke väljund. Kui http://andmeturve-lab.appspot.com/ ei õnnestu pealt kuulata, võite kasutada ka http://www.bioneer.ee/ aadressi pealtkuulamiseks, seal võite näiteks otsinguaknasse panna oma nime.

Katkestage aktiivne arpspoof käsuga CTRL+C, pärast mida kulub ~10 sekundit kui peatatakse aktiivne arp spoof.

NB! Kui keelasite ohvril ajutiselt IPv6 siis kindlasti ärge unustage IPv6 linnukest ohvrile tagasi panemast. Vastasel korral võivad teil tekkida hiljem võrguprobleemid, mida te ei oska seostada praegu tehtuga.

SSH vahendusrünne

HOIATUS: Käesoleva harjutuse (ründe) eduka sooritamisega üle VPN ühenduse (vajalik adalberg.ut.ee ühendamiseks väljaspoolt TÜ võrku) võib esineda probleeme. Soovitatav on harjutuse ajaks kõik aktiivsed VPN ühendused sulgeda. SSH ühendust adalberg.ut.ee on võimalik initsialiseerida ka ilma VPN ühenduseta, aga server vastab et soovib sertifikaadiga autentimist. Samas meie ründeks vajalik parooli edastamine pahalasele on selleks ajaks juba toimunud ja praktikumi harjutuse edukaks sooritamiseks piisav.

Vahendusrünne (man-in-the-middle) on rünne, kus ründaja vahendab andmesidet ja seetõttu saab seda pealt kuulata või modifitseerida. Vahendusründe kohta saate täpsemalt lugeda vastavast Wikipedia artiklist ja SSH lehelt.

&red&NB! Jätkame eelnevas ülesandes täpsustatud Ründaja ja Ohver osapooltega.

  • Ohver - Enda host arvuti Windows'ga (sobib ka muu OS). Kellel on kasutada, siis ideaalis mõni muu füüsiliselt eraldiseisev arvuti (talle määratud IP-ga 192.168.XX.MMM).
  • Ründaja - Linux Mint virtuaalmasin.

Ründaja

Installeerime praktikumiks vajalikud tarkvarapaketid. Järgmised käsud peab käivitama root kasutaja õigustes (sudo su -):

$ sudo su -
# ping adalberg.ut.ee
# apt update
# apt install git
# git clone https://github.com/jtesta/ssh-mitm
# cd ssh-mitm

Lisage install.sh failis ./configure rea lõppu lisaparameeter --without-zlib-version-check, et eirata versioonide kattumatust. Tulemus võiks välja näha sarnane:

./configure --with-sandbox=no --with-privsep-user=ssh-mitm --with-privsep-path=/home/ssh-mitm/empty --with-pid-dir=/home/ssh-mitm --with-lastlog=/home/ssh-mitm --with-ssl-dir=../$openssl_source_dir --without-zlib-version-check

Seejärel käivitame:

# ./install.sh
-> Võidakse küsida korra "Y" vajutamist
# ./start.sh
# arpspoof -r -t 192.168.XX.YYY 192.168.XX.ZZZ

Ohver

Logime Windowsis Powershell kasutades või Linuxis käsurealt:

$ ssh <TÜ_kasutajatunnus>@adalberg.ut.ee

tõenäoliselt hoiatatakse, et hosti võti on muutunud, lugege veateadet ning sisestage vajadusel käsk ssh-keygen -f "/home/kasutaja/.ssh/known_hosts" -R adalberg.ut.ee , et veateatest vabaneda. Windowsi puhul minge teavituses märgitud teega known_hosts faili ning kustutage adalberg.ut.ee hostinimega võtmed ära:

  • known_hosts süntaks (iga parameeter on tühikuga eraldatud):

[optional marker] [hostname/ip-address] [keytype] [base64-encoded key] [optional comment]

Ründaja

Jälgime liiklust. Otsige üles vale ja õige parool, mille ohver sisestas. Selleks otsige seansside infot /home/ssh-mitm/log/ kaustast või failist /var/log/auth.log.

  • NB! kaust on /home/ssh-mitm/ mitte /root/ssh-mitm/ kus te vaikimisi olete.
  • 8-2: Tehke Ründaja masinas ekraanipilt olukorrast, kus teie isiklik TÜ kasutajatunnus ja parool on paljastunud ehk näiteks kasutajatunnus "alop" ja parool "1234567890". Parooli koha võite pildilt osaliselt ära katta.

Katkestage arpspoof aktiivsed ründed CTRL+C klahvikombinatsiooniga ja SSH-man-in-the-middle programm järgmiste käskudega:

# cd /root/ssh-mitm
# ./stop.sh

HTTPS vahendusrünne

Käesolevas praktikumis vaatlesime, kuidas pealt kuulata HTTP ja SSH ühendusi. Koduses ülesandes vaatleme lihtsustatud kujul kuidas toimub HTTPS pealtkuulamine. Käesolev näide on sarnane olukorrale, kus agressiivne-antiviiruse tarkvara (või pahalane või suurkorporatsioon) soovib analüüsida HTTPS päringute sisu. Enne käesoleva ülesande juurde asumist on soovitatav ära lahendada praktikum 7 ülesanded.

  1. Võite vastava ülesande lahendamiseks oma Linux Mint virtuaalmasina võrguühenduse tagasi muuta NAT ühenduse tüübiks.
  2. Minge lehele https://docs.mitmproxy.org/stable/ ja tutvuge järgmiste alampeatükkidega (lugege ja saage aru, käske sisestada pole veel vaja):
    1. Overview (Introduction, Installation, Feature)
    2. Tools (mitmproxy, mitmdup, mitmweb)
    3. Core concepts (How mitmproxy works, Modes of Operation, Certificates)
  3. Avage Linux Mint virtuaalmasinas veebleht https://mitmproxy.org/.
    1. Sealt valige Download Linux Binaries ja salvestage see enda virtuaalmasinasse.
    2. Pakkige vastav mitmproxy-11.1.3-linux-x86_64.tar.gz fail lahti Downloads kausta -> parem hiireklahv failil failihalduris ja Extract Here.
  4. Avage käsurida ja seal liikuge kausta kuhu te mitmproxy binaarid lahti pakkisite.
    1. Seal vaadake, et mitm failidel oleks käivitusõigused ls -la.
    2. Käivitage mitmweb käsuga ./mitmweb (Kui esimesel korral jääb Firefox laadima, siis aitab CTRL+C käsurelt ja mitmweb uuesti käivitamine enamasti.)
  5. Avage veebilehitseja (soovitavalt Firefox).
    1. Seadistage Firefox kasutama proxy ka turvatud SSL (tuntud ka kui HTTPS) ühendustele.
      1. Sisestage aadressiribale about:preferences -> kerige alla lõppu kuni Network Settings ja sealt nupp Settings.
      2. Valige Manual proxy configuration ja HTTP Proxy, HTTPS Proxy seadistada localhost port 8080.
  6. Nüüd avage veebilehitsejas aadress http://127.0.0.1:8081/.
    1. Peaks avanema mitmproxy webconsole.
    2. Jätke mitmweb vaheleht veebilehitsejas avatuks.
  7. Külastage uuel vahelehel Firefox veebilehitsejas lehekülgi https://courses.cs.ut.ee/ ja https://intra.cs.ut.ee/:
    1. https://courses.cs.ut.ee/ võiksite saada veateate HTTP Strict Transport Security (HSTS)
      • courses.cs.ut.ee is most likely a safe site, but a secure connection could not be established. This issue is caused by mitmproxy, which is either software on your computer or your network.
    2. Kuigi mõlemad leheküljed kasutavad HSTS parameetrit siis veebilehitseja on teadlik antud infost ainult pärast seda, kui kasutaja on vastavat lehte vähemalt korra HTTPS-iga külastanud (courses.cs.ut.ee peaksite olema varem enamasti külastanud).
  8. Külasta nüüd lehte mitm.it ja valige Linux ning laadige enda arvutisse mitmproxy-ca-cert.pem.
    1. Valige Show Instructions ja täitke käsud või importige CA sertifikaat käsitsi veebilehitsejasse nagu praktikumis 3 tegime.
    2. Kuna Ubuntu vaikimis veebilehtitseja on Firefox, siis täitke ära ka Firefox (does not use the OS root certificates) osa, mis asub samal leheküljel allpool.
      1. Kui saate importimisel errori, veenduge, et valisite Certificate Manager'is Authorities akna.
  9. Külastage nüüd uuesti veebilehte (võib olla vaja Firefox sulgeda ja uuesti avada, et uued sertifikaadid toimiksid).
    1. https://courses.cs.ut.ee/ (veateadet ei tohiks olla)
    2. https://intra.cs.ut.ee/ (veateadet ei tohiks olla)
  10. Minge lehele https://ois2.ut.ee (webproxy aktiivne) ja logige sisse TÜ kasutajatunnuse ja parooliga.
    1. Tutvuge ka lehekülje sertifikaadiga? Mida märkate?
      1. Vihje lehekülg kasutab nüüd originaalsertifikaadi asemel mitmproxy tarkvara poolt loodud ja signeeritud sertifikaati. Kuna sarnaselt 3. praktikumile me lisasime vastava CA sertifikaadi veebilehitsejasse siis me enam veateateid ei saa. Sarnast süsteemi kasutavad mitmed antiviirused või muud pahalased, kes soovivad heausksete kasutajate veebiliiklust pealt kuulata.
  11. Otsige üles mitmproxy webconsole vaheleht ja seal tutvuge Flow vaatega
    1. Proovige üles leida ÕISi sisselogimise kasutajatunnus ja parool (vihje: method=POST)
    2. Liikuge Start vaatesse ja esimesse otsinguaknasse sisestage sõne login
    3. Teile peaks kuvatama kõiki aadresse, mis sisaldavad sõne "login". Otsige nende seast nüüd ülesse kirje, mis sisaldab teie pealtkuulatud ÕISi kasutajatunnust ja parooli.
  • 8-3: Esitage mitmproxy programmist täissuuruses ekraanivaade, kus on näha teie ÕIS kasutajatunnus ja osaline lekkinud parool.

Praktikumi ülesanded

Praktikumi ülesannete lahendamine annab neli punkti ja esitamiseks on kaks nädalat alates praktikumi toimumisajast (Personaalne tähtaeg vahemikus 14.-17. aprill).

  • 8-1: Tehke ekraanipilt olukorrast, kus on näha Wireshark aknas ohvri arvuti ja marsruuteri vahelist HTTP liiklust lehele http://andmeturve-lab.appspot.com/ nii, et salajane lahter "Perenimi" vastaks teie nimele (PS! Ärge kasutage täpitähti). Samal ekraanivaatel peab olema näha ka (terminalis) arpspoof käsu hetkeväljund. Kui http://andmeturve-lab.appspot.com/ ei õnnestu pealt kuulata võite kasutada ka http://www.bioneer.ee/ aadressi pealtkuulamiseks, kuid seal ei saa te mugavalt enda nime kuhugi sisestada. - 2p
  • 8-2: Tehke Ründaja masinas ekraanipilt olukorrast, kus teie isiklik TÜ kasutajatunnus ja parool on paljastunud ehk näiteks kasutajatunnus "alop" ja parool "1234567890". Parooli koha võite pildilt osaliselt ära katta. - 1p
  • 8-3: Esitage mitmproxy programmist täissuuruses ekraanivaade, kus on näha teie ÕIS kasutajatunnus ja osaline lekkinud parool. - 1p

Esitada aine moodle keskkonda. Otselink: https://moodle.ut.ee/mod/assign/view.php?id=1271561


Lisamaterjalid

  • ARP ehk Address Resolution Protocol
    • ARP Wikipedia artikkel
    • ARP-spoofing
    • ARP Poisoning Attack and Mitigation Techniques
  • Man-in-the-middle-attack
    • Wikipedia man-in-the-middle ründe kohta käiv artikkel
    • OWASP man-in-the-middle ründe kirjeldus
  • DNS
    • DNS ehk Domain Name System
    • DNS spoofing
  • 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