IDS/IPS Umgehungstechniken

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

TTL-Manipulation

Sende einige Pakete mit einem TTL, das ausreicht, um das IDS/IPS zu erreichen, aber nicht, um das Zielsystem zu erreichen. Sende dann weitere Pakete mit denselben Sequenzen wie die vorherigen, sodass das IPS/IDS denkt, es handele sich um Wiederholungen und diese nicht prüft — tatsächlich enthalten sie jedoch den bösartigen Inhalt.

Nmap-Option: --ttlvalue <value>

Signaturen umgehen

Füge einfach irrelevante Daten zu den Paketen hinzu, damit die IPS/IDS-Signatur umgangen wird.

Nmap-Option: --data-length 25

Fragmentierte Pakete

Fragmente die Pakete und sende sie. Wenn das IDS/IPS sie nicht reassemblieren kann, erreichen sie den Zielhost.

Nmap-Option: -f

Ungültige Checksumme

Sensoren berechnen üblicherweise aus Performance-Gründen keine Checksummen. Ein Angreifer kann daher ein Paket senden, das vom Sensor interpretiert, vom Zielhost jedoch verworfen wird. Beispiel:

Sende ein Paket mit dem Flag RST und einer ungültigen Checksumme; das IPS/IDS könnte dadurch glauben, dass die Verbindung geschlossen werden soll, während der Zielhost das Paket wegen der ungültigen Checksumme verwirft.

Unübliche IP- und TCP-Optionen

Ein Sensor könnte Pakete mit bestimmten Flags und Optionen in IP- und TCP-Headern ignorieren, während der Zielhost das Paket beim Empfang akzeptiert.

Überlappung

Es ist möglich, dass beim Fragmentieren eines Pakets eine Art Überlappung zwischen Paketen entsteht (z. B. überschneiden sich die ersten 8 Bytes von Paket 2 mit den letzten 8 Bytes von Paket 1, und die letzten 8 Bytes von Paket 2 überschneiden sich mit den ersten 8 Bytes von Paket 3). Wenn das IDS/IPS diese anders reassembliert als der Zielhost, wird ein anderes Paket interpretiert.
Oder es kommen zwei Pakete mit demselben Offset an und der Host muss entscheiden, welches er nimmt.

  • BSD: Bevorzugt Pakete mit kleinerem Offset. Bei gleichem Offset wählt es das erste Paket.
  • Linux: Wie BSD, aber bei gleichem Offset bevorzugt es das zuletzt eingetroffene Paket.
  • First (Windows): Der zuerst eintreffende Wert bleibt bestehen.
  • Last (cisco): Der zuletzt eintreffende Wert bleibt bestehen.

TCP-Stream-Überlappung / Reassembly-Mismatch

Wie bei IP-Fragmente können überlappende TCP-Segmente vom IDS/IPS und vom Zielhost unterschiedlich reassembliert werden. Wenn Sensor und Host darüber uneinig sind, welche Bytes ‘gewinnen’ in der Überlappung, kannst du harmlose Bytes dort platzieren, wo das IDS/IPS hinschaut, und bösartige Bytes dort, wo der Host sie schließlich reassembliert.

  • Sende zuerst ein harmloses Segment und später ein bösartiges überlappendes Segment (oder umgekehrt), abhängig von der Reassembly-Policy des Ziel-OS.
  • Verwende sehr kleine Überlappungen, um den Stream für den Host gültig zu halten und gleichzeitig die Mehrdeutigkeit für den Sensor zu maximieren.

IPv6 Extension Headers & Fragment-Tricks

IPv6 erlaubt beliebige Header-Ketten, und der upper-layer (TCP/UDP/ICMPv6) Header erscheint nach allen Extension Headers. Wenn ein Gerät die gesamte Kette nicht parst, kann es umgangen werden, indem Extension Headers eingefügt oder fragmentiert wird, sodass der upper-layer Header dort nicht sichtbar ist, wo das Gerät ihn erwartet. RFC 7112 fordert, dass die gesamte IPv6-Header-Kette im ersten Fragment vorhanden ist; Geräte, die nicht-konforme winzige Fragmente akzeptieren, können umgangen werden, indem der L4-Header in spätere Fragmente verschoben wird.

Praktische Muster:

  • Lange Extension-Header-Ketten, um den upper-layer Header tiefer ins Paket zu schieben.
  • Kleine erste Fragmente, die nur IPv6 + Fragment + Optionen enthalten und den L4-Header für spätere Fragmente lassen.
  • Kombination von Extension Headers + Fragmentation, um das tatsächliche upper-layer Protokoll vor Geräten zu verbergen, die nur das erste Fragment inspizieren.

Tools

References

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks