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 validaIntel Ethernet Connection ...
või näiteksTP-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õrguseadeteDescription
/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.
- Kui te ei tea millise ethernet adapteriga teie host arvuti parasjagu Internetiga ühendatud on, siis saate Windows masinal kontrollida seda
- 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õiCTRL+ALT+F1
avab tekstilise vaate jaF7
,F8
võiCTRL+ALT+F7
viib tagasi graafilisse vaatesse. - Tuletame meelde, et
bridge mode
on lubatud ainult koduste Wi-Fi võrkude puhul (ei töötaeduroam
ega enamik teisteenterprise
turvalisusega traadita võrguühenduste puhul). Alternatiivina saate praktikumi sooritada telefonihotspot
kasutades. Arvutiklassis on kasutadaAndmeturve-2GHz
jaAndmeturve-5GHz
Wi-Fi, mille parooliks on aine kood.
- Käivitamise ajal
- Kontrollige, et teie Linux Mint virtuaalmasinale anti marsruuteri poolt IP-aadress.
- Käsk
ip a
- Käsk
- Lisaks avage Linux Mint virtuaalmasinas käesolev praktikumijuhend
Applications
->Firefox
->courses.cs.ut.ee
->Andmeturve
->Praktikumid
->Praktikum 8
.
- 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
$ 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
- Vajutage
Wiresharki tööriistaribal
nupuleCapture
Options...
(hammasratta märk)- Alustage pakettide püüdmist sellel võrguliidesel, mille IP aadressi te eelnevalt juba välja selgitasite (tõenäoliselt
enp0s3
võieth0
), käsugaStart
.
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
.
- Avage veebilehitseja ja külastage lehte
http://andmeturve-lab.appspot.com
.- Sisestage seal olevatele sisendväljadele oma eesnimi, perenimi ja sõnum ning vajutage
submit
.
- Sisestage seal olevatele sisendväljadele oma eesnimi, perenimi ja sõnum ning vajutage
- Minge tagasi Wiresharki ja pange filtriks
http.request.method == "POST"
ningENTER
selle rakendamiseks.- Uurige leitud paketti lähemalt ja leidke sealt üles oma eesnimi ja sõnum.
- Kas perenimi ehk Parool on nähtav? Miks?
- Sulgege
Wireshark
javeebilehitseja
.
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/.
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:
hostname
ip a
ls
- 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
juuresXX
jaYYY
tuleb asendada teie marsruuteri IP-aadressiga.- Enamasti marsruuteri IP-aadressi saate teada kui sisestate Linux Mint virtuaalmasinas käsu
ip r
ja vaatate esimest ridadefault
. - Windows masinas leiab sama info üles käsurealt
cmd
käsugaipconfig
ning kasutatava adapteri juures tuleks üles leida ridaDefault Gateway
.
- Enamasti marsruuteri IP-aadressi saate teada kui sisestate Linux Mint virtuaalmasinas käsu
192.168.XX.ZZZ
juuresXX
jaZZZ
tuleb asendada tegelikuohvri
ip-aadressi elementidega.- Host arvuti ip aadressi leidmiseks on lihtsaim viis kasutada käsku
ipconfig
(Windows host) võiip a
Linux host.
- Host arvuti ip aadressi leidmiseks on lihtsaim viis kasutada käsku
- 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 jaZZZ
= 217), siis marsruuteri aadress on sealjuures 192.168.1.1/24 (YYY
= 1). Kogu käsk oleks siisarpspoof -i enp0s3 -r -t 192.168.1.1 192.168.1.217
.
- Näiteks kui teie hostaarvuti aadress on 192.168.1.217/24 (
- &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.
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.
Capture
Options ..
(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õihttp://www.bioneer.ee/
. - &red&NB! Firefoxis lehe täielikuks värskendamiseks kasutage klahvikombinatsiooni
<CTRL>+F5
, ainultF5
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 lehelehttp://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. Kuihttp://andmeturve-lab.appspot.com/
ei õnnestu pealt kuulata, võite kasutada kahttp://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.
- Võite vastava ülesande lahendamiseks oma Linux Mint virtuaalmasina võrguühenduse tagasi muuta
NAT
ühenduse tüübiks. - Minge lehele
https://docs.mitmproxy.org/stable/
ja tutvuge järgmiste alampeatükkidega (lugege ja saage aru, käske sisestada pole veel vaja):- Overview (Introduction, Installation, Feature)
- Tools (mitmproxy, mitmdup, mitmweb)
- Core concepts (How mitmproxy works, Modes of Operation, Certificates)
- Avage Linux Mint virtuaalmasinas veebleht
https://mitmproxy.org/
.- Sealt valige
Download Linux Binaries
ja salvestage see enda virtuaalmasinasse. - Pakkige vastav
mitmproxy-11.1.3-linux-x86_64.tar.gz
fail lahtiDownloads
kausta -> parem hiireklahv failil failihalduris jaExtract Here
.
- Sealt valige
- Avage käsurida ja seal liikuge kausta kuhu te
mitmproxy
binaarid lahti pakkisite.- Seal vaadake, et mitm failidel oleks käivitusõigused
ls -la
. - 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.)
- Seal vaadake, et mitm failidel oleks käivitusõigused
- Avage veebilehitseja (soovitavalt Firefox).
- Seadistage Firefox kasutama proxy ka turvatud SSL (tuntud ka kui HTTPS) ühendustele.
- Sisestage aadressiribale
about:preferences
-> kerige alla lõppu kuniNetwork Settings
ja sealt nuppSettings
. - Valige
Manual proxy configuration
jaHTTP Proxy
,HTTPS Proxy
seadistadalocalhost
port8080
.
- Sisestage aadressiribale
- Seadistage Firefox kasutama proxy ka turvatud SSL (tuntud ka kui HTTPS) ühendustele.
- Nüüd avage veebilehitsejas aadress
http://127.0.0.1:8081/
.- Peaks avanema
mitmproxy webconsole
. - Jätke
mitmweb
vaheleht veebilehitsejas avatuks.
- Peaks avanema
- Külastage uuel vahelehel Firefox veebilehitsejas lehekülgi https://courses.cs.ut.ee/ ja https://intra.cs.ut.ee/:
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.
- 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).
- Külasta nüüd lehte
mitm.it
ja valigeLinux
ning laadige enda arvutissemitmproxy-ca-cert.pem
.- Valige
Show Instructions
ja täitke käsud või importige CA sertifikaat käsitsi veebilehitsejasse nagu praktikumis 3 tegime. - Kuna Ubuntu vaikimis veebilehtitseja on
Firefox
, siis täitke ära kaFirefox (does not use the OS root certificates)
osa, mis asub samal leheküljel allpool.- Kui saate importimisel errori, veenduge, et valisite Certificate Manager'is Authorities akna.
- Valige
- Külastage nüüd uuesti veebilehte (võib olla vaja Firefox sulgeda ja uuesti avada, et uued sertifikaadid toimiksid).
https://courses.cs.ut.ee/
(veateadet ei tohiks olla)https://intra.cs.ut.ee/
(veateadet ei tohiks olla)
- Minge lehele
https://ois2.ut.ee
(webproxy aktiivne) ja logige sisse TÜ kasutajatunnuse ja parooliga.- Tutvuge ka lehekülje sertifikaadiga? Mida märkate?
- 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.
- Vihje lehekülg kasutab nüüd originaalsertifikaadi asemel
- Tutvuge ka lehekülje sertifikaadiga? Mida märkate?
- Otsige üles
mitmproxy webconsole
vaheleht ja seal tutvugeFlow
vaatega- Proovige üles leida ÕISi sisselogimise kasutajatunnus ja parool (vihje: method=POST)
- Liikuge
Start
vaatesse ja esimesse otsinguaknasse sisestage sõnelogin
- 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 lehelehttp://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. Kuihttp://andmeturve-lab.appspot.com/
ei õnnestu pealt kuulata võite kasutada kahttp://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
- Man-in-the-middle-attack
- DNS