IDS/IPS Tecniche di Evasione

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Manipolazione del TTL

Invia alcuni pacchetti con un TTL sufficiente per raggiungere l’IDS/IPS ma non il sistema finale. Poi invia altri pacchetti con le stesse sequenze degli altri in modo che l’IPS/IDS li consideri ripetizioni e non li analizzi, mentre in realtà contengono il contenuto malevolo.

Opzione Nmap: --ttlvalue <value>

Evitare le signatures

Aggiungi dati inutili ai pacchetti in modo da evitare la signature dell’IPS/IDS.

Opzione Nmap: --data-length 25

Pacchetti frammentati

Frammenta i pacchetti e inviali. Se l’IDS/IPS non è in grado di riassemblarli, arriveranno all’host finale.

Opzione Nmap: -f

Non valido checksum

I sensori solitamente non calcolano il checksum per ragioni di performance. Quindi un attaccante può inviare un pacchetto che sarà interpretato dal sensore ma rifiutato dall’host finale. Esempio:

Invia un pacchetto con il flag RST e un checksum non valido; l’IPS/IDS potrebbe pensare che questo pacchetto chiuda la connessione, mentre l’host finale scarterà il pacchetto perché il checksum è invalido.

Opzioni IP e TCP non comuni

Un sensore potrebbe ignorare pacchetti con certi flag e opzioni impostati negli header IP e TCP, mentre l’host di destinazione accetta il pacchetto al ricevimento.

Sovrapposizione

È possibile che, quando frammenti un pacchetto, esista una sovrapposizione tra i frammenti (ad esempio i primi 8 byte del pacchetto 2 si sovrappongono agli ultimi 8 byte del pacchetto 1, e gli ultimi 8 byte del pacchetto 2 si sovrappongono ai primi 8 byte del pacchetto 3). Se l’IDS/IPS li riassembla in modo diverso rispetto all’host finale, verrà interpretato un pacchetto differente.
Oppure possono arrivare 2 pacchetti con lo stesso offset e l’host deve decidere quale accettare.

  • BSD: Preferisce pacchetti con offset più piccolo. Per pacchetti con lo stesso offset sceglie il primo.
  • Linux: Come BSD, ma preferisce l’ultimo pacchetto con lo stesso offset.
  • First (Windows): Il primo valore che arriva viene mantenuto.
  • Last (cisco): L’ultimo valore che arriva viene mantenuto.

TCP Stream Overlap / Reassembly Mismatch

Come per i frammenti IP, i segmenti TCP sovrapposti possono essere riassemblati diversamente dall’IDS/IPS e dall’host di destinazione. Se il sensore e l’host non concordano su quali byte prevalgono nella sovrapposizione, puoi mettere byte benigni dove guarda l’IDS/IPS e byte malevoli dove l’host li riassembla.

  • Invia prima un segmento benigno e poi un segmento sovrapposto maligno (oppure inverti l’ordine) a seconda della policy di riassemblaggio del sistema target.
  • Usa sovrapposizioni minime per mantenere lo stream valido per l’host massimizzando l’ambiguità per il sensore.

IPv6 Extension Headers & Fragment Tricks

IPv6 permette catene di header arbitrarie, e l’header di livello superiore (TCP/UDP/ICMPv6) appare dopo tutte le extension headers. Se un dispositivo non analizza l’intera catena, può essere bypassato inserendo extension headers o frammentando in modo che l’header di livello superiore non sia visibile dove il dispositivo lo aspetta. RFC 7112 richiede che l’intera catena di header IPv6 sia presente nel primo frammento; dispositivi che accettano frammenti tiny non conformi possono essere evasi spostando l’header L4 in frammenti successivi.

Pratiche comuni:

  • Catene lunghe di extension-header per spingere l’header di livello superiore più in profondità nel pacchetto.
  • Primi frammenti piccoli che contengono solo IPv6 + Fragment + options, lasciando l’header L4 ai frammenti successivi.
  • Combinare extension headers + fragmentation per nascondere il reale protocollo di livello superiore a dispositivi che ispezionano solo il primo frammento.

Strumenti

Riferimenti

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks