Cisco CyberOps Associate - Ataki na przedsiębiorstwo
1. IP został zaprojektowany jako protokół bezpołączeniowy warstwy 3. Zapewnia on niezbędne funkcje do dostarczenia pakietu od hosta źródłowego do hosta docelowego przez połączony system sieci. Protokół nie został zaprojektowany do śledzenia i zarządzania przepływem pakietów. Te funkcje, jeśli są wymagane, są wykonywane głównie przez TCP na warstwie 4.
IP nie podejmuje żadnych starań, aby zweryfikować, czy adres IP źródłowy zawarty w pakiecie rzeczywiście pochodził z tego źródła. Z tego powodu, aktorzy zagrożeń mogą wysyłać pakiety używając sfałszowanego adresu IP źródłowego. Ponadto, aktorzy zagrożeń mogą manipulować innymi polami w nagłówku IP, aby przeprowadzić swoje ataki.
2. Budowa datagramu IPv4:
Pole nagłówka IPv4 | Opis |
---|---|
Wersja | Zawiera 4-bitową wartość binarną ustawioną na 0100, która identyfikuje to jako pakiet IPv4. |
Długość nagłówka internetowego | 4-bitowe pole zawierające długość nagłówka IP. Minimalna długość nagłówka IP wynosi 20 bajtów. |
Zróżnicowane usługi lub DiffServ (DS) | Dawniej nazywane polem Typ usługi (ToS), pole DS to 8-bitowe pole używane do określania priorytetu każdego pakietu. Sześć najbardziej znaczących bitów pola DiffServ to punkt kodowy zróżnicowanych usług (DSCP). Ostatnie dwa bity to bity powiadomienia o wyraźnym przeciążeniu (ECN). |
Całkowita długość | Określa długość pakietu IP, w tym nagłówek IP i dane użytkownika. Pole całkowitej długości ma 2 bajty, więc maksymalny rozmiar pakietu IP wynosi 65 535 bajtów, jednak pakiety są w praktyce znacznie mniejsze. |
Identyfikacja, flaga i przesunięcie fragmentu | Gdy pakiet IP przemieszcza się przez Internet, może musieć przejść trasę, która nie jest w stanie obsłużyć rozmiaru pakietu. Pakiet zostanie podzielony, lub sfragmentowany, na mniejsze pakiety i później złożony. Te pola są używane do fragmentacji i składania pakietów. |
Czas do życia (TTL) | Zawiera 8-bitową wartość binarną, która jest używana do ograniczania czasu życia pakietu. Nadawca pakietu ustawia początkową wartość TTL, a jest ona zmniejszana o jeden za każdym razem, gdy pakiet jest przetwarzany przez router. Jeśli pole TTL zmniejszy się do zera, router odrzuca pakiet i wysyła wiadomość Protokołu sterowania wiadomościami internetowymi (ICMP) Czas przekroczony do adresu IP źródłowego. |
Protokół | Pole jest używane do identyfikacji protokołu następnego poziomu. Ta 8-bitowa wartość binarna wskazuje typ ładunku danych, który pakiet przekazuje, co umożliwia warstwie sieciowej przekazanie danych do odpowiedniego protokołu wyższej warstwy. Powszechne wartości to ICMP (1), TCP (6) i UDP (17). |
Suma kontrolna nagłówka | Wartość, która jest obliczana na podstawie zawartości nagłówka IP. Używane do określenia, czy podczas transmisji wprowadzono jakiekolwiek błędy. |
Adres IPv4 źródłowy | Zawiera 32-bitową wartość binarną, która reprezentuje adres IPv4 źródłowy pakietu. Adres IPv4 źródłowy jest zawsze adresem unicast. |
Adres docelowy IPv4 | Zawiera 32-bitową wartość binarną, która reprezentuje adres docelowy IPv4 pakietu. |
Opcje i dopełnienie | Jest to pole, które ma długość od 0 do wielokrotności 32 bitów. Jeśli wartości opcji nie są wielokrotnością 32 bitów, dodaje się zera lub dopełnia, aby zapewnić, że to pole zawiera wielokrotność 32 bitów. |
Pole nagłówka IPv6 | Opis |
---|---|
Wersja | To pole zawiera 4-bitową wartość binarną ustawioną na 0110, która identyfikuje to jako pakiet IPv6. |
Klasa ruchu | To 8-bitowe pole jest odpowiednikiem pola Zróżnicowane usługi (DS) w IPv4. |
Etykieta przepływu | To 20-bitowe pole sugeruje, że wszystkie pakiety z tą samą etykietą przepływu otrzymują ten sam rodzaj obsługi przez routery. |
Długość ładunku | To 16-bitowe pole wskazuje długość części danych lub ładunku pakietu IPv6. |
Następny nagłówek | To 8-bitowe pole jest odpowiednikiem pola Protokół w IPv4. Wskazuje typ ładunku danych, który pakiet przekazuje, co umożliwia warstwie sieciowej przekazanie danych do odpowiedniego protokołu wyższej warstwy. |
Limit skoków | To 8-bitowe pole zastępuje pole TTL w IPv4. Ta wartość jest zmniejszana o wartość 1 przez każdy router, który przekazuje pakiet. Gdy licznik osiągnie 0, pakiet jest odrzucany, a wiadomość ICMPv6 Czas przekroczony jest przekazywana do hosta wysyłającego, wskazując, że pakiet nie dotarł do miejsca przeznaczenia, ponieważ przekroczono limit skoków. |
Adres źródłowy IPv6 | To 128-bitowe pole identyfikuje adres IPv6 hosta wysyłającego. |
Adres docelowy IPv6 | To 128-bitowe pole identyfikuje adres IPv6 hosta odbierającego. |
Ataki IP | Opis |
---|---|
Ataki ICMP | Aktorzy zagrożeń używają pakietów echo protokołu sterowania wiadomościami internetowymi (ICMP) (pingi) do odkrywania podsieci i hostów w chronionej sieci, generowania ataków typu DoS i modyfikowania tabel routingu hostów. |
Ataki typu Denial-of-Service (DoS) | Aktorzy zagrożeń próbują uniemożliwić prawidłowym użytkownikom dostęp do informacji lub usług. |
Ataki typu Distributed Denial-of-Service (DDoS) | Podobne do ataku DoS, ale cechuje się jednoczesnym, skoordynowanym atakiem z wielu maszyn źródłowych. |
Ataki polegające na podszywaniu się pod adresy | Aktorzy zagrożeń podszywają się pod adres IP źródłowy w celu przeprowadzenia ślepego podszywania się lub nieślepego podszywania się. |
Atak typu Man-in-the-middle (MiTM) | Aktorzy zagrożeń umieszczają się między źródłem a celem, aby transparentnie monitorować, przechwytywać i kontrolować komunikację. Mogą po prostu podsłuchiwać, sprawdzając przechwycone pakiety, lub modyfikować pakiety i przekazywać je do ich pierwotnego miejsca przeznaczenia. |
Przejęcie sesji | Aktorzy zagrożeń uzyskują dostęp do fizycznej sieci, a następnie używają ataku MiTM do przejęcia sesji. |
Aktorzy zagrożeń używają ICMP do ataków rozpoznawczych i skanujących. Umożliwia im to przeprowadzanie ataków zbierających informacje w celu zmapowania topologii sieci, odkrycia, które hosty są aktywne (osiągalne), identyfikacji systemu operacyjnego hosta (fingerprinting OS) i określenia stanu zapory ogniowej.
Aktorzy zagrożeń używają również ICMP do ataków DoS i DDoS.
Wiadomości ICMP interesujące z perspektywy hackera.
Wiadomość ICMP | Opis |
---|---|
Żądanie i odpowiedź echa ICMP | Są używane do weryfikacji hosta i ataków DoS. |
ICMP nieosiągalny | Jest używany do ataków rozpoznawczych i skanujących sieć. |
Odpowiedź maski ICMP | Jest używana do mapowania wewnętrznej sieci IP. |
Przekierowania ICMP | Są używane do zwabienia hosta docelowego do wysyłania całego ruchu przez skompromitowane urządzenie i stworzenia ataku MiTM. |
Odkrywanie routera ICMP | Jest używane do wstrzykiwania fałszywych wpisów tras do tabeli routingu hosta docelowego. |
- Amplifikacja - Aktor zagrożeń przekazuje wiadomości żądania echa ICMP do wielu hostów. Te wiadomości zawierają adres IP źródłowy ofiary.
- Refleksja - Wszystkie te hosty odpowiadają na sfałszowany adres IP ofiary, aby go przeciążyć.
Obecnie używane są nowsze formy ataków amplifikacji i refleksji, takie jak ataki refleksji i amplifikacji oparte na DNS oraz ataki amplifikacji protokołu czasu sieciowego (NTP).
Aktorzy zagrożeń używają również ataków wyczerpujących zasoby. Te ataki zużywają zasoby hosta docelowego, aby go albo zepsuć, albo zużyć zasoby sieci.
7. Ataki polegające na podszywaniu się pod adresy IP występują, gdy aktor zagrożeń tworzy pakiety z fałszywymi informacjami o adresie IP źródła, aby ukryć tożsamość nadawcy lub podszyć się pod innego prawowitego użytkownika. Aktor zagrożeń może wtedy uzyskać dostęp do inaczej niedostępnych danych lub obejść konfiguracje bezpieczeństwa. Podszywanie się jest zwykle włączane do innego ataku, takiego jak atak Smurf.
Ataki podszywania się mogą być nieślepe lub ślepe:
- Nieślepe podszywanie się - Aktor zagrożeń może zobaczyć ruch, który jest wysyłany między hostem a celem. Aktor zagrożeń używa nieślepego podszywania się do inspekcji pakietu odpowiedzi od ofiary docelowej. Nieślepe podszywanie się określa stan zapory ogniowej i przewidywanie numeru sekwencyjnego. Może również przejąć autoryzowaną sesję. Ślepe podszywanie się - Aktor zagrożeń nie może zobaczyć ruchu, który jest wysyłany między hostem a celem.
- Ślepe podszywanie się jest używane w atakach DoS. Ataki polegające na podszywaniu się pod adresy MAC są używane, gdy aktorzy zagrożeń mają dostęp do wewnętrznej sieci. Aktorzy zagrożeń zmieniają adres MAC swojego hosta, aby dopasować go do innego znanego adresu MAC hosta docelowego, jak pokazano na rysunku. Atakujący host wysyła wtedy ramkę przez całą sieć z nowo skonfigurowanym adresem MAC. Gdy przełącznik odbiera ramkę, sprawdza źródłowy adres MAC.
Przełącznik nadpisuje bieżący wpis w tabeli CAM i przypisuje adres MAC do nowego portu. Następnie przekazuje ramki przeznaczone dla hosta docelowego do hosta atakującego.
Podszywanie się pod aplikację lub usługę to kolejny przykład podszywania się. Aktor zagrożeń może podłączyć złośliwy serwer DHCP, aby stworzyć warunek MiTM.
8. Nagłówek TCP:
URG - Znaczące pole wskaźnika pilnego ACK - Znaczące pole potwierdzenia PSH - Funkcja push RST - Resetuj połączenie SYN - Synchronizuj numery sekwencyjne FIN - Brak więcej danych od nadawcy
- Niezawodna dostawa - TCP zawiera potwierdzenia, aby gwarantować dostawę, zamiast polegać na protokołach wyższej warstwy do wykrywania i rozwiązywania błędów. Jeśli potwierdzenie nie zostanie otrzymane w odpowiednim czasie, nadawca ponownie transmituje dane. Wymaganie potwierdzeń otrzymanych danych może powodować znaczne opóźnienia. Przykłady protokołów warstwy aplikacji, które korzystają z niezawodności TCP, to HTTP, SSL/TLS, FTP, transfer stref DNS i inne.
- Kontrola przepływu - TCP implementuje kontrolę przepływu, aby rozwiązać ten problem. Zamiast potwierdzać jeden segment na raz, wiele segmentów może być potwierdzonych za pomocą jednego segmentu potwierdzenia.
- Komunikacja stanowa - Komunikacja stanowa TCP między dwoma stronami zachodzi podczas trójstronnego uścisku dłoni TCP. Przed przesłaniem danych za pomocą TCP, trójstronny uścisk dłoni otwiera połączenie TCP, jak pokazano na rysunku. Jeśli obie strony zgadzają się na połączenie TCP, dane mogą być wysyłane i odbierane przez obie strony za pomocą TCP.
Aktor zagrożeń wysyła wiele żądań SYN do serwera sieciowego. Serwer sieciowy odpowiada na każde żądanie SYN za pomocą SYN-ACK i czeka na zakończenie trójstronnego uścisku dłoni. Aktor zagrożeń nie odpowiada na SYN-ACK. Prawidłowy użytkownik nie może uzyskać dostępu do serwera sieciowego, ponieważ serwer sieciowy ma zbyt wiele półotwartych połączeń TCP. Atak TCP Reset
11. Atak "TCP Reset" może być używany do zakończenia komunikacji TCP między dwoma hostami. Rysunek pokazuje, jak TCP używa czterokierunkowej wymiany do zamknięcia połączenia TCP za pomocą pary segmentów FIN i ACK od każdego punktu końcowego TCP. Połączenie TCP kończy się, gdy otrzyma bit RST. Jest to gwałtowny sposób na zerwanie połączenia TCP i poinformowanie hosta odbierającego o natychmiastowym zaprzestaniu korzystania z połączenia TCP. Aktor zagrożeń mógłby przeprowadzić atak TCP reset i wysłać sfałszowany pakiet zawierający TCP RST do jednego lub obu punktów końcowych.
Zakończenie sesji TCP wykorzystuje następujący proces wymiany czterokierunkowej:
Gdy klient nie ma już więcej danych do wysłania w strumieniu, wysyła segment z ustawioną flagą FIN. Serwer wysyła ACK, aby potwierdzić odbiór FIN w celu zakończenia sesji od klienta do serwera. Serwer wysyła FIN do klienta, aby zakończyć sesję od serwera do klienta. Klient odpowiada ACK, aby potwierdzić FIN od serwera. Przejęcie sesji TCP
Przejęcie sesji TCP to kolejna podatność TCP. Chociaż jest trudne do przeprowadzenia, aktor zagrożeń przejmuje już uwierzytelniony host, gdy komunikuje się z celem. Aktor zagrożeń musi podszyć się pod adres IP jednego hosta, przewidzieć następny numer sekwencyjny i wysłać ACK do innego hosta. Jeśli atak się powiedzie, aktor zagrożeń mógłby wysyłać, ale nie odbierać, dane z urządzenia docelowego.
13. Chociaż UDP jest zwykle nazywane niezawodnym, w przeciwieństwie do niezawodności TCP, nie oznacza to, że aplikacje korzystające z UDP są zawsze niezawodne, ani nie oznacza to, że UDP jest gorszym protokołem. Oznacza to, że te funkcje nie są dostarczane przez protokół warstwy transportowej i muszą być zaimplementowane gdzie indziej, jeśli jest to wymagane.
Niski narzut UDP sprawia, że jest bardzo pożądany dla protokołów, które realizują proste transakcje żądanie-odpowiedź. Na przykład, użycie TCP dla DHCP wprowadziłoby niepotrzebny ruch sieciowy. Jeśli nie otrzyma odpowiedzi, urządzenie wysyła ponownie żądanie.
14. UDP nie jest chronione przez żadne szyfrowanie. Można dodać szyfrowanie do UDP, ale domyślnie nie jest dostępne. Brak szyfrowania oznacza, że każdy może zobaczyć ruch, zmienić go i wysłać do miejsca przeznaczenia. Zmiana danych w ruchu zmieni 16-bitową sumę kontrolną, ale suma kontrolna jest opcjonalna i nie zawsze jest używana. Gdy suma kontrolna jest używana, aktor zagrożeń może utworzyć nową sumę kontrolną na podstawie nowego ładunku danych, a następnie zapisać ją w nagłówku jako nową sumę kontrolną. Urządzenie docelowe stwierdzi, że suma kontrolna pasuje do danych, nie wiedząc, że dane zostały zmienione. Ten typ ataku nie jest szeroko stosowany.
15. W ataku UDP flood zużywane są wszystkie zasoby w sieci. Aktor zagrożeń musi użyć narzędzia takiego jak UDP Unicorn lub Low Orbit Ion Cannon. Te narzędzia wysyłają powódź pakietów UDP, często z podszytego hosta, do serwera w podsieci. Program będzie przeszukiwał wszystkie znane porty, próbując znaleźć zamknięte porty. Spowoduje to odpowiedź serwera z wiadomością ICMP port unreachable. Ponieważ na serwerze jest wiele zamkniętych portów, powoduje to dużo ruchu w segmencie, co zużywa większość przepustowości. Wynik jest bardzo podobny do ataku DoS.