Techniki obchodzenia IDS/IPS

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Manipulacja TTL

Wyślij pakiety z TTL wystarczającym, by dotarły do IDS/IPS, ale niewystarczającym, by dotrzeć do końcowego systemu. Następnie wyślij kolejne pakiety z tymi samymi numerami sekwencji co poprzednie, aby IPS/IDS uznał je za duplikaty i ich nie sprawdzał, podczas gdy w rzeczywistości niosą złośliwą zawartość.

Nmap option: --ttlvalue <value>

Omijanie sygnatur

Po prostu dodaj do pakietów śmieciowe dane, aby uniknąć dopasowania sygnatury IPS/IDS.

Nmap option: --data-length 25

Pofragmentowane pakiety

Po prostu pofragmentuj pakiety i wyślij je. Jeśli IDS/IPS nie ma możliwości ich ponownego złożenia, dotrą one do docelowego hosta.

Nmap option: -f

Nieprawidłowa suma kontrolna

Czujniki zwykle nie obliczają sum kontrolnych ze względów wydajnościowych. Atakujący może więc wysłać pakiet, który będzie zinterpretowany przez sensor, ale odrzucony przez końcowy host. Przykład:

Wyślij pakiet z flagą RST i nieprawidłową sumą kontrolną — IPS/IDS może uznać, że pakiet zamyka połączenie, podczas gdy końcowy host odrzuci go z powodu błędnej sumy kontrolnej.

Nietypowe opcje IP i TCP

Sensor może zignorować pakiety z ustawionymi pewnymi flagami i opcjami w nagłówkach IP i TCP, podczas gdy host docelowy zaakceptuje taki pakiet po jego otrzymaniu.

Nakładanie (Overlapping)

Możliwe jest, że podczas fragmentacji pakietu wystąpi nakładanie między fragmentami (np. pierwsze 8 bajtów pakietu 2 nakłada się na ostatnie 8 bajtów pakietu 1, a ostatnie 8 bajtów pakietu 2 nakłada się na pierwsze 8 bajtów pakietu 3). Jeśli IDS/IPS złoży je inaczej niż końcowy host, zinterpretowany zostanie inny pakiet.
Albo mogą nadejść 2 pakiety z tym samym offsetem i host będzie musiał zdecydować, który z nich przyjąć.

  • BSD: Preferuje pakiety z mniejszym offset. Dla pakietów z tym samym offsetem wybierze pierwszy.
  • Linux: Jak BSD, ale preferuje ostatni pakiet z tym samym offsetem.
  • First (Windows): Przyjmuje pierwszą wartość, która przyjdzie — ta pozostaje.
  • Last (cisco): Przyjmuje ostatnią wartość, która przyjdzie — ta pozostaje.

Nakładanie strumienia TCP / Niezgodność ponownego składania

Podobnie jak fragmenty IP, nakładające się segmenty TCP mogą być składane inaczej przez IDS/IPS i przez host docelowy. Jeśli sensor i host różnią się co do tego, które bajty “wygrywają” w obszarze nakładania, możesz umieścić łagodne (benign) bajty tam, gdzie patrzy IDS/IPS, i złośliwe tam, gdzie host ostatecznie je złoży.

  • Wyślij najpierw łagodny segment, a potem złośliwy nakładający się segment później (lub odwróć kolejność) w zależności od polityki ponownego składania celu.
  • Używaj małych nakładań, aby utrzymać strumień ważnym dla hosta przy jednoczesnym zwiększeniu niejednoznaczności dla sensora.

Nagłówki rozszerzeń IPv6 i sztuczki z fragmentacją

IPv6 pozwala na dowolne łańcuchy nagłówków rozszerzeń, a nagłówek warstwy wyższej (TCP/UDP/ICMPv6) pojawia się po wszystkich nagłówkach rozszerzeń. Jeśli urządzenie nie parsuje całego łańcucha, można je obejść przez wstawienie nagłówków rozszerzeń lub przez fragmentację tak, że nagłówek warstwy wyższej nie jest widoczny tam, gdzie urządzenie się go spodziewa. RFC 7112 wymaga, aby cały łańcuch nagłówków IPv6 był obecny w pierwszym fragmencie; urządzenia akceptujące niezgodne z RFC drobne fragmenty można ominąć, przesuwając nagłówek L4 do późniejszych fragmentów.

Praktyczne wzorce:

  • Długie łańcuchy nagłówków rozszerzeń aby przesunąć nagłówek warstwy wyższej głębiej w pakiecie.
  • Małe pierwsze fragmenty zawierające tylko IPv6 + Fragment + opcje, pozostawiające nagłówek L4 dla późniejszych fragmentów.
  • Łączenie nagłówków rozszerzeń + fragmentacji aby ukryć rzeczywisty protokół warstwy wyższej przed urządzeniami, które inspekcjonują tylko pierwszy fragment.

Narzędzia

Źródła

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks