Analýza sieťovej prevádzky wireshark. Ako používam Wireshark? Analýza dopravy. Behaviorálna detekcia prítomnosti sniffera v sieti

  • 08.03.2020

SmartSniff umožňuje zachytiť sieťovú prevádzku a zobraziť jej obsah v ASCII. Program zachytáva pakety prechádzajúce cez sieťový adaptér a zobrazuje obsah paketov v textovej forme (protokoly http, pop3, smtp, ftp) a ako hexadecimálny výpis. Na zachytávanie paketov TCP/IP používa SmartSniff nasledujúce techniky: raw sockets - RAW Sockets, WinCap Capture Driver a Microsoft Network Monitor Driver. Program podporuje ruštinu a ľahko sa používa.

Program Sniffer na zachytávanie paketov


SmartSniff zobrazuje nasledujúce informácie: názov protokolu, lokálnu a vzdialenú adresu, lokálny a vzdialený port, lokálny hostiteľ, názov služby, veľkosť dát, celkovú veľkosť, čas zachytenia a čas posledného paketu, trvanie, lokálnu a vzdialenú MAC adresu, krajiny a dátový paket obsah... Program má flexibilné nastavenia, implementuje funkciu zachytávacieho filtra, rozbaľovanie http odpovedí, konverziu IP adries, nástroj je minimalizovaný na systémovú lištu. SmartSniff generuje správu o prúde paketov ako HTML stránku. Program dokáže exportovať toky TCP / IP.

Originál: Network sniffing
Autor: Paul Cobbaut
Dátum zverejnenia: 12. marca 2015
Preklad: A. Panin
Dátum prevodu: 1.4.2015

Kapitola 23. Zachytenie sieťovej prevádzky

Správca siete by mal byť schopný použiť sniffer, ako je wireshark alebo tcpdump na diagnostiku problémov so sieťou.

Študent sa tiež často bude musieť uchýliť k používaniu snifferu, aby pochopil princípy fungovania sietí. Táto kapitola popisuje vhodné techniky na zachytávanie sieťovej prevádzky.

23.1. Aplikácia Wireshark

23.1.1. Inštalácia wireshark

Tento príklad poskytuje príkaz na inštaláciu wireshark na distribúciách, ktoré používajú softvérové ​​balíky s príponou .deb (vrátane Debian, Mint, Xubuntu a iných distribúcií).

[e-mail chránený]: ~ # Čítanie zoznamov balíkov Hotovo Vytváranie stromu závislostí Čítanie informácií o stave Hotovo... (výstup je skrátený)

V distribúciách, ktoré používajú softvérové ​​balíky .rpm, ako sú CentOS, RHEL a Fedora, možno na inštaláciu wireshark použiť yum.

# yum install wireshark Načítané zásuvné moduly: najrýchlejší zrkadlo Načítavam rýchlosti zrkadla z hostiteľského súboru uloženého vo vyrovnávacej pamäti ... (výstup skrátený)

23.1.2. Výber sieťového rozhrania

Keď prvýkrát spustíte wireshark, budete musieť vybrať sieťové rozhranie. Zobrazí sa dialógové okno, ktoré vyzerá podobne ako na obrázku nižšie.

Je pravdepodobné, že nebudú dostupné žiadne sieťové rozhrania, pretože v niektorých distribúciách môže sieťovú prevádzku zachytávať výlučne užívateľ root. V tomto prípade budete musieť spustiť wireshark ako root pomocou príkazu sudo wireshark.

Prípadne môžete postupovať podľa všeobecných pokynov a použiť nástroj tcpdump alebo nejaký iný nástroj na zachytenie prevádzky a zapisovanie údajov do súboru. Akékoľvek zachytené údaje možno neskôr analyzovať pomocou wireshark.

23.1.3. Minimalizácia dopravy

V procese zachytávania sieťovej prevádzky môžu byť generované tisíce paketov vo veľmi krátkych časových úsekoch. Je zrejmé, že toto množstvo údajov sťaží analýzu návštevnosti. Pokúste sa dostať z tejto situácie izoláciou svojho sniffera v sieti. Preferovanou možnosťou je zachytenie prevádzky prechádzajúcej cez sieťové rozhranie izolovanej virtuálnej siete pod vašou úplnou kontrolou.

Ak sa učíte nástroje na zachytávanie sieťovej prevádzky doma, je dobré vypnúť všetky sieťové aplikácie spustené na vašom počítači a odpojiť počítač od iných počítačov a zariadení, ako sú smartfóny a tablety, aby ste minimalizovali návštevnosť.

Dôležitejšími nástrojmi na minimalizáciu návštevnosti sú však filtre, o ktorých sa bude diskutovať v ďalšej časti.

23.1.4. Zachytenie prevádzky generovanej obslužným programom ping

Spustil som sniffer a zachytil som všetky pakety prenášané cez sieť v dôsledku vykonania troch príkazov ping (nemá zmysel spúšťať tieto príkazy ako root):

[e-mail chránený]:~# ping -c2 ns1.paul.miestne PING ns1.paul.local (10.104.33.30) 56 (84) bajtov dát. 64 bajtov z 10.104.33.30: icmp_req = 1 ttl = 64 čas = 0,010 ms 64 bajtov z 10.104.33.30: icmp_req = 2 ttl = 64 čas = 0,023 ns cal 2 ms pa. štatistika --- cal , 2 prijaté, 0 % strata paketov, čas 1001 ms rtt min / avg / max / mdev = 0,010 / 0,016 / 0,023 / 0,007 ms [e-mail chránený]:~# ping -c3 linux-training.be PING linux-training.be (188.93.155.87) 56 (84) bajtov dát. 64 bajtov z antares.ginsys.net (188.93.155.87): icmp_req = 1 ttl = 56 čas = 15,6 ms 64 bajtov z antares.ginsys.net (188.93.155.87): icmp_req = 5671 bajtov ttl = 2 ttl = 2 z antares.ginsys.net (188.93.155.87): icmp_req = 3 ttl = 56 čas = 14,7 ms --- linux-training.be štatistika ping --- 3 pakety odoslané, 3 prijaté, 0 % strata paketov, čas 2003 ms rtt min / avg / max / mdev = 14,756 / 16,110 / 17,881 / 1,309 ms [e-mail chránený]:~# ping -c1 centos7.paul.miestny PING centos7.paul.local (10.104.33.31) 56 (84) bajtov dát. 64 bajtov z 10.104.33.31: icmp_req = 1 ttl = 64 čas = 0,590 ms --- centos7.paul.local ping statistics --- 1 paket odoslaný, 1 prijatý, 0 % strata paketu, čas 0 ms rtt min / avg / max / mdev = 0,590 / 0,590 / 0,590 / 0,000 ms

Celkovo bolo zo siete zachytených viac ako 200 paketov. Všetko bude oveľa jasnejšie, ak do poľa filtra zadáte riadok icmp a kliknete na tlačidlo „Použiť“.

23.1.5. Zachytávanie prevádzky generovanej utilitou ping a dns klientom

Pri práci s rovnakou reláciou zachytávania údajov použite skvelý filter. Chceme sledovať prevádzku súvisiacu s protokolom dns aj protokolom icmp, preto budeme musieť do poľa filtra zadať názvy dvoch spomínaných protokolov.

Ak chcete zachytiť údaje súvisiace s týmito dvoma protokolmi, musíte do poľa filtra zadať reťazec „dns alebo icmp“. Ak zadáte riadok "dns a icmp", nezobrazia sa žiadne informácie o žiadnych paketoch, pretože neexistujú žiadne pakety súvisiace s oboma spomenutými protokolmi.

Pri pohľade na vyššie uvedený obrázok môžete vidieť, že pakety 25 a 26 majú zdrojové a cieľové IP adresy 10.104.33.30. Dôvodom je skutočnosť, že klient DNS beží na rovnakom počítači ako server DNS.

Podobná situácia je pozorovaná v prípade paketov 31 a 32, pretože pomocou nástroja ping sa pakety odosielajú do pracovného systému, na ktorom je tento nástroj spustený.

23.1.6. Konkrétna IP adresa

V tomto prípade ide o filtrovanie paketov súvisiacich s protokolom DNS a obsahujúcich konkrétnu IP adresu. Ako filter sa používa reťazec "ip.addr == 10.104.33.30 and dns". Direktíva and hovorí aplikácii, aby zobrazila informácie o každom balíku, ktorý spĺňa dve podmienky.

Balík 93 obsahuje DNS dotaz na získanie záznamu typu A domény linux-training.be. Paket 98 obsahuje odpoveď zo servera DNS. Čo si myslíte, že sa stalo po odoslaní paketu 93 a pred prijatím paketu 98? Pokúste sa odpovedať na túto otázku pred čítaním ďalšej časti (pri práci s rôznymi systémami je vždy užitočné pokúsiť sa predpovedať, čo sa stane, a skontrolovať správnosť svojich predpovedí).

23.1.7. Filtrovanie založené na snímkach

Správny výraz pre zachytený paket je rámec (kvôli tomu, že pakety zachytávame na vrstve 2 modelu siete OSI). Ak teda chcete zobraziť informácie o paketoch so špecifickými číslami, použite v poli filtra príkaz frame.number.

23.1.8. Skúmanie obsahu balíkov

Stredná tabuľa okna sniffer môže byť rozšírená. Keď vyberiete riadok na tomto paneli, v poli dolného panela uvidíte zodpovedajúce hodnoty bajtov.

Na obrázku nižšie je zobrazený stredný panel okna sniffer s vybratou adresou môjho notebooku.

Všimnite si, že vyššie uvedená technika funguje skvele na zachytávanie prevádzky na jedinom sieťovom rozhraní. Ak zachytíte prevádzku napríklad pomocou príkazu tcpdump -i any, narazíte na metódu zachytávania paketov „Linux cooked capture“.

23.1.9. Ďalšie príklady filtrov

Tieto dva popisy protokolov môžete skombinovať pomocou logickej alebo ("OR") direktívy medzi nimi. Obrázok nižšie ukazuje, ako zachytiť iba pakety ARP a BOOTP (alebo DHCP).

A nasledujúci obrázok ukazuje metódu zachytávania paketov špecifických pre DNS, ktoré obsahujú špecifickú IP adresu.

23.2. Nástroj Tcpdump

Pri práci s rozhraním príkazového riadka systému je možné zachytenie paketov vykonať pomocou pomôcky tcpdump. Nižšie uvádzame niekoľko príkladov jeho použitia.

Pomocou príkazu tcpdump host $ ip sa zobrazia informácie o celej prevádzke spojenej s konkrétnym hostiteľom (v tomto prípade s IP adresou 192.168.1.38).

[e-mail chránený]: ~ # tcpdump host 192.168.1.38 tcpdump: podrobný výstup je potlačený, použite -v alebo -vv na úplné počúvanie protokolu na eth0, typ prepojenia EN10MB (Ethernet), veľkosť záznamu 96 bajtov

Prevádzka, ktorá súvisí výlučne s protokolom ssh (protokol TCP, port 22), môže byť zachytená pomocou príkazu tcpdump tcp port $ port. Výstupné riadky boli pre lepšiu čitateľnosť skrátené na 76 znakov.

[e-mail chránený]: ~ # tcpdump tcp port 22 tcpdump: podrobný výstup je potlačený, použite -v alebo -vv na úplné počúvanie protokolu na eth1, typ prepojenia EN10MB (Ethernet), veľkosť zachytenia 96 bajtov 14: 22: 20.716313 IP deb5093.local > rhel53.local.ssh: P 666050963: 66605 14: 22: 20.719936 IP rhel53.local.ssh> deb503.local.37973: P 1:49 (48) ack 228 1295.03. deb503.local.37973: P 49: 113 (64) ack 14: 22: 20,721321 IP rhel53.local.ssh> deb503.local.37973: P 113: 161 (48) decal IP 15.022:203:203 37973> rhel53.local.ssh:. ack 161 win 200 14: 22: 20,722492 IP rhel53.local.ssh> deb503.local.37973: P 161: 225 (64) ack 14: 22: 20,760602 IP rhel53.local.ssh> deb503.local.37973: P 161: 225 (64) ack 14: 22: 20,760602 IP 57 debhel. ack 225 win 200 14: 22: 23.108106 IP deb503.local.54424> ubuntu910.local.ssh: P 467252637: 46 14: 22: 23.116801 4b.116801 IP.1b.503 IP. ) ack 14: 22: 23.116844 IP deb503.local.54424> ubuntu910.local.ssh:. ack 81 win 2 ^ C 10 zachytených paketov 10 paketov prijatých filtrom 0 paketov zahodených jadrom

Rovnakú operáciu, ale so zápisom zachytených údajov do súboru, možno vykonať pomocou príkazu tcpdump -w $ filename.

[e-mail chránený]: ~ # tcpdump -w sshdump.tcpdump tcp port 22 tcpdump: počúvanie na eth0, typ linky EN10MB (Ethernet), veľkosť zachytenia 96 bajtov ^ C 17 zachytených paketov 17 paketov prijatých filtrom 0 paketov zahodených jadrom

Príkaz tcpdump -r $ filename môže zobraziť obsah súboru vytvoreného v predchádzajúcom príklade.

[e-mail chránený]: ~ # tcpdump -r sshdump.tcpdump

Mnoho ďalších príkladov použitia tohto nástroja možno nájsť na manuálovej stránke tcpdump.

23.3. Praktická činnosť: Zachytávanie sieťovej prevádzky

23.4. Správny postup praxe: Zachytenie sieťovej prevádzky

1. Nainštalujte si wireshark na váš systém (nebeží na virtuálnom počítači).

Na distribúciách Debain / Ubuntu: aptitude nainštalujte wireshark

Na distribúciách Red Hat / Mandriva / Fedora: yum nainštalujte wireshark

2. Použite nástroj ping na generovanie prenosu medzi vaším a iným počítačom.

ping $ ip_address

3. Začnite zachytávať sieťovú prevádzku.

(sudo) wireshark

Vyberte sieťové rozhranie (pravdepodobne eth0)

4. Použite filter na zobrazenie informácií len o tých paketoch, ktoré obsahujú odpovede na požiadavky z pomocného programu ping.

Do poľa filtra zadajte „icmp“ (bez úvodzoviek) a kliknite na tlačidlo „Použiť“.

5. Teraz odošlite názov domény (napríklad www.linux-training.be) do pingu a pokúste sa zachytiť pakety s požiadavkou DNS a odpoveďou. Aký server DNS bol použitý? Bol na prenos požiadavky a odpovede použitý protokol TCP alebo UDP?

Najprv začnite sniffer.

Do poľa filtra zadajte „dns“ a kliknite na tlačidlo „Použiť“.

[e-mail chránený]: ~ # ping www.linux-training.be PING www.linux-training.be (88.151.243.8) 56 (84) bajtov dát. 64 bajtov z fosfor.openminds.be (88.151.243.8): icmp_seq = 1 ttl = 58 čas = 14,9 ms 64 bajtov z fosfor.openminds.be (88.151.243.8): icmp_seq = 2 C^ ttl = 6.0 --- www.linux-training.be štatistika pingu --- 2 odoslané pakety, 2 prijaté, 0 % strata paketov, čas 1002 ms rtt min / avg / max / mdev = 14,984 / 15,539 / 16,095 / 0,569 ms

Podobne by malo vyzerať aj okno wireshark.

Na základe informácií z okna aplikácie wireshark môžeme konštatovať, že požiadavka DNS bola prenesená pomocou paketu UDP, po ktorom je ľahké odpovedať na položené otázky.

6. Nájdite uzavretú webovú stránku, na ktorej je formulár žiadosti o heslo. Skúste sa prihlásiť pomocou používateľského mena „paul“ a hesla „hunter2“, kým je sniffer spustený. Teraz sa pokúste nájsť zadané používateľské meno a heslo v údajoch zachytených snifferom.

Niekedy pri používaní internetu nastanú situácie, kedy dôjde k úniku prevádzky alebo neočakávanej spotrebe systémových prostriedkov. Na rýchlu analýzu a nájdenie zdroja problému sa používajú špeciálne sieťové nástroje. Jeden z nich, WireShark, bude diskutovaný v článku.

všeobecné informácie

Pred použitím WireShark sa musíte oboznámiť s jeho rozsahom, funkčnosťou a možnosťami. Stručne povedané: program vám umožňuje zachytávať pakety v reálnom čase cez káblové a bezdrôtové sieťové pripojenia. Používa sa v protokoloch Ethernet, IEEE 802.11, PPP a podobných. Môžete tiež využiť odpočúvanie prevádzky hovorov VoIP.

Program je šírený pod licenciou GNU GPL, čo znamená – bezplatný a open source. Môžete ho spustiť na mnohých distribúciách Linuxu, MacOS a existuje aj verzia pre operačný systém Windows.

Ako používam WireShark?

Najprv by ste ho mali nainštalovať do systému. Keďže jednou z najčastejšie používaných distribúcií Linuxu je Ubuntu, všetky príklady budú uvedené v nej.

Ak chcete nainštalovať, stačí zadať príkaz do konzoly:

sudo apt-get install wireshark

Potom sa program objaví v hlavnom menu. Odtiaľ to môžete spustiť. Je však lepšie to urobiť z terminálu, pretože potrebuje práva superužívateľa. Môžete to urobiť takto:

Vzhľad

Program má užívateľsky prívetivé grafické rozhranie. Používateľovi sa zobrazí priateľské okno rozdelené na 3 časti. Prvý priamo súvisí so zachytávaním, druhý s otváraním súborov a vzoriek a tretí je pomoc a podpora.

Blok Capture obsahuje zoznam sieťových rozhraní dostupných na zachytávanie. Ak vyberiete napríklad eth0 a stlačíte tlačidlo Štart, spustí sa proces odpočúvania.

Aj okno so zachytenými údajmi je logicky rozdelené na niekoľko častí. Hore je ovládací panel s rôznymi prvkami. Za ním nasleduje zoznam balíkov. Prezentuje sa vo forme tabuľky. Tu vidíte sériové číslo paketu, čas jeho zachytenia, adresu odoslania a prijatia. Môžete tiež odstrániť údaje o použitých protokoloch, dĺžke a ďalších užitočných informáciách.

Pod zoznamom je okno s obsahom technických údajov zvoleného balíka. A ešte nižšie je zobrazenie v šestnástkovej sústave.

Každý pohľad je možné rozbaliť vo veľkom okne pre jednoduchšie čítanie údajov.

Aplikovanie filtrov

V priebehu práce programu vždy pred používateľom nabehnú desiatky, ba až stovky balíkov. Je pomerne ťažké a zdĺhavé ich ručne odburiniť. Oficiálna príručka WireShark preto odporúča používať filtre.

V okne programu je pre ne špeciálne pole - Filter. Pre presnejšiu konfiguráciu filtra je tu tlačidlo Expression.

Vo väčšine prípadov však postačí štandardná sada filtrov:

  • ip.dst - cieľová IP adresa paketu;
  • ip.src - adresa odosielateľa;
  • ip.addr - len ľubovoľná ip;
  • ip.proto - protokol.

Používanie filtrov v programe WireShark - Ako na to

Ak chcete vyskúšať, ako program pracuje s filtrami, musíte zadať konkrétny príkaz. Napríklad takáto množina – ip.dst == 172.217.23.131 – zobrazí všetky pakety letiace na stránku Google. Ak chcete zobraziť celú návštevnosť – prichádzajúcu aj odchádzajúce – môžete skombinovať dva vzorce – ip.dst == 172.217.23.131 || ip.src == 172.217.23.131. Ukázalo sa teda použitie dvoch podmienok v jednom riadku naraz.

Môžu sa použiť aj iné podmienky, napríklad ip.ttl< 10. Данная команда выведет все пакеты с длительностью жизни меньше 10. Чтобы выбрать данные по их размеру, можно применить такой подход — http.content_length > 5000.

Pridané vlastnosti

Pre pohodlie má WireShark spôsob, ako rýchlo vybrať parametre paketu ako analyzované pole. Napríklad v poli s technickými údajmi môžete kliknúť pravým tlačidlom myši na požadovaný objekt a vybrať možnosť Použiť ako stĺpec. Čo znamená preniesť ho do oblasti poľa ako stĺpec.

Podobne môžete vybrať ľubovoľný parameter a ako filter. Na to slúži v kontextovom menu položka Použiť ako filter.

Samostatná relácia

WireShark môžete použiť ako monitor medzi dvoma uzlami v sieti, napríklad používateľom a serverom. Ak to chcete urobiť, vyberte požadovaný paket, otvorte kontextovú ponuku a kliknite na položku Sledovať tok TCP. V novom okne sa zobrazí celý protokol výmeny medzi dvoma uzlami.

Diagnostika

WireShark má samostatný nástroj na analýzu problémov so sieťou. Volá sa to Expertné nástroje. Nájdete ho v ľavom dolnom rohu vo forme okrúhlej ikony. Kliknutím naň sa otvorí nové okno s niekoľkými záložkami – Chyby, Varovania a iné. S ich pomocou môžete analyzovať, v ktorých uzloch dochádza k zlyhaniam, pakety sa nedostanú a odhaliť ďalšie problémy so sieťou.

Hlasová prevádzka

Ako už bolo spomenuté, WireShark dokáže zachytiť aj hlasovú prevádzku. Na to je vyhradené celé menu Telephony. To sa dá použiť na nájdenie problémov VoIP a ich rýchle odstránenie.

Položka VoIP hovory v menu Telephony vám umožní zobraziť uskutočnené hovory a vypočuť si ich.

Exportovanie objektov

Toto je pravdepodobne najzaujímavejšia funkcia programu. Umožňuje použiť WireShark ako zachytávač súborov prenášaných cez sieť. Ak to chcete urobiť, musíte zastaviť proces zachytávania a exportovať objekty HTTP v ponuke Súbor. V okne, ktoré sa otvorí, sa zobrazí zoznam všetkých súborov prenesených počas relácie, ktoré možno uložiť na vhodné miesto.

Konečne

Bohužiaľ bude ťažké nájsť aktuálnu verziu WireShark v ruštine na nete. Najdostupnejšia a najčastejšie používaná je v angličtine.

To isté platí pre podrobné pokyny pre WireShark v ruštine. Oficiálny od vývojára je prezentovaný v angličtine. Existuje veľa malých a rýchlych tutoriálov WireShark online pre začiatočníkov.

Pre tých, ktorí už dlho pracujú v oblasti IT, však nebude práca s programom predstavovať žiadne zvláštne ťažkosti. A skvelé príležitosti a bohatá funkčnosť rozjasnia všetky ťažkosti v štúdiu.

Stojí za zmienku, že v niektorých krajinách môže byť nezákonné používať sniffer ako WireShark.

Snímače sieťových paketov alebo sniffery boli pôvodne vyvinuté ako prostriedok na riešenie problémov so sieťou. Vedia, ako zachytiť, interpretovať a uložiť pakety prenášané cez sieť pre neskoršiu analýzu. Na jednej strane umožňuje správcom systému a technikom technickej podpory sledovať, ako sa dáta prenášajú cez sieť, diagnostikovať a opravovať vzniknuté problémy. V tomto zmysle sú paketové sniffery mocným nástrojom na diagnostiku sieťových problémov. Na druhej strane, podobne ako mnohé iné výkonné nástroje pôvodne určené na správu, sa časom začali sniffery využívať na úplne iné účely. Sniffer v rukách útočníka je skutočne dosť nebezpečný nástroj a možno ho použiť na krádež hesiel a iných dôverných informácií. Nemyslite si však, že sniffery sú nejakým magickým nástrojom, pomocou ktorého môže každý hacker ľahko zobraziť dôverné informácie prenášané cez sieť. A predtým, ako dokážeme, že nebezpečenstvo, ktoré predstavujú čuchači, nie je také veľké, ako sa často prezentuje, sa pozrime podrobnejšie na princípy ich fungovania.

Ako fungujú sniffery paketov

Ďalej v rámci tohto článku zvážime iba softvérové ​​sniffery určené pre ethernetové siete. Sniffer je program, ktorý funguje na vrstve sieťovej karty (NIC) (linková vrstva) a tajne zachytáva všetku komunikáciu. Keďže sniffery fungujú na vrstve dátového spojenia modelu OSI, nemali by hrať podľa pravidiel protokolov vyššej vrstvy. Sniffery obchádzajú mechanizmy filtrovania (adresy, porty atď.), ktoré ethernetové ovládače a zásobník TCP / IP používajú na interpretáciu údajov. Snímače paketov zachytávajú z drôtu všetko, čo k nemu prichádza. Snifferi môžu ukladať snímky v binárnom formáte a neskôr ich dešifrovať, aby odhalili informácie na vyššej úrovni skryté vo vnútri (obrázok 1).

Aby bol sniffer schopný zachytiť všetky pakety prechádzajúce cez sieťový adaptér, ovládač sieťového adaptéra musí podporovať promiskuitný režim. Práve v tomto režime prevádzky sieťového adaptéra je sniffer schopný zachytiť všetky pakety. Tento režim činnosti sieťového adaptéra sa automaticky aktivuje pri spustení snifferu alebo je nastavený manuálne príslušnými nastaveniami sniffera.

Všetka zachytená prevádzka sa posiela do dekodéra paketov, ktorý identifikuje a rozdelí pakety do príslušných úrovní hierarchie. V závislosti od schopností konkrétneho sniffera možno poskytnuté informácie o paketoch ďalej analyzovať a filtrovať neskôr.

Obmedzenia používania snifferov

Najväčšie nebezpečenstvo predstavovali snifferi v tých časoch, keď sa informácie prenášali po sieti čisto (bez šifrovania) a lokálne siete boli budované na báze koncentrátorov (hubov). Tieto dni sú však nenávratne preč a použitie snifferov na získanie prístupu k dôverným informáciám nie je jednoduchou úlohou.

Faktom je, že pri budovaní lokálnych sietí založených na rozbočovačoch existuje určité spoločné médium na prenos dát (sieťový kábel) a všetky uzly siete si vymieňajú pakety, súperiace o prístup k tomuto médiu (obr. 2), a paket odoslaný jednou sieťou. uzol sa prenáša na všetkých portoch hubu a tento paket počúvajú všetci ostatní hostitelia v sieti, ale akceptuje sa iba hostiteľ, ktorému je adresovaný. Okrem toho, ak je na jednom zo sieťových uzlov nainštalovaný sniffer paketov, môže zachytiť všetky sieťové pakety súvisiace s týmto segmentom siete (sieť tvorená rozbočovačom).

Prepínače sú inteligentnejšie zariadenia ako vysielacie uzly a izolujú sieťovú prevádzku. Prepínač pozná adresy zariadení pripojených ku každému portu a prenáša pakety iba medzi správnymi portami. To vám umožňuje zbaviť sa iných portov bez toho, aby ste im posielali každý paket, ako to robí rozbočovač. Paket odoslaný určitým sieťovým uzlom sa teda prenesie len na port prepínača, ku ktorému je pripojený príjemca paketu a všetky ostatné uzly siete nedokážu tento paket odhaliť (obr. 3).

Ak je teda sieť vybudovaná na základe prepínača, potom sniffer nainštalovaný na jednom zo sieťových počítačov dokáže zachytiť iba tie pakety vymieňané medzi týmto počítačom a inými sieťovými uzlami. V dôsledku toho, aby bolo možné zachytiť pakety, ktoré si počítač alebo server, ktorý je predmetom záujmu útočníka, vymieňa so zvyškom sieťových uzlov, je potrebné nainštalovať sniffer na tento počítač (server), čo v skutočnosti nie je jednoduché. Treba však mať na pamäti, že niektoré dávkové sniffery sa spúšťajú z príkazového riadku a nemusia mať grafické rozhranie. Takéto sniffery môžu byť v zásade inštalované a spúšťané na diaľku a neviditeľné pre používateľa.

Okrem toho by ste mali mať na pamäti, že hoci prepínače izolujú sieťovú prevádzku, všetky spravované prepínače majú funkciu presmerovania portov alebo zrkadlenia. To znamená, že port prepínača môže byť nakonfigurovaný tak, že všetky pakety prichádzajúce do iných portov prepínača sú duplikované naň. Ak je v tomto prípade k takémuto portu pripojený počítač so sledovačom paketov, môže zachytiť všetky pakety vymieňané medzi počítačmi v tomto segmente siete. Prepínač je však zvyčajne schopný nakonfigurovať iba správca siete. To, samozrejme, neznamená, že nemôže byť narušiteľom, ale správca siete má mnoho iných spôsobov, ako kontrolovať všetkých používateľov lokálnej siete a je nepravdepodobné, že vás bude špehovať takýmto sofistikovaným spôsobom.

Ďalším dôvodom, prečo sniffery už nie sú také nebezpečné ako kedysi, je ten, že najdôležitejšie údaje sú teraz šifrované. Otvorené, nešifrované služby sa z internetu rýchlo vytrácajú. Napríklad pri návšteve webových stránok sa čoraz častejšie používa protokol SSL (Secure Sockets Layer); Namiesto otvoreného FTP sa používa SFTP (Secure FTP) a pre iné služby, ktoré štandardne nepoužívajú šifrovanie, sa čoraz častejšie používajú virtuálne privátne siete (VPN).

Takže tí, ktorí sa obávajú potenciálneho zneužitia paketových snifferov, by mali mať na pamäti nasledujúce. Po prvé, aby mohli predstavovať vážnu hrozbu pre vašu sieť, musia byť sniffery umiestnené v samotnej sieti. Po druhé, dnešné šifrovacie štandardy mimoriadne sťažujú zachytávanie dôverných informácií. Preto v súčasnosti sniffery paketov postupne strácajú svoj význam ako nástroje pre hackerov, no zároveň zostávajú efektívnym a výkonným nástrojom na diagnostiku sietí. Okrem toho môžu byť sniffery úspešne použité nielen na diagnostiku a lokalizáciu problémov so sieťou, ale aj na audit bezpečnosti siete. Najmä použitie paketových analyzátorov vám umožňuje odhaliť neoprávnenú prevádzku, odhaliť a identifikovať neoprávnený softvér, identifikovať nepoužívané protokoly na ich odstránenie zo siete, generovať návštevnosť pre penetračné testy na kontrolu bezpečnostného systému, pracovať so systémami detekcie narušenia ( Intrusion Detection systém, IDS).

Prehľad softvérových dávkových snifferov

Všetky softvérové ​​sniffery možno zhruba rozdeliť do dvoch kategórií: sniffery, ktoré podporujú spustenie z príkazového riadku, a sniffery, ktoré majú grafické rozhranie. Zároveň si všimneme, že existujú sniffery, ktoré kombinujú obe tieto schopnosti. Okrem toho sa snifferi navzájom líšia v protokoloch, ktoré podporujú, v hĺbke analýzy zachytených paketov, v schopnosti konfigurovať filtre, ako aj v možnosti kompatibility s inými programami.

Okno každého sniffera s grafickým rozhraním sa zvyčajne skladá z troch oblastí. Prvý zobrazuje súhrn zachytených paketov. Táto oblasť zvyčajne zobrazuje minimum polí, konkrétne: čas zachytávania paketov; IP adresy odosielateľa a príjemcu paketu; Zdrojové a cieľové adresy MAC paketov, adresy zdrojových a cieľových portov; typ protokolu (sieťová, transportná alebo aplikačná vrstva); nejaké súhrnné informácie o zachytených údajoch. Druhá oblasť zobrazuje štatistické informácie o jednotlivom vybranom balíku a nakoniec v tretej oblasti je balík prezentovaný v hexadecimálnej alebo ASCII forme.

Takmer všetky čítačky paketov vám umožňujú analyzovať dekódované pakety (preto sa čítačky paketov nazývajú aj paketové analyzátory alebo analyzátory protokolov). Sniffer distribuuje zachytené pakety podľa vrstvy a protokolu. Niektoré sledovače paketov sú schopné rozpoznať protokol a zobraziť zachytené informácie. Tento typ informácií sa zvyčajne zobrazuje v druhej oblasti okna snímania. Napríklad každý sniffer je schopný rozpoznať protokol TCP a pokročilí snifferi sú schopní určiť, ktorá aplikácia generuje tento prenos. Väčšina analyzátorov protokolov rozpoznáva viac ako 500 rôznych protokolov a dokáže ich opísať a dekódovať podľa názvu. Čím viac informácií dokáže sniffer dekódovať a zobraziť na obrazovke, tým menej bude musieť dekódovať manuálne.

Jedným z problémov, ktorým môžu analyzátory paketov čeliť, je neschopnosť správne identifikovať protokol pomocou iného než predvoleného portu. Napríklad na zlepšenie zabezpečenia môžu byť niektoré známe aplikácie nakonfigurované na používanie iných než predvolených portov. Takže namiesto tradičného portu 80, vyhradeného pre webový server, môže byť tento server nútene prekonfigurovaný na port 8088 alebo na akýkoľvek iný. Niektoré paketové analyzátory v takejto situácii nedokážu správne určiť protokol a zobrazia len informácie o protokole nižšej vrstvy (TCP alebo UDP).

Existujú softvérové ​​sniffery, ktoré sa dodávajú so softvérovými analytickými modulmi ako zásuvné moduly alebo vstavané moduly, ktoré vám umožňujú vytvárať správy s užitočnými analytickými informáciami o zachytenej premávke.

Ďalšou charakteristikou väčšiny softvéru na sledovanie paketov je schopnosť konfigurovať filtre pred a po zachytení prevádzky. Filtre vyberajú určité pakety zo všeobecnej prevádzky podľa daného kritéria, čo vám umožňuje zbaviť sa nepotrebných informácií pri analýze prevádzky.


Táto lekcia popisuje technológie hackovania siete založené na zachytávaní sieťových paketov. Hackeri používajú takéto technológie na odpočúvanie sieťovej prevádzky s cieľom ukradnúť cenné informácie, organizovať zachytávanie údajov za účelom útoku typu man-in-the-middle, zachytávať spojenia TCP, ktoré umožňujú napríklad sfalšovať údaje a vykonávať iné rovnako zaujímavé akcie. Žiaľ, väčšina týchto útokov je v praxi realizovaná len pre unixové siete, na ktoré môžu hackeri využiť špeciálne utility aj unixové systémové nástroje. Siete Windows očividne obchádzajú hackeri a my sme nútení obmedziť sa na popis nástrojov na zachytávanie údajov pomocou programov sniffer navrhnutých na triviálne počúvanie sieťových paketov. Netreba však zanedbávať aspoň teoretický popis takýchto útokov, najmä zo strany anti-hackerov, pretože znalosť aplikovaných hackerských technológií pomôže predchádzať mnohým problémom.

Snímanie siete

Na snímanie ethernetových sietí sa zvyčajne používajú sieťové karty, ktoré sú v režime počúvania. Odpočúvanie ethernetovej siete vyžaduje, aby bol počítač s programom sniffer pripojený k segmentu siete, po ktorom sa hackerovi sprístupní všetka sieťová prevádzka odosielaná a prijímaná počítačmi v tomto segmente siete. Ešte jednoduchšie je zachytiť prevádzku rádiových sietí pomocou sprostredkovateľov bezdrôtovej siete - v tomto prípade ani nemusíte hľadať miesto na pripojenie kábla. Prípadne sa útočník môže pripojiť k telefónnej linke spájajúcej počítač s internetovým serverom a nájsť si na to vhodné miesto (telefónne linky sú zvyčajne uložené v pivniciach a iných málo navštevovaných miestach bez akejkoľvek ochrany).

Na ukážku technológie sniffovania použijeme veľmi obľúbený program sniffer SpyNet ktoré možno nájsť na mnohých webových stránkach. Oficiálna stránka programu SpyNet umiestnený na http://members.xoom.com/layrentiu2/, kde si môžete stiahnuť demo verziu programu.

Program SpyNet pozostáva z dvoch komponentov - CaptureNet a PipeNet... Program CaptureNet umožňuje zachytávať pakety prenášané cez ethernetovú sieť na úrovni siete, t.j. vo forme ethernetových rámcov. Program PipeNet Umožňuje vám zostaviť ethernetové rámce do paketov aplikačnej vrstvy, obnoviť napríklad e-mailové správy, správy HTTP (komunikácia webového servera) a ďalšie funkcie.

Bohužiaľ v demo verzii SpyNet možnosti PipeNet sú obmedzené na demo zostavenie balíka HTTP, takže nemôžeme demonštrovať, ako to funguje SpyNet plne. My si však predvedieme možnosti sieťového sniffovania. SpyNet na príklade našej experimentálnej siete prenos textového súboru z hostiteľa Meč-2000 na hostiteľa Alex-Z pomocou bežného prieskumníka Windows. Súčasne na počítači A1ex-1 spustíme program CaptureNet, ktorý zachytí prenášané pakety a umožní vám čítať obsah prenášaného súboru v ethernetových rámcoch. Na obr. 1 zobrazuje text tajnej správy v súbore secret.txt; tento text sa pokúsime nájsť v zachytených ethernetových rámcoch.

Ryža. 1. Text tajnej správy v okne Poznámkový blok

Ak chcete zachytiť ethernetové rámce, postupujte podľa týchto krokov.

Na počítači Alex-Z spustiť program CaptureNet... V zobrazenom pracovnom okne programu vyberte príkaz ponuky Zachytiť * Štart(Capture * Start) a spustite proces zachytávania sieťových rámcov.

Pomocou programu Windows Prieskumník skopírujte súbor security.txt z počítača Meč-2000 na A1ex-3.

Po prenose súboru secret.txt vyberte príkaz ponuky Zachytiť * Zastaviť(Capture * Stop) a zastavte proces odpočúvania.

Zachytené ethernetové rámce sa zobrazia v pravej časti pracovného okna programu. CaptureNet(obr. 2), pričom každý riadok v hornom zozname predstavuje ethernetový rámec a pod zoznamom sa zobrazuje obsah zvoleného rámca.

Ryža. 2. Ethernetový rámec obsahuje text tajnej správy

Po prezretí zoznamu zachytených snímok môžeme ľahko nájsť ten, ktorý obsahuje text Toto je veľmi veľké tajomstvo, ktoré sme preniesli (Toto je veľmi veľké tajomstvo).

Zdôraznime, že ide o najjednoduchší príklad, kedy bola zaznamenaná všetka zachytená sieťová prevádzka. Program CaptureNet umožňuje zachytávať pakety odosielané prostredníctvom špecifických protokolov a na špecifické hostiteľské porty, vyberať správy so špecifickým obsahom a zhromažďovať zachytené dáta do súboru. Technika vykonávania takýchto akcií je jednoduchá a môžete ju zvládnuť pomocou systému pomoci programu. SpyNet.

Okrem primitívneho odpočúvania majú hackeri k dispozícii aj sofistikovanejšie nástroje na odpočúvanie dát. Nižšie je uvedený stručný prehľad takýchto metód, aj keď v teoretickom aspekte. Dôvodom je, že pre siete Windows je praktická implementácia útokov na odpočúvanie údajov extrémne obmedzená a sada spoľahlivých nástrojov na útoky na odpočúvanie je pomerne vzácna.

Metódy na zachytenie sieťovej prevádzky

Sniffering siete pomocou sieťových snifferov, ako je ten vyššie CaptureNet, je prvým a najjednoduchším spôsobom zachytávania údajov. okrem SpyNet Na sniffovanie siete sa používa množstvo nástrojov, pôvodne vyvinutých za účelom analýzy sieťovej aktivity, diagnostiky sietí, výberu prevádzky podľa špecifikovaných kritérií a iných úloh správy siete. Príkladom takéhoto programu je tcpdump (http://www.tcpdump.org), ktorý vám umožňuje zaznamenávať sieťovú prevádzku do špeciálneho denníka pre neskoršiu analýzu.

Na ochranu pred odpočúvaním siete sa používajú špeciálne programy, napr. AntiSniff (http://www.securitysoftwaretech.com/antisniff), ktoré sú schopné identifikovať počítače v sieti, ktoré sú zaneprázdnené počúvaním sieťovej prevádzky. Antisnifer programy na riešenie svojich problémov používajú špeciálny znak prítomnosti odpočúvacích zariadení v sieti - sieťová karta počítača sniffer musí byť v špeciálnom režime počúvania. V režime počúvania reagujú sieťové počítače špeciálnym spôsobom na IP datagramy odoslané na adresu testovaného hostiteľa. Napríklad počúvajúci hostitelia zvyčajne spracovávajú všetku prichádzajúcu prevádzku, nie sú obmedzené na datagramy odoslané na adresu hostiteľa. Existujú aj ďalšie príznaky podozrivého správania hostiteľa, ktoré program dokáže rozpoznať. AntiSniff.

Odpočúvanie je nepochybne veľmi užitočné z pohľadu narušiteľa, pretože vám umožňuje získať veľa užitočných informácií - heslá prenášané cez sieť, adresy sieťových počítačov, dôverné údaje, listy atď. Jednoduché odpočúvanie však bráni hackerovi zasahovať do sieťovej komunikácie medzi dvoma hostiteľmi s cieľom modifikovať a manipulovať s údajmi. Na vyriešenie takéhoto problému je potrebná sofistikovanejšia technológia.

Spoof ARP požiadavky

Na zachytenie a ukončenie procesu sieťovej komunikácie medzi dvoma hostiteľmi A a B môže útočník sfalšovať IP adresy interagujúcich hostiteľov svojou vlastnou IP adresou odoslaním falošných správ ARP (Address Resolution Protocol) hostiteľom A a B. Viac o ARP sa dozviete v Prílohe D, ktorá popisuje, ako rozlíšiť (preložiť) IP adresu hostiteľa na adresu počítača (MAC adresu) pevne pripojenú k NIC hostiteľa. Pozrime sa, ako môže hacker použiť ARP na zachytenie sieťovej komunikácie medzi hostiteľmi A a B.

Na zachytenie sieťovej prevádzky medzi hostiteľmi A a B hacker podsunie svoju IP adresu na týchto hostiteľoch, aby A a B použili túto falošnú IP adresu pri výmene správ. Aby hacker podvrhol svoju IP adresu, vykoná nasledujúce operácie.

Útočník napríklad pomocou príkazu určí MAC adresy hostiteľov A a B nbtstat z balíka W2RK.

Útočník posiela správy na identifikované MAC adresy hostiteľov A a B, čo sú falošné ARP odpovede na požiadavky na preloženie IP adries hostiteľov na MAC adresy počítačov. Hostiteľ A je informovaný, že IP adresa hostiteľa B zodpovedá MAC adrese počítača útočníka; hostiteľovi B sa povie, že IP adresa hostiteľa A sa tiež zhoduje s MAC adresou útočníka.

Hostitelia A a B zadávajú prijaté MAC adresy do svojich vyrovnávacích pamätí ARP a potom ich používajú na vzájomné posielanie správ. Keďže IP adresy A a B zodpovedajú MAC adrese útočníkovho počítača, hostitelia A a B komunikujú bez podozrenia cez sprostredkovateľa schopného robiť si so svojimi správami, čo chcú.

Na obranu proti takýmto útokom musia správcovia siete udržiavať databázu s mapovacou tabuľkou MAC adries a IP adries ich počítačov v sieti. Ďalej pomocou špeciálneho softvéru, napríklad nástroja arpwatch (ftp://ftp.ee.lbl.gov/arpwatch-2.lab.tar.gz), môžete pravidelne skúmať sieť a identifikovať nezrovnalosti.

V sieťach UNIX je možné tento druh falošného ARP útoku implementovať pomocou systémových nástrojov na monitorovanie a riadenie sieťovej prevádzky, ako napr. arpredirect... Bohužiaľ, takéto spoľahlivé nástroje zjavne nie sú implementované v sieťach Windows 2000 / XP. Napríklad na webovej stránke NTsecurity ( http://www.ntsecurity.nu) si môžete stiahnuť pomôcku GrabitAII, prezentovaný ako prostriedok na presmerovanie prevádzky medzi hostiteľmi siete. Ide však o elementárnu kontrolu funkčnosti utility GrabitAII ukazuje, že k úplnému úspechu pri implementácii svojich funkcií má ešte ďaleko.

Falošné smerovanie

Na zachytenie sieťovej prevádzky môže útočník sfalšovať skutočnú IP adresu sieťového smerovača svojou vlastnou IP adresou, napríklad pomocou falošných správ ICMP Redirect. Hostiteľ A musí podľa RFC-1122 interpretovať prijatú Redirect správu ako odpoveď na datagram odoslaný inému hostiteľovi, napríklad B. Hostiteľ A určuje svoje akcie na Redirect správe na základe obsahu prijatej Redirect správy, a ak je v Redirect from A to B na novej trase nastavené presmerovanie Datagramu, hostiteľ A to urobí.

Na vykonanie falošného smerovania musí útočník poznať niektoré podrobnosti o organizácii lokálnej siete, v ktorej sa nachádza hostiteľ A, najmä IP adresu smerovača, cez ktorý sa prevádzka odosiela z hostiteľa A do B. S týmto vedomím útočník vygeneruje IP datagram, v ktorom je IP - adresa odosielateľa definovaná ako IP adresa smerovača a príjemcom je hostiteľ A. Datagram tiež obsahuje správu ICMP Redirect s poľom adresy nového smerovača nastaveným ako IP adresa počítač útočníka. Po prijatí takejto správy hostiteľ A odošle všetky správy na adresu IP počítača útočníka.

Na ochranu pred takýmto útokom zakážte (napríklad pomocou brány firewall) na hostiteľovi A spracovanie správ ICMP Redirect a príkaz tracert(v systéme Unix je to príkaz tracerout). Tieto nástroje dokážu nájsť ďalšiu cestu, ktorá sa objavila v lokálnej sieti a ktorá nebola poskytnutá počas inštalácie, ak je, samozrejme, správca siete ostražitý.

Vyššie uvedené príklady odpočúvania (ktorým možnosti útočníkov nie sú ani zďaleka obmedzené) presviedčajú o potrebe chrániť dáta prenášané cez sieť, ak dáta obsahujú dôverné informácie. Jediným spôsobom ochrany pred odpočúvaním sieťovej prevádzky je použitie programov, ktoré implementujú kryptografické algoritmy a šifrovacie protokoly a zabraňujú prezradeniu a nahradeniu utajovaných skutočností. Na vyriešenie takýchto problémov poskytuje kryptografia prostriedky na šifrovanie, podpisovanie a overovanie pravosti správ prenášaných cez zabezpečené protokoly.

Virtuálne privátne siete (VPN) poskytujú praktické implementácie pre všetky kryptografické metódy zabezpečenia komunikácie popísané v kapitole 4. Stručný prehľad princípov a metód kryptografickej ochrany nájdete v prílohe E a v podrobnom popise kryptografických ochrán poskytovaných aplikáciou. PGP Desktop Security (http://www.pgp.com).

Zneužitie pripojenia TCP

Najsofistikovanejším útokom na zachytenie sieťovej prevádzky je TCP hijacking, keď hacker preruší aktuálnu komunikačnú reláciu s hostiteľom vygenerovaním a odoslaním paketov TCP napadnutému hostiteľovi. Ďalej, využitím schopností protokolu TCP na obnovenie prerušeného TCP spojenia hacker zachytí prerušenú komunikačnú reláciu a pokračuje v nej namiesto odpojeného klienta.

Bolo vyvinutých niekoľko účinných nástrojov na vykonávanie útokov na ukradnutie pripojenia TCP, ale všetky sú implementované pre platformu Unix a tieto nástroje sú prezentované iba v zdrojovom kóde na webových stránkach. Preto sú pre nás, ako presvedčených odborníkov v ušľachtilej veci hackingu, útoky zachytením TCP spojenia málo užitočné. (Tí, ktorí chcú porozumieť programovému kódu niekoho iného, ​​sa môžu obrátiť na stránku http://www.cri.cz/~kra/index.html kde si môžete stiahnuť zdrojový kód známej utility na zachytenie TCP spojenia Hunt od Pavla Krauza).

Napriek nedostatku praktických nástrojov nemôžeme ignorovať takú zaujímavú tému, akou je odpočúvanie TCP spojení a pozastaviť sa nad niektorými aspektmi takýchto útokov. Niektoré informácie o štruktúre paketu TCP a poradí, v akom sa TCP spojenia vytvárajú, sú uvedené v prílohe D tejto knihy, ale tu sa zameriame na túto otázku – čo presne umožňuje hackerom vykonávať útoky zachytávaním spojení TCP? Pozrime sa na túto tému podrobnejšie, pričom sa spoliehame najmä na diskusiu v a.

TCP (Transmission Control Protocol) je jedným zo základných protokolov transportnej vrstvy OSI, ktorý umožňuje nadviazanie logických spojení cez virtuálny komunikačný kanál. Cez tento kanál sa prenášajú a prijímajú pakety s registráciou ich sekvencie, riadi sa tok paketov, organizuje sa opakovaný prenos poškodených paketov a na konci relácie sa preruší komunikačný kanál. TCP je jediný základný protokol v rodine TCP/IP, ktorý má pokročilý systém identifikácie správ a pripojení.

Na identifikáciu paketu TCP sú v hlavičke TCP dva 32-bitové identifikátory, ktoré tiež fungujú ako počítadlo paketov, nazývané poradové číslo a číslo potvrdenia. Bude nás zaujímať aj ďalšie pole TCP paketu, nazývané riadiace bity. Toto 6-bitové pole obsahuje nasledujúce riadiace bity (v poradí zľava doprava):

URG - príznak naliehavosti;

ACK - príznak potvrdenia;

PSH - niesť vlajku;

RST - príznak obnovenia spojenia;

SYN - príznak synchronizácie;

FIN - príznak ukončenia spojenia.

Pozrime sa, ako vytvoriť pripojenie TCP.

1. Ak hostiteľ A potrebuje vytvoriť TCP spojenie s hostiteľom B, hostiteľ A odošle hostiteľovi B nasledujúcu správu:

A -> B: SYN, ISSa

To znamená, že správa odoslaná hostiteľom A má nastavený príznak SYN (Synchronize sequence number) a pole poradového čísla je nastavené na 32-bitové počiatočné poradové číslo (ISSa).

2. Ako odpoveď na požiadavku prijatú od hostiteľa A hostiteľ B odpovie správou, v ktorej je nastavený bit SYN a nastavený bit ACK. V poli poradového čísla hostiteľ B nastaví svoju počiatočnú hodnotu počítadla - ISSb; pole s číslom potvrdenia bude obsahovať hodnotu ISSa prijatú v prvom pakete od hostiteľa A, zvýšenú o jednu. Hostiteľ B teda odpovie nasledujúcou správou:

B -> A: SYN, ACK, ISSb, ACK (ISSa + 1)

3. Nakoniec hostiteľ A odošle správu hostiteľovi B, v ktorej je nastavený bit: OPÝTAŤ SA; poradové pole obsahuje hodnotu ISSa + 1; pole s číslom potvrdenia obsahuje hodnotu ISSb + 1... Potom TCP spojenie medzi hostiteľmi A a V považovaný za zavedený:

A -> B: ACK, ISSa + 1, ACK (ISSb + 1)

4. Teraz hostiteľ A môže odosielať dátové pakety hostiteľovi V cez novovytvorený virtuálny TCP kanál:

A -> B: ACK, ISSa + 1, ACK (ISSb + 1); ÚDAJE

Tu ÚDAJE označuje údaje.

Z vyššie uvedeného algoritmu na vytvorenie TCP spojenia je zrejmé, že jedinými identifikátormi TCP účastníkov a TCP spojení sú dva 32-bitové parametre poradového čísla a potvrdzovacieho čísla - ISSa a ISSb... Ak sa teda hackerovi podarí zistiť aktuálne hodnoty polí ISSa a ISSb, potom mu nič nebude brániť vo vytvorení falošného TCP paketu. To znamená, že hackerovi stačí nájsť aktuálne hodnoty parametrov. ISSa a ISSb TCP paket pre dané TCP spojenie, pošlite paket z ľubovoľného hostiteľa na internete v mene klienta pre dané TCP spojenie a tento paket bude akceptovaný ako platný!

Nebezpečenstvo takéhoto spoofingu TCP paketov je dôležité aj preto, že vysokoúrovňové protokoly FTP a TELNET sú implementované na základe protokolu TCP a identifikácia FTP klientov a TELNET paketov je úplne založená na protokole TCP.

Okrem toho, keďže protokoly FTP a TELNET nekontrolujú IP adresy odosielateľov správ, po prijatí falošného paketu servery FTP alebo TELNET pošlú správu s odpoveďou na IP adresu hackerského hostiteľa špecifikovaného vo falošnom pakete. Potom začne hackerský hostiteľ pracovať so serverom FTP alebo TELNET zo svojej IP adresy, ale s právami legálne pripojeného používateľa, ktorý naopak stratí spojenie so serverom v dôsledku nesúladu v počítadlách.

Na uskutočnenie vyššie opísaného útoku je teda nevyhnutnou a postačujúcou podmienkou znalosť dvoch súčasných 32-bitových parametrov ISSa a ISSb identifikácia TCP spojenia. Uvažujme o možných spôsoboch ich získania. V prípade, že je hackerský hostiteľ pripojený k napadnutému segmentu siete, úlohou je získať hodnoty ISSa a ISSb je triviálny a rieši sa analýzou sieťovej prevádzky. Preto by sa malo jasne chápať, že protokol TCP v zásade umožňuje chrániť pripojenie iba vtedy, ak útočník nemôže zachytiť správy prenášané cez toto pripojenie, to znamená iba vtedy, ak je hackerský hostiteľ pripojený k segmentu siete, ktorý je odlišný od segment TCP spojenia účastníka.

Preto sú pre hackera najviac zaujímavé medzisegmentové útoky, keď sa útočník a jeho cieľ nachádzajú v rôznych segmentoch siete. V tomto prípade je úlohou získať hodnoty ISSa a ISSb nie je triviálne. Na vyriešenie tohto problému boli teraz vynájdené iba dva spôsoby.

Matematická predpoveď počiatočnej hodnoty parametrov TCP spojenia extrapoláciou predchádzajúcich hodnôt ISSa a ISSb.

Používanie zraniteľností na identifikáciu účastníkov pripojenia TCP na serveroch Unix rsh.

Prvý problém je vyriešený hĺbkovými štúdiami implementácie protokolu TCP v rôznych operačných systémoch a má teraz čisto teoretickú hodnotu. Druhý problém je vyriešený využitím zraniteľností unixového systému na identifikáciu dôveryhodných hostiteľov. (Dôveryhodné vzhľadom na daného hostiteľa A zavolal hostiteľovi siete V ktorého používateľ sa môže pripojiť k hostiteľovi Ažiadna autentifikácia s hostiteľskou službou r A). Manipuláciou s parametrami TCP paketov sa hacker môže pokúsiť vydávať za dôveryhodného hostiteľa a zachytiť TCP spojenie s napadnutým hostiteľom.

To všetko je veľmi zaujímavé, ale praktické výsledky tohto druhu výskumu zatiaľ nie sú viditeľné. Preto odporúčame každému, kto sa chce ponoriť do tejto témy, aby si pozrel knihu, odkiaľ sú vo všeobecnosti uvedené informácie prevzaté.

Záver

Odpočúvanie sieťových údajov je najefektívnejšia metóda sieťového hackingu, ktorá umožňuje hackerovi získať prakticky všetky informácie kolujúce v sieti. Najväčší praktický rozvoj získalo čuchanie, t.j. počúvanie sietí; nemožno však ignorovať metódy zachytávania sieťových údajov, vykonávané zásahom do normálneho fungovania siete za účelom presmerovania prevádzky na hackerského hostiteľa, najmä metódy zachytávania TCP spojení. V praxi však posledné menované metódy ešte neprešli dostatočným vývojom a je potrebné ich zdokonaľovať.

Antihacker by mal vedieť, že jedinou záchranou pred zachytávaním dát je šifrovanie, t.j. kryptografické metódy ochrany. Pri odosielaní správy cez sieť treba vopred predpokladať, že káblový systém siete je absolútne zraniteľný a každý hacker, ktorý sa k sieti pripojí, bude môcť z nej získať všetky prenášané tajné správy. Na vyriešenie tohto problému existujú dve technológie – vytvorenie siete VPN a šifrovanie samotných správ. Všetky tieto úlohy sa dajú veľmi ľahko vyriešiť pomocou softvérového balíka. PGP Desktop Security(jeho popis nájdete napr. v).