Technika pozwalająca na podsłuch: SNIFFING
W prostych sieciach o topologii gwiazdy, komputery połączone są razem przy pomocy koncentratora (hub).
Koncentratory rozsyłają wszystkie pakiety do wszystkich swoich portów - impulsy elektryczne, które przekładają się na wszystkie pakiety docierają do wszystkich komputerów.
Adresowanie jest oparte na adresach fizycznych kart sieciowych (MAC). Zwykle karty Ethernet odczytują tylko pakiety zaadresowane do nich i ignorują wszelkie pozostałe. Można to zmienić przełączając kartę sieciową w tryb nasłuchiwania.
Podczas normalnej pracy karta sieciowa Ethernet nie pracuje w trybie nasłuchiwania, co oznacza, że przyjmuje tylko informacje zaadresowane do niej (z jej adresem MAC).
Aby podsłuchać nie tylko pakiety zaadresowane do danej karty sieciowej, należy przełączyć tę kartę w tryb nasłuchiwania. W Linuksie można to zrobić przy pomocy 'ifconfig' (parametr promisc).
Tryb ten jest automatycznie włączany gdy używamy oprogramowania do rejestracji i analizy pakietów.
Istnieje kilka rodzajów narzędzi przeznaczonych do podsłuchiwania ruchu
w sieci.
Oferują następujące funkcjonalności:
Narzędzia do podsłuchu (sniffery) nie muszą koniecznie być wykorzystywane w złej wierze. Mogą również służyć do wykrywania nieprawidłowości czy sytuacji niepokojących zaistniałych w sieci, a także do pomiarów i analizy działania sieci.
Większość narzędzi pochodzi z systemów uniksowych i jest oprogramowaniem typu Open Source.
tcpdump - narzędzie tekstowe, nie oferuje analizy, pozwala na przechwycenie ruchu sieciowego i późniejsze go analizowanie.
Oto dwa fragmenty działania tcpdump, gdy wywołano polecenie:
wget http://rainbow.mimuw.edu.pl/SO/PUBLIC-SO/2004-05/Zadania/zadanie1.txt
15:58:07.792957 83.28.137.149.32931 > 193.0.96.128.http: P 1:149(148) ack 1 win 5808 <nop,nop,timestamp 1257471 3022040030> (DF) 0x0000 4500 00c8 2e57 4000 4006 0da7 531c 8995 E....W@.@...S... 0x0010 c100 6080 80a3 0050 02f7 01af 6385 222a ..`....P....c."* 0x0020 8018 16b0 a2a4 0000 0101 080a 0013 2fff ............../. 0x0030 b420 abde 4745 5420 2f53 4f2f 5055 424c ....GET./SO/PUBL 0x0040 4943 2d53 4f2f 3230 3034 2d30 352f 5a61 IC-SO/2004-05/Za 0x0050 6461 6e69 612f 7a61 6461 6e69 6531 2e74 dania/zadanie1.t 0x0060 7874 2048 5454 502f 312e 300d 0a55 7365 xt.HTTP/1.0..Use 0x0070 722d 4167 656e 743a 2057 6765 742f 312e r-Agent:.Wget/1. 0x0080 382e 320d 0a48 6f73 743a 2072 6169 6e62 8.2..Host:.rainb 0x0090 6f77 2e6d 696d 7577 2e65 6475 2e70 6c0d ow.mimuw.edu.pl. 0x00a0 0a41 6363 6570 743a 202a 2f2a 0d0a 436f .Accept:.*/*..Co 0x00b0 6e6e 6563 7469 6f6e 3a20 4b65 6570 2d41 nnection:.Keep-A 0x00c0 6c69 7665 0d0a 0d0a live....
....
15:58:07.968289 193.0.96.128.http > 83.28.137.149.32931: . 317:1757(1440) ack 149 win 5792 <nop,nop,timestamp 3022040103 1257471> (DF) 0x0000 4500 05d4 8e26 4000 3906 afcb c100 6080 E....&@.9.....`. 0x0010 531c 8995 0050 80a3 6385 2366 02f7 0243 S....P..c.#f...C 0x0020 8010 16a0 90e9 0000 0101 080a b420 ac27 ...............' 0x0030 0013 2fff 5a61 6461 6e69 6520 3120 2873 ../.Zadanie.1.(s 0x0040 6b72 7970 7429 0a2d 2d2d 2d2d 2d2d 2d2d krypt).--------- 0x0050 2d2d 2d2d 2d2d 2d2d 2d0a 0a57 737a 7973 ---------..Wszys 0x0060 746b 6965 207a 6164 616e 6961 2064 6f20 tkie.zadania.do. 0x0070 7465 6a20 706f 7279 2028 7072 7a79 6e61 tej.pory.(przyna 0x0080 6a6d 6e69 656a 2077 2074 656f 7269 6929 jmniej.w.teorii) 0x0090 2062 796c 7920 7072 7a65 7379 6c61 6e65 .byly.przesylane
- Ethereal - narzędzie graficzne (m.in. dla Linux'a i Windows)
Poniżej podsłuchana sesja telnet:
... zanim zaczniemy podsłuchiwanie, wybieramy kilka parametrów:
Poniżej odtworzona sesja telnet (funkcja: Follow TCP Stream):
Pakiet dsniff obsługuje wiele protokołów. Wykorzystuje fakt, że poprzez sieć hasła są przesyłane po określonym ciągu znaków (np. USER, PASS):
Poniżej podsłuchane hasła telnet i ftp: