[#] Sniffing

( Ostatnio zmieniony czw., 12/06/2008 - 13:49 )
 

Dsniff to pakiet narzędzi przeznaczonych do penetrowania sieci lokalnych.

Skład pakietu Dsniff:

Arpspoof
Przekierowuje pakiety wysyłane przez nadawcę do adresata tak, ze po drodze przechodzą one przez komputer intruza. Dzięki temu możliwe jest sniffowanie w sieciach z przełącznikami.
Dnsspoof
Wysyła sfałszowane odpowiedzi na zapytania DNS (przydatne przy atakach typu man in the middle).
Dsniff
Sniffer wyposażony w możliwość interpretowania wielu popularnych protokółów, takich jak FTP, Telnet, SMTP, HTTP, POP, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, IRC, AIM, ICQ, Napster, PostgreSOL, Microsoft SMB
Filesnarf
Narzędzie zapisujące pliki przesyłane przy użyciu protokołu NFS.
Macof
Narządzie służące do przepełniania pamięci switcha (MAC flooding). Powoduje to, że switch zaczyna działać jak zwykły hub – co ułatwia sniffowanie.
Mailsnarf
Zapisuje e-maile przesyłane przy użyciu protokołów POP i SMTP.
Msgsnarf
Zapisuje treści wiadomości przesyłanych przy użyciu komunikatorów internetowych i IRC-a.
Tcpkill
Zamyka połączenia TCP.
tcpnice
Zwalnia (zmniejsza szybkość) połączenia TCP.
urlsnarf
Wypisuje adresy URL znalezione w sniffowanym ruchu HTTP.
webspy
Przekazuje znalezione adresy URL do lokalnej przeglądarki Netscape, pozwalając na śledzenie (w czasie rzeczywistym) stron, po których surfuje ofiara.
sshmitm
Program będący serwerem pośredniczącym dla połączeń SSH (jednocześnie je snifuje).
webmitm
Program będący serwerem pośredniczącym dla połączeń HTTP i HTTPS przekierowanych przez dnsspoof (jednocześnie je snifuje).

Poniższy artykuł udostępniony został jako lokalna kopia, której oryginał znajduje się na stronie: http://rainbow.mimuw.edu.pl/…niffing.html

Podsłuchiwanie

1) Sniffer – co to i do czego może się przydać?

Sniffer to narzędzie służące do przechwytywania i analizowania danych przepływających w sieciach Ethernet.

  1. Jako narzędzie administratora sieci pozwala na:
  • analizę wydajności sieci i diagnozowanie związanych z nią problemów – np. lokalizowanie źródeł ataków DoS (Denial of Service), lokalizowanie komputerów zarażonych robakami rodziny Blaster, czy Sasser, itp.
  • wykrywanie prób włamań, zakłócania pracy sieci i innych źródeł zagrożenia
  • wykrywanie i analizę problemów w sieci – np. dlaczego komputer A nie może się komunikować z komputerem B, mimo że oba są teoretycznie poprawnie skonfigurowane
  1. Jako narzędzie programisty pozwala na:
  • analizę protokołów, których autor nie raczył udokumentować (Reverse Engineering)
  1. Jako narzędzie włamywacza pozwala na:
  • przechwytywanie tresci i haseł przesyłanych otwartym tekstem, w nieszyfrowanych protokołach:
  • telnet i rlogin
  • http
  • ftp
  • smtp, pop3, imap
  • SNMPv1
  • gadu-gadu
  • przechwytywanie treści i haseł przesyłanych za pomocą niektórych szyfrowanych protokołów, np. ssh1
  • przejmowanie, zamykanie, kontrolowanie nawiązanych połączeń
  • modyfikowanie przeslyłanych danych

2) Jak działa?

W normalnych warunkach karta sieciowa przyjmuje jedynie ramki adresowane na jej adres sprzętowy (MAC) lub na adres rozgłoszeniowy sieci ethernet (ff:ff:ff:ff:­ff:ff). Jednakże praktycznie wszystkie sprzedawane obecnie karty można przełączyć w tzw. tryb rozwiązły lub bezładny (promiscuous) – karta przyjmuje wtedy wszystkie pakiety transmitowane w sieci ethernet. To wystarczy by za pomocą gniazd surowych lub biblioteki takej jak np. libpcap (http://www.tcpdump.org/), czy winpcap (http://winpcap.polito.it/) dostać się do zawartości pakietów adresowanych do innego komputera.

3) Gdzie zdobyć?

4) Jak zabezpieczyć sieć i komputery?

1) Zastosować przełączany Ethernet

wymienić koncentratory (huby) na przełączniki (switche). Przełącznik jest wieloportowym urządzeniem pracującym w warstwie drugiej modelu OSI, którego zadaniem jest przekazywanie ramek ethernetowych między kilkoma fragmentami sieci. Przełączniki utrzymują tablicę wiązań adres fizyczny (MAC) port, dzięki której mogą przekazywać pakiet tylko do tego fragmentu sieci, w ktorym znajduje się adresat. Dzięki temu karta w trybie rozwiązłym „widzi“ tylko pakiety adresowanej do niej i wysyłane na adres rozgłoszeniowy. Jednak jest to mało skuteczne rozwiązanie – w pewnych okolicznościach można je na wiele sposobów ominąć:

  • Switch Jamming, MAC Flooding – tablica wiązań MAC port ma ograniczony rozmiar, jej przepełnienie sprawia, że nowe wiąznia nie są dopisywane, a pakiety są przekazywane do wszystkich portów poza tym, z którego przełącznik otrzymał pakiet. Wystarczy więc wygenerować dostatecznie dużo ramek z losowymi fizycznymi adresami źródłowymi, np. za pomocą narzędzia takiego jak np. macof z pakietu dsniff, by sprawić, że przełącznik będzie się zachowywał jak koncentrator. Droższe, zarządzalne przełączniki posiadające statyczne tablice adresów MAC są odporne na tego typu atak, pod warunkiem, że są poprawnie skonfigurowane.
  • MAC Spoofing – zamiast generować ramki z losowym adresem MAC, generujemy ramki z adresem źródłowym jakiegoś innego komputera. Istenieje duża szansa, że będziemy dostawać ramki adresowane do tego komputera, lub pod wpływem dużej liczby konfliktów przełącznik przełączy się w tryb fail-open, w którym działa jak koncentrator. Również na ten typ ataku są odporne zarządzalne przełączniki z ustawioną statyczną tablicą adresów MAC.
  • ARP Spoofing – można wykorzystać niedoskonałości protokołu ARP. Komputer A o adresie IP 192.168.1.1, chcąc komunikować się z komputerem B o adresie IP 192.168.1.2 musi poznać adres sprzętowy karty sieciowej komputera B. W tym celu wysyła na adres rozgłoszeniowy sieci pakiet ARP Request z ustawionym swoim adresem źródłowym MAC oraz IP i adresem docelowym IP 192.168.1.1. Kom­puter B odpowiada komputerowi A na to zapytanie pakietem ARP Reply wysłanym na adres MAC karty komputera A. W tym pakiecie zawarte są adresy IP oraz MAC komputera B. Komputer A zapamiętuje tę parę adresów w pamięci podręcznej ARP i może zacząć komunikację z komputerem B. Jeśli zdąrzymy wysłać odpowiedź ze swoim adresem MAC zanim zrobi to komputer B, to komputer A będzie wysyłał pakiety do nas, myślać że adresatem jest B.
  • ARP Poisoning – komputer B otrzymując pakiet ARP Request spodziewa się połączenia z komputera A, więc żeby nie wysyłać zbędnych pakietów ARP, zapisuje parę MAC, IP z pakietu ARP Request w swojej pamięci podręcznej ARP. Można to wykorzystać i wysyłać wiele zapytań ARP Request ze swoim adresem MAC, ale adresem IP komputera A, modyfikując w ten sposób pamięci podręczne ARP komputerów w sieci i przejmując tym samym komunikację przeznaczoną dla komputera A. Jest wiele gotowych narzędzi wykorzustujących ARP Spoofing/ARP Poisoning, w tym bardzo rozbudowane sniffery, np. ethereal, czy ettercap. Prostym i skutecznym zabezpieczeniem przed tymi metodami jest ustawienie statycznych wpisów pamięci podręcznej ARP dla komputerów w naszej sieci ethernet – zazwyczaj wystarczy taki wpis dla bramy sieci. Pod Linuksem można go ustawić za pomocą polecenia: arp -s -i <interfejs> <ip_bramy> <mac_bramy>
  • ICMP Redirect, ICMP Router Advertisement – Protokół IRDP (ICMP Router Discovery Protocol) został stworzony z myślą o zapewnieniu nieprzerwanej pracy sieci lokalnej po awarii domyślnej bramki przez automatyczne przełączenie wychodzących pakietów na inne routery. Korzysta on z trzech rodzajów pakietów protokołu ICMP: Redirect, Router Advertisement oraz Router Selection. Protokół IRDP musi być zaimplementowany i włączony zarówno na routerach, jak i na stacjach roboczych. W skonfigurowanym środowisku maszyny w sieci lokalnej otrzymują od routerów pakiety ICMP Router Advertisement i na postawie wartości pola numeru preferencyjnego wybierają najlepszą bramkę domyślną. Jeśli router wybrany jako bramka domyślna na podstawie tablicy routowania stwierdzi, że lepsza droga do konkretnego hosta prowadzi przez inny router, to wyśle datagram ICMP Redirect nakazujący zmienić hostowi bramkę domyślną. Protokół IRDP spełnia swoje zadania, nie ma jednak możliwości weryfikacji datagramów ICMP i ślepo wierzy w ich prawdziwość. Odpowiednio spreparowane datagramy ICMP pozwolą na podszycie się pod bramkę domyślną i przechwycenie całego ruchu wychodzącego. Pod Linuksem można się przed tym zabezpieczyć wyłączając protokół IRDP np. za pomocą polecenia: echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects

2) Wykrywać

  • ARP Spoofing/ARP Poisoning – można wykywać za pomocą programu arpwatch. Wiele systemów detekcji włamań (IDS – Intrusion Detection System) posiada umiejętność wykrywania nadużyć protokołu ARP, np. Snort. Potrafią to również niektóre sniffery, np. ettercap.
  • można próbować określić który z komputerów w sieci ma kartę przełączoną w tryb rozwiązły:
  • metodą „ping“ – wysyłamy pakiet ICMP Echo Request na adres „podejrzanego“ komputera, ale z innym adresem MAC. Jeśli ma interfejs w trybie rozwiązłym, to prawdopodobnie odpowie, mimo złego MACa.
  • metodą „arp“ – jak wyżej, tylko wysyłamy unicastowy ARP Request (na adres MAC komputera, a nie na adres rozgłoszeniowy).
  • metodą „dns“ – wiele snifferów automatycznie próbuje uzyskiwać adresy symboliczne znalezionych adresów IP z odwrotnego serwera DNS. Można wysłać wiele pakietów ICMP echo request na nieistniejące adresy i obserwować czy jakis komputer będzie probówał odczytać ich adresy symboliczne z serwera DNS.
  • można skorzystać z gotowego narzędzia, np. antisniff

3) Używać szyfrowanych protokołów i bezpiecznej autentykacji

  • ssh zamiast telneta
  • SSL
  • PGP, gpg, S/MIME
  • TLS
  • SRP
  • SMBv2/CIFS
  • Kerberos v5

Przydatne linki

http://rainbow.mimuw.edu.pl/…g7/index.htm

http://www.monkey.org/…song/dsniff/

Twoja ocena: Brak Średnio: 5 (2 głosy)

Dodaj nową odpowiedź

Informacja:

Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich, mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Upewnij się, że twoja wypowiedź nie godzi w niczyje mienie.

  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <strong> <blockquote> <code>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

Łapirobot
Proszę odpowiedzieć
1
d
H
V
6
d
L
T
A
y
Enter the code without spaces and pay attention to upper/lower case.