www.hakin9.org
70
Hakin9 Nr 6/2004
O
br
on
a
www.hakin9.org
71
Hakin9 Nr 6/2004
Wykrywanie sniffingu
W
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.
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.