{{#include ../../banners/hacktricks-training.md}} # **Manipulacja TTL** Wyślij kilka pakietów z TTL wystarczającym, aby dotrzeć do IDS/IPS, ale niewystarczającym, aby dotrzeć do systemu docelowego. Następnie wyślij inne pakiety z tymi samymi sekwencjami, aby IPS/IDS pomyślał, że są to powtórzenia i ich nie sprawdzi, ale w rzeczywistości niosą one złośliwą zawartość. **Opcja Nmap:** `--ttlvalue ` # Unikanie sygnatur Po prostu dodaj dane śmieciowe do pakietów, aby uniknąć sygnatury IPS/IDS. **Opcja Nmap:** `--data-length 25` # **Fragmentowane pakiety** Po prostu fragmentuj pakiety i je wysyłaj. Jeśli IDS/IPS nie ma możliwości ich złożenia, dotrą do hosta docelowego. **Opcja Nmap:** `-f` # **Nieprawidłowy** _**suma kontrolna**_ Czujniki zazwyczaj nie obliczają sumy kontrolnej z powodów wydajnościowych. Dlatego atakujący może wysłać pakiet, który będzie **interpretowany przez czujnik, ale odrzucony przez hosta docelowego.** Przykład: Wyślij pakiet z flagą RST i nieprawidłową sumą kontrolną, a wtedy IPS/IDS może pomyśleć, że ten pakiet zamknie połączenie, ale host docelowy odrzuci pakiet, ponieważ suma kontrolna jest nieprawidłowa. # **Niecodzienne 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 jego odebraniu. # **Nakładanie się** Możliwe jest, że podczas fragmentacji pakietu występuje 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). Następnie, jeśli IDS/IPS złoży je w inny sposób niż host docelowy, zostanie zinterpretowany inny pakiet.\ Lub może, 2 pakiety z tym samym przesunięciem przychodzą i host musi zdecydować, który z nich przyjąć. - **BSD**: Ma preferencje dla pakietów 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. - **Pierwszy** (Windows): Pierwsza wartość, która przychodzi, wartość, która zostaje. - **Ostatni** (cisco): Ostatnia wartość, która przychodzi, wartość, która zostaje. # Narzędzia - [https://github.com/vecna/sniffjoke](https://github.com/vecna/sniffjoke) {{#include ../../banners/hacktricks-training.md}}