hacktricks/generic-methodologies-and-resources/pentesting-network/ids-evasion.md

4.6 KiB

{% hint style="success" %} Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wesprzyj HackTricks
{% endhint %}

Manipulacja TTL

Wyślij kilka pakietów z TTL wystarczająco niskim, aby dotrzeć do IDS/IPS, ale nie wystarczająco niskim, aby dotrzeć do ostatecznego systemu. Następnie wyślij inne pakiety z tymi samymi sekwencjami, aby IPS/IDS uznał je za powtórzenia i nie sprawdził ich, podczas gdy faktycznie przenoszą złośliwe treści.

Opcja Nmap: --ttlvalue <value>

Unikanie sygnatur

Dodaj po prostu dane śmieciowe do pakietów, aby uniknąć sygnatury IPS/IDS.

Opcja Nmap: --data-length 25

Pakietowanie fragmentów

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

Opcja Nmap: -f

Nieprawidłowa suma kontrolna

Czujniki zwykle nie obliczają sumy kontrolnej ze względów wydajnościowych. Dlatego atakujący może wysłać pakiet, który zostanie zinterpretowany przez czujnik, ale odrzucony przez ostatecznego hosta. Przykład:

Wyślij pakiet z flagą RST i nieprawidłową sumą kontrolną, wtedy IPS/IDS może uznać, że ten pakiet ma zamknąć połączenie, ale ostateczny host odrzuci pakiet, ponieważ suma kontrolna jest nieprawidłowa.

Niezwykłe opcje IP i TCP

Czujnik może zignorować pakiety z określonymi flagami i opcjami ustawionymi w nagłówkach IP i TCP, podczas gdy host docelowy akceptuje pakiet po otrzymaniu.

Nakładanie się

Może się zdarzyć, że gdy fragmentujesz pakiet, istnieje pewne nakładanie się między pakietami (może 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). Wtedy, jeśli IDS/IPS złoży je w inny sposób niż ostateczny host, zostanie zinterpretowany inny pakiet.
Albo może się zdarzyć, że przychodzą 2 pakiety z tą samą wartością przesunięcia i host musi zdecydować, który z nich przyjąć.

  • BSD: Preferuje pakiety z mniejszym przesunięciem. Dla pakietów z tym samym przesunięciem wybierze pierwszy.
  • Linux: Podobnie jak BSD, ale preferuje ostatni pakiet z tym samym przesunięciem.
  • First (Windows): Pierwsza wartość, która przychodzi, zostaje.
  • Last (cisco): Ostatnia wartość, która przychodzi, zostaje.

Narzędzia

{% hint style="success" %} Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wesprzyj HackTricks
{% endhint %}