background image

www.hakin9.org

70

Hakin9 Nr 6/2004

O

br

on

a

www.hakin9.org

71

Hakin9 Nr 6/2004

Wykrywanie sniffingu

odróżnieniu  od  koncentratora  (hu-
ba),  przełącznik  (switch)  przesyła 
ramki  tylko  pomiędzy  odpowiedni-

mi portami – tymi, do których przyłączeni są 
odpowiednio  nadawca  i  odbiorca  wiadomo-
ści. Decyzje o przesłaniu nadchodzącej por-
cji danych do właściwego portu podejmowa-
ne  są  na  podstawie  przechowywanej  w  pa-
mięci  switcha  tablicy  adresów  sprzętowych 
MAC powiązanych z numerami jego portów. 
Switch przez cały czas swojej pracy uczy się 
(na  podstawie  adresu  nadawcy  umieszczo-
nego w przychodzących doń ramkach) adre-
sów sprzętowych urządzeń przyłączanych do 
poszczególnych portów.

Ze  względu  na  taki  sposób  pracy  swit-

cha,  tradycyjne  metody  podsłuchu  nie  mo-
gą  być  wykorzystywane  w  sieciach  prze-
łączanych  –  ramki  nie  dochodzą  do  innych 
użytkowników.  Stosuje  się  w  nich  dwie  inne 
metody:  MAC-flooding  i  ARP-spoofing.  Za-
pewne każdy administrator prędzej czy póź-
niej będzie miał do czynienia ze script kiddie
uparcie próbującym przechwytywać ruch sie-
ciowy  za  pomocą  tych  metod  (patrz  Ramka 
MAC-flooding i ARP-spoofing). Takie węsze-
nie jest jednak możliwe do wykrycia. Zobacz-

Wykrywanie sniffingu 

w sieciach przełączanych

Daniel Kaczorowski, Maciej Szmit

Podsłuch w sieciach 

przełączanych prowadzi się 

głównie dwiema metodami: 

MAC-flooding oraz ARP-

spoofing. Jednak 

– w przeciwieństwie do 

klasycznego sniffingu w sieciach 

zbudowanych w oparciu 

o koncentratory – oba ataki są 

atakami aktywnymi. Detekcja 

tych metod zwykle nie jest 

prosta, choć możliwa.

my, jak tego dokonać – zaczniemy od prost-
szego przypadku, czyli MAC-floodingu.

Uwaga – powódź!

MAC-Flooding  polega  na  zalaniu  sieci  ram-
kami  ze  sfałszowanymi  adresami  źródłowy-
mi.  Zazwyczaj  ramki  te  kierowane  są  przez 
intruza  na  adres  rozgłoszeniowy  lub  adres 
nie  istniejący  w  sieci.  Ramki  takie  dotrą  do 
naszej  karty  w  obu  przypadkach  –  niezale-
żnie od tego, czy atak będzie udany czy nie 
(jeśli agresor skieruje je do naszego sąsiada, 
to dotrą one do nas wyłącznie w przypadku 
skutecznego zalania przełącznika). Jeżeli za-
tem ramki odbierane przez naszą kartę będą 
posiadały adres nadawcy, którego w rzeczy-

Z artykułu nauczysz się...

•   w jaki sposób intruzi prowadzą podsłuch w sie-

ciach przełączanych,

•   jak wykryć sniffing w systemach Windows.

Powinieneś wiedzieć...

•   powinieneś  znać  podstawy  programowania 

w języku C dla Windows.

background image

www.hakin9.org

70

Hakin9 Nr 6/2004

O

br

on

a

www.hakin9.org

71

Hakin9 Nr 6/2004

Wykrywanie sniffingu

wistości nie ma w naszej sieci, bę-
dzie to oznaczało, że ktoś próbuje 
zalać (ang. flood) przełącznik. Po-
zostaje tylko sprawdzić, jakie adre-
sy  MAC  rzeczywiście  znajdują  się 
w naszej sieci.

Może  się  też  zdarzyć,  że  w  sie-

ci  pojawi  się  ramka  zaadresowana 
do  komputera  nieznanego  przełącz-
nikowi  –  wówczas  switch  zachowa 
się  jak  zwyczajny  koncentrator  i  bę-
dzie  tę  ramkę  wysyłał  na  wszystkie 
swoje  porty.  Taka  sytuacja  nie  po-
winna  jednak  mieć  miejsca  –  prze-
cież  zanim  ktoś  wyśle  ramkę  do  ja-
kiegoś  komputera,  zapyta  go  o  ad-
res fizyczny (w przypadku stosu pro-
tokołów  TCP/IP  za  pomocą  broad-
castowego  zapytania  ARP-request),
a  ten  odpowie  odpowiednią  ramką 
ARP-reply,  z  której  przełącznik  na-
uczy się lokalizacji komputera o tym-
że adresie MAC. Tak więc jeśli nasz 
interfejs  sieciowy  odbierze  ramkę  (a 

co gorsza – wiele ramek) nie zaadre-
sowaną do nas, to możemy podejrze-
wać, że nasz przełącznik jest zalany, 
czyli że mamy do czynienia z udanym 
atakiem typu MAC-Flooding.

Wykrycie 

ataku 

prowadzo-

nego  z  wykorzystaniem  metody 
MAC-flooding  polega  na  przeana-
lizowaniu  wszystkich  ramek  docie-
rających  do  naszej  karty  sieciowej. 
W nieatakowanej sieci przełączanej 
powinny  do  niej  trafiać  ramki  roz-
głoszeniowe  (broadcast),  grupowe 
(multicast)  oraz  ramki  zaadreso-
wane  do  naszego  komputera.  Każ-
dy administrator powinien mieć go-
tową  odpowiednią  listę  adresów  fi-
zycznych  komputerów  w  sieci,  ale 
zapominalskim  przydałby  się    pro-
gram  pytający  (przy  użyciu  proto-
kołu ARP) wszystkie adresy IP sie-
ci  lokalnej  o  ich  adresy  fizyczne, 
a  następnie  analizujący  ruch  przy-
chodzący do naszej karty.

