Pozor, hekerji (3)

Objavljeno: 1.9.2005 13:06 | Avtor: Ivan Verdonik | Kategorija: Programer | Revija: Julij 2005

Pregledovanje sistemov hekerji izvajajo običajno potem, ko so že podrobneje spoznali žrtev. Pogosto pa gre tudi za slepo pregledovanje, še posebej, kadar se pojavi nova ranljivost. Klasično pregledovanje poteka v treh stopnjah: najprej odkrivanje aktivnih sistemov, potem strežniških programov in končno vrste operacijskega sistema

Odkrivanje aktivnih sistemov

Potem, ko je heker spoznal omrežne naslove podjetja, je njegov naslednji korak preverjanje, na katerih naslovih so delujoči računalniki. Najstarejši način preverjanja, ali je na izbranem IP naslovu dosegljiv računalnik, je uporaba zahtev ICMP (Internet Control Management Protocol) echo. Sled take dejavnosti, zajete s programom tcpdump, kaže naslednji zgled:

11:02:25 iskanje.heker.si > 192.168.6.1: icmp: echo request

11:02:37 iskanje.heker.si > 192.168.6.2: icmp: echo request

11:02:51 iskanje.heker.si > 192.168.6.3: icmp: echo request

11:03:06 iskanje.heker.si > 192.168.6.4: icmp: echo request

11:03:25 iskanje.heker.si > 192.168.6.5: icmp: echo request

...

Ta način iskanja razpoložljivih računalnikov je počasen, obenem pa ga je enostavno odkriti. Tako pregledovanje je mogoče izvesti s programom ping, ki se nahaja praktično v vseh operacijskih sistemih na trgu. Obstajajo pa tudi bolj dodelana in/ali hitrejša orodja, kot je npr. orodje fping, ki je hitrejše in mu lahko podamo seznam naslovov IP v datoteki. Heker lahko uporabi tudi program nmap, ki je nekakšen "kralj" med pregledovalniki (scanners). S programom nmap je mogoče pregledati v omrežje vključene računalnike, kakor kaže naslednji zgled:

$ nmap -sP 192.168.1.0/24

Nekatera druga orodja za tovrstno pregledovanje so še: Pinger, Ping Sweep, WS_Ping ProPack, NetScanTools, Hping in icmpenum.

Drugi način iskanja aktivnih sistemov poteka z uporabo zahtev UDP echo, ki so lahko tudi prepletene z izmeničnim napadom na več omrežnih naslovov, tako da ta dejavnost ni tako opazna. Zgled take sledi je:

00:31:12 iskanje.heker.si.2056 > 192.168.134.117.echo: udp 6

00:37:30 iskanje.heker.si.2056 > 172.31.73.1.echo: udp 6

00:37:42 iskanje.heker.si.2056 > 172.31.16.152.echo: udp 6

00:41:15 iskanje.heker.si.2056 > 192.168.91.18.echo: udp 6

00:55:20 iskanje.heker.si.2056 > 172.31.2.176.echo: udp 6

01:01:34 iskanje.heker.si.2056 > 192.168.5.103.echo: udp 6

01:11:12 iskanje.heker.si.2056 > 172.31.152.254.echo: udp 6

01:11:52 iskanje.heker.si.2056 > 192.168.219.32.echo: udp 6

01:31:12 iskanje.heker.si.2056 > 172.31.158.86.echo: udp 6

Najpogostejši in najučinkovitejši način odkrivanja razpoložljivih računalnikov pa je široko razpošiljanje (broadcast) zahtev ICMP echo. Njegov vzorec je viden v naslednjem zapisu omrežnega prometa, ki ga posreduje pripomoček tcpdump:

01:23:44 iskanje.heker.si > 192.168.6.255: icmp: echo request

01:23:56 iskanje.heker.si > 192.168.6.0: icmp: echo request

01:30:41 iskanje.heker.si > 192.168.7.255: icmp: echo request

01:30:57 iskanje.heker.si > 192.168.7.0: icmp: echo request

01:38:14 iskanje.heker.si > 192.168.8.255: icmp: echo request

01:38:26 iskanje.heker.si > 192.168.8.0: icmp: echo request

01:45:21 iskanje.heker.si > 192.168.9.255: icmp: echo request

01:45:35 iskanje.heker.si > 192.168.9.0: icmp: echo request

Kakor vidimo, heker preizkuša računalnike, na katerih je zadnja številka naslova IP 0 oziroma 255. Na prvi oddajajo zahteve echo predvsem operacijski sistemi unix, na drugi pa Okna, tako da lahko na ta način določimo celo operacijski sistem. Zaradi tega je, če je le mogoče, najbolje s požarnim zidom blokirati prihajajoče zahteve ICMP echo. Žal pa običajno to ne zadošča, saj lahko vdiralec uporabi vrata, ki jih požarni zid ne blokira, na primer vrata 80 (spletni strežnik). Z nmapom je to mogoče storiti na naslednji način:

$ nmap -sP -PT80 192.168.10/24

Poleg blokade s požarnim zidom lahko uporabimo detektor vdorov, ki nas bo opozoril na pregledovanje računalnikov. Snortovo pravilo za detekcijo prvega načina iskanja aktivnih sistemov ($nmap -sP) je:

icmp $EXTERNAL_NET any -> $HOME_NET any

(msg:"ICMP PING NMAP"; dsize: 0;

itype: 8; reference:arachnids,162;

classtype:attempted-recon; sid:469; rev:1;)

Razlaga pravila:

  • vrsta protokola je icmp,
  • paket lahko pride s poljubnih zunanjih vrat zunanjih naslovov na poljubna vrata določenih notranjih naslovov,
  • prikazano sporočilo bo ICMP PING NMAP,
  • dolžina podatkov mora biti 0 (torej brez bremena),
  • tip paketa pa mora biti 8 (to je echo).
  • Grafični vmesnik programa nmap

    Odkrivanje delujočih omrežnih programov

    Potem, ko je heker odkril IP naslov računalnika, skuša ugotoviti, katera vrata (ports) na njem so odprta. Odprta vrata pomenijo, da na njih omrežni program (npr. FTP, Telnet, HTTP, e-mail ...) sprejema zahteve po svojih storitvah. Izvedba protokola TCP/IP nudi 65536 TCP in 65536 UDP vhodno-izhodnih vrat. Glede na način preizkušanja vrat na računalniku ločimo več vrst pregledovanja. To so:

  • Pregledovanje tipa TCP SYN. Pravimo mu tudi polodprto pregledovanje, ker se pri njem ne vzpostavi polna TCP povezava, temveč heker pošlje le SYN paket. Če napaden računalnik odgovori s SYN/ACK paketom, to pomeni, da so vrata aktivna - na njih se nahaja delujoč program. Takoj zatem hekerjev program za pregledovanje odgovori s paketom RST (reset), saj nima namena vzpostaviti polne povezave. Če pa napadeni računalnik odgovori s paketom RST/ACK, to pomeni, da so tista vrata zaprta. Spodaj vidimo, kako del takega pregledovanja, z računalnika "streznik" z orodjem nmap
  • $ nmap -sS doma.eocene.net

    povzroči naslednjo sled:

    13:09:06.694127 streznik.eocene.net.55353 > doma.eocene.net.ftp-data: S

    13:09:06.694251 streznik.eocene.net.55353 > doma.eocene.net.ftp: S

    13:09:06.694298 streznik.eocene.net.55353 > doma.eocene.net.ssh: S

    13:09:06.694343 streznik.eocene.net.55353 > doma.eocene.net.telnet: S

    13:09:06.694389 streznik.eocene.net.55353 > doma.eocene.net.24: S

    13:09:06.694438 streznik.eocene.net.55353 > doma.eocene.net.smtp:S

    13:09:06.694483 streznik.eocene.net.55353 > doma.eocene.net.26: S

    13:09:06.694531 streznik.eocene.net.55353 > doma.eocene.net.27: S

    13:09:06.694983 doma.eocene.net.ftp-data > streznik.eocene.net.55353: R 0:0(0) ack

    13:09:06.694986 doma.eocene.net.ssh > streznik.eocene.net.55353: R 0:0(0) ack

    13:09:06.695015 doma.eocene.net.telnet > streznik.eocene.net.55353: R 0:0(0) ack

    13:09:06.695017 doma.eocene.net.24 > streznik.eocene.net.55353: R 0:0(0) ack

    13:09:06.695083 doma.eocene.net.26 > streznik.eocene.net.55353: R 0:0(0) ack

    13:09:06.695085 doma.eocene.net.27 > streznik.eocene.net.55353: R 0:0(0) ack

    13:09:06.695386 doma.eocene.net.ftp > streznik.eocene.net.55353: S 3878129664:3878129664(0) ack

    13:09:06.695404 streznik.eocene.net.55353 > doma.eocene.net.ftp: R

    V sledi je vidno, da so odprta vrata 21 (to je ftp), druga so zaprta.

    Ta vrsta pregledovanja je najpogostejša, saj poleg tega, da je enostavna in deluje na vseh sistemih, ponekod ostane tudi neopažena, zato sodi med tako imenovane skrite (stealth) tehnike.

  • Pregledovanje z vzpostavitvijo povezave TCP (TCP connect() scan). Ta vrsta v nasprotju s prejšnjo vzpostavi popolno povezavo. Najprej se pošlje paket SYN. Če žrtev odgovori s paketom SYN/ACK, napadalec pošlje paket ACK in tako sklene povezavo TCP. V tem primeru na vratih deluje omrežni program. Takoj po sklenitvi povezave jo heker prekine s paketom RST/ACK. To je najpreprostejše pregledovanje, ki ga, kar je najpomembnejše, lahko heker izvede tudi, če ni prijavljen kot administrator, ampak že s pooblastili navadnega uporabnika. S hekerskega vidika pa je to pregledovanje nezaželeno, ker ga operacijski sistem žrtve vedno opazi. Nastaja veliko povezav, ki so takoj nato prekinjene. Tako pregledovanje vrat s programom nmap heker z računalnika "streznik" izvede z:
  • $ nmap -sT doma.eocene.net

    Sled je naslednja:

    16:59:06.763002 streznik.eocene.net.1105 > doma.eocene.net.ftp: S

    16:59:06.763071 streznik.eocene.net.1106 > doma.eocene.net.ssh: S

    16:59:06.763139 streznik.eocene.net.1107 > doma.eocene.net.telnet: S

    16:59:06.763208 streznik.eocene.net.1108 > doma.eocene.net.24: S

    16:59:06.763277 streznik.eocene.net.kpop > doma.eocene.net.smtp: S

    16:59:06.763342 streznik.eocene.net.1110 > doma.eocene.net.26: S

    16:59:06.763414 streznik.eocene.net.1111 > doma.eocene.net.27: S

    16:59:06.763984 doma.eocene.net.ssh > streznik.eocene.net.1106: R 0:0(0) ack

    16:59:06.764015 doma.eocene.net.telnet > streznik.eocene.net.1107: R 0:0(0) ack

    16:59:06.764017 doma.eocene.net.24 > streznik.eocene.net.1108: R 0:0(0) ack

    16:59:06.764168 doma.eocene.net.26 > streznik.eocene.net.1110: R 0:0(0) ack

    16:59:06.764171 doma.eocene.net.27 > streznik.eocene.net.1111: R 0:0(0) ack

    16:59:06.764516 doma.eocene.net.ftp > streznik.eocene.net.1105: S 3035392410:3035392410(0) ack

    16:59:06.766492 doma.eocene.net.smtp > streznik.eocene.net.kpop: S 3035451806:3035451806(0) ack

    16:59:06.764543 streznik.eocene.net.1105 > doma.eocene.net.ftp: . ack 1

    16:59:06.766517 streznik.eocene.net.kpop > doma.eocene.net.smtp: . ack

    16:59:06.766628 streznik.eocene.net.1105 > doma.eocene.net.ftp: R 1:1(0) ack

    16:59:06.766747 streznik.eocene.net.kpop > doma.eocene.net.smtp: R 1:1(0) ack

    Iz sledi je razvidno, da sta na računalniku "doma" odprti vrati 21 in 25 (ftp in smtp).

  • Ničelni (null) TCP. Pri tem pregledovanju heker na ciljna vrata ciljnega računalnika pošlje paket, ki nima vključene nobene zastavice. (TCP paketi lahko vsebujejo naslednje zastavice: CWR, ECE, URG, ACK, PSH, RST, SYN in FIN.) Po pravilih bi moral ciljni sistem odgovoriti s paketom RST za vsaka vrata, ki so zaprta, vendar operacijski sistem Okna tega ne upošteva, zaradi tega to pregledovanje na njem ne deluje (zato pa se ve, za katere operacijske sisteme gre). Kjer deluje, velja tako, kakor pri pregledovanju v točki 1, za skrito tehniko. Z nmapom bi ga (če je ciljni računalnik doma.eocene.net) izvedli z:
  • $ nmap -sN doma.eocene.net

  • Pregledovanje s paketi TCP FIN. V tem primeru heker pošlje TCP paket z vključeno zastavico FIN. Zastavico FIN običajno uporabljamo za sporazumni konec povezave. V skladu z dokumentom RFC 793 mora ciljni sistem v tem primeru odgovoriti s paketom RST, če so ciljna vrata zaprta. Tako kakor pri prejšnjem načinu se tudi tu operacijski sistem Okna tega ne drži. Z nmapom bi ga (če je ciljni računalnik doma.eocene.net) izvedli z:
  • $ nmap -sF doma.eocene.net

  • Pregledovanje TCP "božična jelka" (Xmas Tree). Eksotično ime te vrste pregledovanja izvira iz dejstva, da je v takem paketu vključenih več zastavic hkrati, torej je paket "okrašen" kot božično drevesce. Vključene so zastavice URG (urgent), PSH (push) in FIN (finish). Drugače zanj velja vse enako, kakor pri pregledovanjih iz točk 3 in 4. Z nmapom bi ga (če je ciljni računalnik doma.eocene.net) izvedli z
  • $ nmap -sX doma.eocene.net

  • Pregledovanje TCP z zastavico ACK. V tem primeru heker pošlje TCP paket, ki ima vključeno le zastavico ACK (acknowledge). S takim pregledovanjem lahko preveri pravila požarnega zida. Pomaga mu ugotoviti, ali gre za požarni zid, ki beleži stanje, ali pa za preprost filter paketov, ki blokira prihajajoče pakete tipa SYN. Če ciljni sistem vrne paket z zastavico RST, to pomeni, da ciljna vrata niso filtrirana. Če pa ne vrne ničesar ali pa vrne "ICMP unreachable", to pomeni, da so vrata filtrirana. To pregledovanje nikoli ne prikaže odprtih vrat. Zgled takega pregledovanja (vsa vrata so filtrirana) je:
  • $ nmap -sA doma.eocene.net

    14:15:32.706244 streznik.eocene.net.54515 > doma.eocene.net.ftp-data: . ack 0 win 2048

    14:15:32.706631 streznik.eocene.net.54515 > doma.eocene.net.ftp: . ack 0 win 1024

    14:15:32.706694 streznik.eocene.net.54515 > doma.eocene.net.ssh: . ack 0 win 2048

    14:15:32.706749 streznik.eocene.net.54515 > doma.eocene.net.telnet: . ack 0 win 2048

    14:15:32.706796 streznik.eocene.net.54515 > doma.eocene.net.24: . ack 0 win 2048

    14:15:32.706844 streznik.eocene.net.54515 > doma.eocene.net.smtp: . ack 0 win 4096

    14:15:32.706889 streznik.eocene.net.54515 > doma.eocene.net.26: . ack 0 win 3072

  • Pregledovanje z oknom (window) paketa. To pregledovanje je glede namena in rezultatov zelo podobno prejšnjemu (ACK), razen tega, da lahko heker včasih ugotovi tudi, katera od vrat so odprta. To je mogoče zato, ker nekateri operacijski sistemi odgovorijo, če opazijo anomalijo pri oknu TCP. Operacijski sistem Okna v tem primeru ni ranljiv, so pa sistemi AIX, Tru64, MacOS, HP-UX, OpenVMS in drugi. Tako pregledovanje se sproži z:
  • $ nmap -sW doma.eocene.net

  • Pregledovanje UDP. S to vrsto pregledovanja hekerji preverjajo vrata UDP (User Datagram Protocol, opisan v dokumentu RFC 768). Če je odgovor sporočilo "ICMP port unreachable", so vrata UDP zaprta, če z vrat prejmejo običajen odgovor, so odprta, če pa ni nobenega odgovora, so vrata ali odprta ali pa jih požarni zid filtrira. Rezultati so lahko nezanesljivi, če so omrežje ali sistemski viri obremenjeni, ker prav tako ne dobimo odgovora. To pregledovanje se z nmap požene takole:
  • $ nmap -sU doma.eocene.net

    kar v omrežju povzroči spodnjo sled:

    17:37:11.928297 streznik.eocene.net.56083 > doma.eocene.net.ftp-data: udp 0

    17:37:11.928934 streznik.eocene.net.56083 > doma.eocene.net.ftp: udp 0

    17:37:11.928994 streznik.eocene.net.56083 > doma.eocene.net.ssh: udp 0

    17:37:11.929038 streznik.eocene.net.56083 > doma.eocene.net.telnet: udp 0

    17:37:11.929082 streznik.eocene.net.56083 > doma.eocene.net.24: udp 0

    17:37:11.929135 streznik.eocene.net.56083 > doma.eocene.net.smtp: udp 0

    17:37:11.929180 streznik.eocene.net.56083 > doma.eocene.net.26: udp 0

    17:37:11.929227 streznik.eocene.net.56083 > doma.eocene.net.27: udp 0

    17:37:11.929273 streznik.eocene.net.56083 > doma.eocene.net.28: udp 0

    17:37:11.929320 streznik.eocene.net.56083 > doma.eocene.net.29: udp 0

    ....

    Zgled rezultata je:

    PORT STATE SERVICE

    20/udp open|filtered ftp-data

    21/udp open|filtered ftp

    22/udp open|filtered ssh

    23/udp open|filtered telnet

    24/udp open|filtered priv-mail

    25/udp open|filtered smtp

    26/udp open|filtered unknown

    27/udp open|filtered nsw-fe

    28/udp open|filtered unknown

    29/udp open|filtered msg-icp

    30/udp open|filtered unknown

    Prikazali smo pregledovanje vseh ali vsaj najpomembnejših vrat v enem samem ciljnem računalniku. Hekerji pa pogosto pregledujejo ena sama vrata, vendar po celotnem omrežju. To počnejo pogosto, kadar poznajo ranljivost za določen program. Tak del prometa kaže naslednja sled:

    13:04:32.07 zli.heker.si.3142 > 192.168.4.1.80: S

    13:04:32.31 zli.heker.si.3143 > 192.168.4.2.80: S

    13:04:32.87 zli.heker.si.3144 > 192.168.4.3.80: S

    13:04:33.14 zli.heker.si.3145 > 192.168.4.4.80: S

    13:04:33.53 zli.heker.si.3147 > 192.168.4.5.80: S

    13:04:33.97 zli.heker.si.3149 > 192.168.4.8.80: S

    13:04:34.71 zli.heker.si.3152 > 192.168.4.11.80: S

    ki je posledica ukaza:

    $ nmap -p80 192.168.4.0/24

    Aktivna vrata odgovorijo na paket in heker ve, da ima tisti računalnik delujoč spletni strežnik. V primeru, da je ta spletni strežnik take vrste in različice, da heker pozna njegovo ranljivost, in ni nameščen ustrezen varnostni popravek, sledi vdor.

    Zaščita pred temi napadi so - spet - ustrezno nastavljen požarni zid in detektor vdorov, pa tudi zaprtje vseh nepotrebnih strežniških programov. Zgled pravila Snort, ki zazna pregledovanje vrste božične jelke, je:

    alert tcp $EXTERNAL_NET any -> $HOME_NET any

    (msg:"SCAN nmap XMAS";flags:FPU; reference:arachnids,30;

    classtype:attempted-recon; sid:1228; rev:1;)

    Kakor vidimo, pravilo preverja, ali so vključene zastavice FIN/PSH/URG (flags:FPU).

    Prepoznavanje operacijskega sistema

    Naslednji, za hekerje zanimiv podatek, je operacijski sistem, ki je nameščen na ciljnem računalniku, ker so mnoge varnostne pomanjkljivosti vezane nanj. Klasične (ročne) možnosti neposredne detekcije so npr. povezava telnet ali ftp na ciljni računalnik. Kjer niso izključene zastavice z informacijami, je mogoče prebrati ali uganiti, za kateri operacijski sistem gre. Zgled take detekcije je:

    $ telnet alfa.podjetje.si

    Trying 163.143.103.12 ...

    Connected to alfa.podjetje.si.

    Escape character is '^]'.

    HP-UX hpux B.10.20 A 9000/715 (ttyp2)

    login:

    Pri tem heker seveda ni imel namena, da se prijavi, temveč le, da pridobi informacije. Kot vidimo, mu je program z njimi velikodušno postregel.

    Vrsto operacijskega sistema neznanega računalnika je mogoče prek omrežja določiti tudi samodejno, z ustreznimi orodji, glede na to. kakšna je izvedba protokola TCP/IP. Le-ta se razlikuje običajno že med različnimi izvedbami istega operacijskega sistema. Orodje, ki ga veliko omenjamo, nmap, je posebej znano tudi po tem, da dokaj zanesljivo ugane operacijski sistem. Nmap in drugi programi za aktivno detekcijo operacijskega sistema (npr. queso, Xprobe) sondirajo ciljni računalnik s posebej prirejenimi paketi in odgovor nanje primerjajo z vzorci, značilnimi za posamezne operacijske sisteme, shranjenimi v datoteki s "podpisi" operacijskih sistemov. Tako lahko hekerji zelo hitro določijo, kateri operacijski sistem je nameščen na sicer neznanem računalniku. Nekatere od značilnosti, ki jih program nmap preizkuša, so:

  • Odgovor na paket TCP s vključeno zastavico FIN. V skladu s standardom, podanim v dokumentu RFC 793, operacijski sistem ne bi smel dati odgovora, toda nekateri odgovorijo s paketom RST.
  • Preverjanje značilnosti določanja začetnih zaporednih številk (ISN - Initial Sequence Numbers) pri odgovoru na paket TCP z zahtevo za vzpostavitev povezave. Nekateri jih določajo naključno, medtem ko jih drugi povečujejo za majhno fiksno vrednost za vsak določen časovni interval.
  • Preverjanje časovnega žiga TCP (TCP timestamp). To je izbirna možnost paketa TCP. Operacijski sistemi jo izvedejo različno: nekateri je sploh ne določajo, drugi pa jo povečujejo s frekvencami različnih velikosti.
  • Preverjanje bita za fragmentacijo (DF - Don't Fragment bit). Ta bit nekateri operacijski sistemi postavljajo, drugi ne.
  • Začetna velikost okna paketa TCP (TCP Initial Window). Preprosto preverja velikost okna na vrnjenih paketih. Ta velikost je zelo dober pokazatelj vrste operacijskega sistema in njegove različice, nekatere lahko določimo celo izključno s tem testom.
  • Obdelava razdrobljenosti. Različne izvedbe različno obravnavajo zbiranje premešanih drobcev paketa.
  • Preverjanje izbir TCP (TCP options). Ker gre za izbire, ki jih nekateri sistemi ne izvedejo, drugi spet jih izvedejo le nekaj. Preveriti jih je mogoča tako, da se ciljnemu sistemu pošlje paket, v katerem so izbire nastavljene. Nmap tako vedno pošlje: Window Scale=10; NOP; Max Segment Size=265; Timestamp; End of Ops;
  • Zgled podpisa operacijskega sistema Windows Server 2003 v nmapu je:

    Fingerprint Microsoft Windows Server 2003

    Class Microsoft | Windows | 2003/.NET | general purpose

    TSeq(Class=TR%gcd=<6)

    T1(DF=Y%W=FB8B%ACK=S++%Flags=AS%Ops=MNWNNT)

    T2(Resp=N)

    T3(Resp=N)

    T4(DF=N%W=0%ACK=O%Flags=R%Ops=)

    T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=)

    T6(DF=N%W=0%ACK=O%Flags=R%Ops=)

    T7(Resp=N)

    PU(DF=N%TOS=0%IPLEN=B0%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)

    Razlaga:

  • Vrstica s TSeq predstavlja rezultat testa začetnih zaporednih številk. TR (True Random) pomeni, da se začetne številke generirajo naključno, največji skupni delitelj med njimi je 6 ali manj (gcd =<6), kar pomeni, da nimajo velikih skupnih faktorjev.
  • Vrstica s T1. DF=Y pomeni, da se bit DF postavi. W=FB8B pomeni, da je velikost okna TCP 0xFB8B. ACK=S++ pomeni, da je začetna potrditvena številka (acknowledgment number) enaka za ena povečani začetni zaporedni številki (ISN). Flags=AS pomeni, da sta bili v odgovoru postavljeni zastavici S (SYN) in A (ACK). Ops=MNWNNT pomeni, da so vrnjene izbire M - Maximum segment size, N - No operation, W - Window scale, N - No operation, N - No operation, T - Timestamp.
  • Vrstica s T2 Resp=N, pomeni, da sistem ne odgovori, če pošljemo paket brez postavljenih zastavic na odprta vrata.
  • Vrstica s T3 Resp=N, pomeni, da sistem ne odgovori, če pošljemo paket s postavljenimi zastavicami URG, PSH, SYN in FIN na odprta vrata.
  • Vrstica s T4 predstavlja odgovor sistema na paket s postavljeno zastavico ACK, poslan odprtim vratom. DF=N pomeni, da bit Don't Fragment ni postavljen, W=0, da je velikost okna 0, ACK=0 pomeni, da je potrditvena številka 0, Flags=R pomeni, da je vključena zastavica RST ter Ops= pomeni, da ni izbir.
  • Vrstica s T5 predstavlja odgovor sistema na poslan paket z vključeno zastavico SYN zaprtim vratom. Razlaga je podobna T1 in T4.
  • Vrstica s T6 predstavlja odgovor sistema na poslan paket z vključeno zastavico ACK zaprtim vratom. Razlaga je prav tako podobna T1, T4 (in T5).
  • Vrstica s T7 Resp=N, pomeni, da sistem ne odgovori na poslan paket z vključenimi zastavicam URG, PSH in FIN zaprtim vratom TCP.
  • Vrstica s PU predstavlja odgovor na poslan paket UDP zaprtim vratom na ciljnem sistemu. DF=N pomeni, da bit DF ni postavljen, TOS=0 pomeni, da je vrsta storitve (Type Of Service) 0, IPLEN=B0 pomeni, da je celotna dolžina glave paketa IP 0xB0, RIPTL=148 pomeni, da je vrnjena celotna dolžina paketa IP 0x148, RID=E pomeni, da je vrnjena identifikacijska številka v IP paketu ista kot poslana, RIPCK=E pomeni, da je vrnjena kontrolna vsota glave UDP ista kakor poslana, UCK=E pomeni, da je vrnjena kontrolna vsota glave UDP vedno enaka, ULEN=134 pomeni, da je dolžina glave UDP 0x134, končno DAT=E pomeni, da so bili podatki vrnjeni nazaj brez napake.
  • Za ugibanje operacijskega sistema programu nmap podamo stikalo -O. Na primer:

    $ nmap -O 192.168.1.3

    Poleg orodij, ki določajo operacijski sistem z analizo odgovorov na posebej sestavljene poslane pakete, je tudi nekaj orodij, ki določijo operacijski sistem, tako da pasivno spremljajo dogajanje v omrežju. Te metode niso tako natančne, njihova prednost s hekerskega vidika pa je v tem, da jih je veliko teže opaziti. Običajno preverjajo naslednje parametre paketov:

  • Vrednost TTL (Time To Live) pomeni, čez koliko omrežij sme potovati paket. Začetna vrednost se pri vsakem prehodu zmanjša za eno. Če ta vrednost pade na nič, se paket zavrže. To je potrebno zato, da "izgubljeni" paketi ne potujejo po medmrežju v nedogled. Operacijski sistemi začetno vrednost tega parametra postavijo na 127 ali 255.
  • Vrednost parametra velikost okna (Window Size).
  • Nastavitev parametra DF (Don't Fragment), torej ali je razdrobljenost dovoljena ali ne.
  • Orodje, ki na ta način določa operacijske sisteme, je na primer siphon.

    Zaščita pred prepoznavanjem našega operacijskega sistema ni lahka, vsaj ne za enote s požarnim zidom. Mogoče je z ustreznimi popravki spremeniti značilnosti izvedbe protokola TCP/IP, tako da zavedemo orodje, kot je nmap ali drugo. Dejstvo je tudi, da samo podatek o operacijskem sistemu hekerju ne zagotavlja uspešnega vdora.

    Snortovo pravilo, ki zazna nmapovo detekcijo operacijskega sistema, je:

    alert tcp $EXTERNAL_NET any -> $HOME_NET any

    (msg:"SCAN nmap fingerprint attempt";flags:SFPU;

    reference:arachnids,05; classtype:attempted-recon;

    sid:629; rev:1;)

    Razlaga: najpomembnejši podatek je, da so v paketu vključene zastavice SFPU, to je SYN, FIN, PSH in URG, kar je, kot vemo eden testov nmapa (T3).

    Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
    Prijava

    ph

    Komentirajo lahko le prijavljeni uporabniki