Przydatne linki
- dr inż. Maciej Sobieraj - Rozdział 6: Sieci VLAN
- dr inż. Maciej Sobieraj - Rozdział 2: Wprowadzenie do sieci przełączanych
- dr inż. Maciej Sobieraj - Wykład 6: Uwierzytelnianie, autoryzacja i konta użytkowników
- NetworkChuck - you NEED to learn Port Security…….RIGHT NOW!! // FREE CCNA // EP 14
- NetworkChuck - how Hackers SNiFF (capture) network traffic // MiTM attack
- David Bombal - iPhone and Android WiFi Man-in-the-middle attack // PYTHON Scapy scripts for attacking networks
- David Bombal - VLANs: Am I a joke to you? // Python VLAN hacking.
- David Bombal - They said this doesn't work 🤣 Hacking networks with VLAN hopping and Python
- David Bombal - Dynamic ARP Inspection: Stop Kali Linux ARP poisoning attacks
- David Bombal - DHCP Snooping: Stop Kali DHCP Hacks and MITM
- David Bombal - Hacking Spanning Tree with Python, Scapy and Kali Linux (Ep 2) // STP Root Bridge attack! 😀
- David Bombal - DHCP Starvation (DoS) Attack // Python Scapy Red Team Script
- David Bombal - Scapy [GitHub]
Spis treści
- Bezpieczeństwo sieci LAN
Istnieją różne rodzaje ataków różniących się celami i sposobami ich przeprowadzania. Najczęściej można się spotkać z takimi elementami ataku jak:
- odmowa usługi - ataki typu DoS (denial of service) polegają na uniemożliwieniu lub utrudnieniu dostępu do zasobów sieciowych normalnym użytkownikom. Atak ten może przyjmować formę ataku typu DDoS (distributed denial of service), który polega na przytłoczeniu celu ruchem generowanym z wielu urządzeń jednocześnie (np. poprzez botnet)
- naruszenie danych - ten element występuje kiedy poufne informacje użytkowników lub organizacji dostaną się w niepowołane ręce, zostaną przechwycone i/lub zmodyfikowane przez przestępców
- złośliwe oprogramowanie - malware (malicious software) to niepożądane oprogramowanie zaprojektowane w celu spowodowania szkód w systemie lub przechwyceniu poufnych danych, takich jak loginy i hasła. Może przybierać różne formy, przykładowo:
- spyware - oprogramowanie szpiegujące mające na celu przechwycenie poufnych informacji, np. loginów i haseł. Może przeglądać pliki na urządzeniu, przechwytywać naciśnięte klawisze czy wykonywać zrzuty ekranu
- RAT (remote access trojan) - daje atakującemu dostęp (lub nawet pełną kontrolę) nad zainfekowanym systemem. Przestępca może wykonywać na urządzeniu polecenia systemowe, zmieniać jego konfiguracje lub zainstalować kolejne złośliwe oprogramowanie
- ransomware - rodzaj malware, który uniemożliwia użytkownikowi dostęp do jego plików poprzez ich zaszyfrowanie. Atakujący żąda od ofiary zapłaty (okupu, najczęściej w kryptowalucie, np. Bitcoin) w zamian za odszyfrowanie jej plików. Przykładem takiego programu jest WannaCry
Technologia VPN zapewnia bezpieczny zdalny dostęp do sieci osobom znajdującym się poza jej obrębem. Ruch jest tunelowany i szyfrowany, dzięki czemu może być bezpiecznie przenoszony przez sieci publiczne takie jak Internet.
Zapora ogniowa nowej generacji (next generation firewall) oferuje funkcje takie jak:
- stanowa inspekcja pakietów
- kontrola aplikacji
- system zapogiegania włamaniom nowej generacji (NGIPS, next generation intrusion prevention system)
- ochrona przed złośliwym oprogramowaniem
- filtrowanie adresów URL
Urządzenia kontroli dostępu do sieci (network access control) mogą zarządzać zasadami dostępu dla wielu użytkowników i różnych typów urządzeń. Obejmują usługi:
- uwierzytelnienia (kto może uzyskać dostęp)
- autoryzacji (do czego może uzyskać dostęp)
- ewidencjonowania (co rzeczywiście zrobił)
Przykładem urządzenia NAC jest Cisco Identity Services Engine.
Zagrożenia mogą pochodzić nie tylko z zewnątrz, ale również z wnętrza sieci. Co jeśli ktoś (obcy lub znajomy) przyniesie i podłączy do naszej sieci zainfekowane urządzenie, np. laptop? Malware może zacząć panoszyć się po całej sieci próbując zarazić więcej urządzeń wyrządzając coraz więcej szkód i kradnąc poufne informacje. Dlatego, oprócz ochrony dostępu do sieci, ważna jest ochrona punktów końcowych.
Antywirus to oprogramowanie must-have. Skanuje pliki, monitoruje procesy czy nawet połączenia sieciowe (w ramach zapory ogniowej opartej na hoście) w poszukiwaniu złośliwego oprogramowania, takiego jak wirusy czy konie trojańskie.
Przykładami oprogramowania antywirusowego są: Windows Defender, Cisco Advanced Malware Protection, ESET NOD32 Antivirus, Bitdefender, Kaspersky, McAfee, Avast, czy ClamAV, antywirus open-source.
Poczta elektroniczna może być wykorzystana w nieetycznych celach jako próba uzyskania nieuprawnionego dostępu do czyichś zasobów. Oprócz zwyczajnego spamu, wiadomość e-mail może być atakiem socjotechnicznym znanym jako phishing. Taki mail może zawierać link przekierowujący do złośliwej strony lub załącznik zawierający malware.
Cisco SE monitoruje protokoły e-mail i jest ciągle aktualizowane w czasie rzeczywistym z informacjami od Cisco Talos, aby chronić pocztę elektroniczną.
Zapewnia takie funkcje jak:
- unieszkodliwianie malware
- odrzucanie wiadomości z podejrzanymi linkami
- blokowanie dostępu do zainfekowanych punktów
- blokowanie zagrożeń
- szyfrowanie wiadomości
Wiele zagrożeń pochodzi z Internetu - złośliwe strony internetowe, malware.
Cisco SWA zapewnia kontrolę nad dostępem do Internetu. Może filtrować adresy URL na podstawie ich czarnej listy, skanowanć w poszukiwaniu malware, szyfrować ruch czy filtrować aplikacje.
Kontrola dostępu jest bardzo istotna. Ważne jest umożliwienie uzyskania dostępu do określonych zasobów tylko uprawnionym użytkownikom.
Jest to najbardziej popularna forma uwierzytelnienia. Systemy operacyjne (Windows, Linux, macOS, Android, Cisco IOS) i wiele apliakacji webowych przechowuje hasła lokalnie w systemie. Tylko osoba znająca hasło może uzyskać dostęp do systemu.
AAA jest bardziej kompleksowym rozwiązaniem. Konta użytkowników są przechowywane na serwerze AAA (np. RADIUS lub TACACS) i operacje uwierzytelnienia (authentication), autoryzacji (authorization) i ewidencjonowania (accounting) są wykonywane w oparciu o komunikację z tym serwerem.
Przykładowo, zabezpieczenie sieci Wi-Fi WPA2 Enterprise wykorzystuje serwer RADIUS w celu uwierzytelnienia użytkowników zamiast współdzielonego hasła. Kiedy użytkownik próbuje połączyć się z siecią, podaje swój login i hasło. Następnie router konsultuje się z serwerem AAA w celu sprawdzania, czy podane dane są prawidłowe. Jeśli tak - zezwala użytkownikowi na dostęp do sieci.
Autoryzacja kontroluje to, co użytkownicy mogą robić w systemie, do czego mają dostęp a do czego nie. Serwer AAA utrzymuje zestaw reguł, które opisują uprawnienia użytkowników.
Serwer AAA gromadzi dane użytkownika i tworzy dotyczące jego aktywności raporty. Może zbierać takie informacje jak czas rozpoczęcia i zakończenia sesji, wykonane polecenia itp. Te dane stanowią dowód, co użytkownik zrobił w systemie.
Standard IEEE 802.1X to protokół kontroli dostępu oparty na portach urządzenia.
Gdy klient (suplikant) zostaje podłączony do portu przełącznika (wystawcy uwierzytelnienia), ten żąda od niego informacji identyfikacyjnych i kontaktuje się z serwerem uwierzytelniającym w celu weryfikacji klienta. Serwer decyduje, czy urządzenie jest upoważnione do dostępu do sieci czy nie.
Warstwa łącza danych modelu OSI jest najbardziej podatna na ataki. Co więcej, jeśli zagrożona jest warstwa druga, to zagrożone są również wszystkie warstwy powyżej.
W celu poprawy bezpieczeństwa należy:
- używać z bezpiecznych wariantów protokołów takich jak HTTPS (HTTP Secure)
- nigdy nie korzystać z Telnet do zdalnego dostępu, ponieważ nie szyfruje on ruchu, przez co hasła dostępu do takich urządzeń jak routery czy przełączniki mogą zostać przechwycone. Zamiast Telnetu powinno się używać SSH
- zaimplementować wiele sieci VLAN, w tym osobną sieć VLAN dla zarządzania
Rozmiar tablicy MAC przełącznika jest ograniczony. W momencie gdy zostanie zapełniona, nowe odebrane ramki traktuje jako nieznany unicast i rozsyła przez wszystkie porty (należące do tej samej sieci VLAN) - innymi słowy, zachowuje się jak hub/koncentrator.
Intruz w sieci może zalać przełącznik fałszywymi adresami MAC przepełniając jego tablicę, co pozwoli mu przechwytywać dane z sieci.
Przykładowym narzędziem do przeprowadzenia takiego ataku jest macof
$ macof -i eth0 -n 1000
Fałszowanie adresów mam miejsce wtedy, gdy intruz używa adresu IP lub adresu MAC innego urządzenia (lub losowego adresu).
Gdy napastnik wyśle ramkę z adresem MAC ofiary, przełącznik zaktualizuje wpis w tablicy dla tego adresu MAC, przyporządkując mu numer portu, do którego podłączony jest napastnik i będzie omyłkowo wysyłać ramki do atakującego zamiast do ofiary.
Zasadniczo, jeśli nie został skonfigurowany routing między sieciami VLAN, nie można komunikować się z urządzeniami w innych sieciach VLAN. Atak z przeskokami VLAN polega właśnie na uzyskaniu dostępu do urządzeń w innych sieciach VLAN, do których atakujący nie powinien mieć dostępu, bez wykorzystywania routingu w warstwie 3.
Jeśli port przełącznika, do którego podłączył się intruz, jest skonfigurowany w trybie dynamic auto
lub dynamic desirable
, atakujący może utworzyć z tym portem łącze trunk. W ten sposób będzie w stanie wysyłać i odbierać ruch z różnych sieci VLAN.
Jeśli atakujący podłączy urządzenie do portu przełącznika należącego do sieci VLAN, która jest siecią VLAN natywną, może wykorzystać podwójne znakowanie VLAN, aby wysłać pakiet do innej sieci VLAN niż ta, w której się znajduje.
W tym celu tworzy ramkę która zawiera dwa znaczniki VLAN:
- zewnętrzny ze znacznikiem VLAN natywnego, do którego należy urządzenie intruza
- wewnętrzny ze znacznikiem VLAN, do którego należy urządzenie docelowe
Gdy taka ramka dociera do portu przełącznika, ten widzi, że jest przeznaczona dla VLAN natywnego, więc usuwa znacznik (zewnętrzny) VLAN, ponieważ natywny VLAN jest przeznaczony dla ruchu nieoznakowanego i przekazuje ramkę dalej. Kolejny przełącznik nie ma pojęcia, że odebrana ramka była przeznaczona dla VLAN natywnego i odczytuje znacznik (wewnętrzny) VLAN i wysyła ramkę do tej sieci VLAN. W końcu ramka trafia do urządzenia docelowego.
Przykładowe skrypty demonstrujące atak na sieci VLAN można znaleźć na GitHubie Davida Bombala:
Atak DHCP Starvation polega na przeprowadzeniu ataku DoS, poprzez zalanie serwera DHCP pakietami DHCPDISCOVER z fałszywymi adresami MAC. Serwer DHCP każdemu adresowi MAC zarezerwuje adres IP ze swojej puli. Atakujący będzie wysyłał fałszywe pakiety tak długo, aż adresy w puli serwera DHCP wyczerpią się (wszystkie zostaną zarezerwowane dla fałszywych adresów MAC), przez co użytkownicy nie będą mogli otrzymać adresów IP i tym samym zostaną pozbawieni dostępu do sieci.
Przykładowy skrypt demonstrujący ten typ ataku można odnaleźć na GitHubie Davida Bombala - DHCP Exhaustion
DHCP Spoofing polega na podszyciu się przez atakującego pod serwer DHCP. Intruz konfiguruje swoje urządzenie jako serwer DHCP (Rogue DHCP Server) i wysyła oferty DHCP klientom w sieci. Podaje im fałszywe informacje, np. niewłaściwy serwer DNS lub inną bramę domyślną, dzięki czemu może doprowadzić do ataku typu man-in-the-middle przechwytując ruch ofiary lub przekierowując ją na fałszywe strony WWW.
Atak ARP Spoofing lub inaczej ARP cache poiosning polega na wysyłaniu gratisowych odpowiedzi ARP, z adresami IP ofiar i adresem MAC atakującego, co pozwala na przeprowadzenie ataku man-in-the-middle.
Przykładowo, do hosta ofiary wysyłamy wiadomość ARP reply, że jesteśmy bramą domyślną, a do bramy domyślnej, że jesteśmy hostem ofiary.
Popularnym narzędziem do przeprowadzania tego ataku jest Ettercap, ale przykładowy skrypt demonstrujący atak zatruwania ARP można znaleźć na GitHubie Davida Bombala - ARP Man-in-the-middle
Intruz może zmanipulować protokół STP w taki sposób, aby stać się mostem głównym. Aby to osiągnąć, atakujący wysyła pakiety BPDU wymuszając ponowne obliczanie drzewa rozpinającego i zmianę topologi. Ustawia swój priorytet na jak najniższy, aby jego urządzenie zostało wybrane na most główny, dzięki czemu może przechwytywać cały ruch z domeny przełączanej.
Przykładowy skrypt demonstrujący atak na STP z podszyciem się pod most główny również można znaleźć na GitHubie Davida Bombala - Spanning Tree Root attack