Do  wykrywania  MAC-floodingu 

posłuży  nam  program  MACMani-
pulator 
(zamieszczony na CD dołą-
czonym do numeru), przeznaczone 
dla środowiska Windows darmowe 
narzędzie  realizujące  opisane  za-
dania.  Na  dodatek  MACManipula-
tor
 umożliwia przeprowadzenie sy-
mulowanego  ataku  typu  MAC-flo-
oding  
  każdy  może  zbadać,  czy 
używane  przezeń  przełączniki  są 
podatne  na  taką  agresję.  Narzę-
dzie wymaga zainstalowanej biblio-
teki WinPcap (patrz Ramka W Sie-
ci
)  –  w  zestawie  jest  jednak  dołą-
czona jej wersja 3.0. W celu prze-
prowadzenia  testu  wykrywające-
go atak należy wybrać podprogram 
AntyMACflooding.  Główne  okno 
podprogramu  przedstawione  jest 
na Rysunku 1. 

Przystępując  do  testu  musimy 

wybrać kartę sieciową (jeśli w kom-
puterze  występuje  więcej  niż  jedna 
karta), przez którą będzie prowadzo-
na analiza. Wyboru dokonujemy po-
przez zaznaczenie jednego z pól li-
sty, w której są widoczne identyfika-
tory  wszystkich  dostępnych  w  sys-
temie  interfejsów  sieciowych.  Użyt-
kownik  ma  także  możliwość  poda-
nia czasu zbierania danych (czyli ad-
resów fizycznych MAC) komputerów 
znajdujących  się  w  sieci  oraz  cza-
su  analizowania  odbieranych  przez 
kartę  ramek  –  dłuższy  czas  bada-
nia  zwiększa  dokładność  pracy  na-
rzędzia.

Po  zebraniu  informacji  o  adre-

sach fizycznych program rozpocznie 
przechwytywanie  i  analizę  nadcho-
dzących ramek. Po upłynięciu okre-
ślonego wcześniej czasu wyświetla-
na  jest  statystyka.  Odbierane  ramki 
przyporządkowywane  są  do  odpo-
wiednich grup:

•   ramek rozgłoszeniowych (broad-

cast), 

•   ramek grupowych (multicast), 
•   ramek adresowanych do konkret-

nej karty sieciowej,

•   ramek  adresowanych  do  innych 

użytkowników.

Ramki z adresem fizycznym nie na-
leżącym  do  żadnego  z  komputerów 

MAC-flooding i ARP-spoofing

Przez krótki czas po włączeniu lub zresetowaniu switcha ramki przesyłane są na 
wszystkie  porty  (podobnie  jak  ma  to  miejsce  w  przypadku  huba).  Później,  gdy 
switch zapamięta już wszystkie powiązania adresów fizycznych z portami, ramki 
będą trafiały wyłącznie do portu powiązanego z odpowiednim adresem. Kiedy prze-
pniemy jakieś urządzenie z jednego portu do innego, nie będzie ono mogło odbie-
rać ramek, dopóki samo nie wyśle jakiejś informacji, na podstawie której switch zo-
rientuje się, że jest przyłączone do innego portu.

MAC-flooding  polega  na  zalewaniu  przełącznika  bardzo  dużą  liczbą  ramek 

z różnymi, nieistniejącymi w sieci źródłowymi adresami MAC, tak aby zapełnić pa-
mięć  przeznaczoną  na  przypisanie  adresów  do  poszczególnych  portów.  Zalany 
przełącznik zaczyna zachowywać się jak zwykły koncentrator – przesyła otrzyma-
ne ramki na wszystkie swoje porty. Metoda ta jest skuteczna tylko w odniesieniu do 
tańszych przełączników, w których pamięć na odwzorowania MAC-numer portu jest 
mała i wspólna dla wszystkich portów.

ARP-spoofing jest metodą bardziej skuteczną, nie atakuje bowiem przełącz-

nika, ale samą ofiarę, która wysyła informacje pod niewłaściwy adres fizyczny. 
Atak ten polega na podszywaniu się agresora pod jeden z komputerów w sieci 
lokalnej (często, z oczywistych względów, pod bramę do Internetu) poprzez wy-
syłanie sfałszowanych pakietów ARP-Reply zawierających podrobione odwzoro-
wanie (czyli powiązanie adresów IP z adresami MAC), które informuje ofiarę, że 
fizyczny adres owej bramy to adres w rzeczywistości należący do maszyny agre-
sora. W ten sposób to, co powinno trafić do bramy, trafia do intruza, który – aby 
atak pozostał niezauważony – powinien przesłać otrzymane pakiety do prawdzi-
wej bramy.

Warto zauważyć, że odwzorowania ARP przechowywane w pamięci pod-

ręcznej (ARP-cache) switcha uaktualniane są przez system nawet w przypad-
ku, gdy odbierze on pakiet ARP-reply. Dzieje się tak nawet mimo tego, że switch 
nie  wysyłał  zapytania  ARP-request.  Znacznie  ułatwia  to  działanie  włamywa-
czom.

Dokładne informacje na temat obu rodzajów ataków można znaleźć w Artyku-

le Sniffing w sieciach przełączanych dostępnym w wersji elektronicznej na dołączo-
nym Hakin9 Live.