IDS and IPS Evasion
Manipolazione TTL
Invia alcuni pacchetti con un TTL sufficiente per arrivare all'IDS/IPS ma non sufficiente per arrivare al sistema finale. E poi, invia altri pacchetti con le stesse sequenze degli altri in modo che l'IPS/IDS pensi che siano ripetizioni e non li controlli, ma in realtà stanno trasportando il contenuto dannoso.
Opzione di Nmap: --ttlvalue <valore>
Evitare le firme
Aggiungi semplicemente dati spuri ai pacchetti in modo che la firma dell'IPS/IDS venga evitata.
Opzione di Nmap: --data-length 25
Pacchetti frammentati
Semplicemente frammenta i pacchetti e inviali. Se l'IDS/IPS non ha la capacità di riassemblarli, arriveranno all'host finale.
Opzione di Nmap: -f
Checksum non valido
Di solito i sensori non calcolano il checksum per motivi di prestazioni. Quindi un attaccante può inviare un pacchetto che verrà interpretato dal sensore ma respinto dall'host finale. Esempio:
Invia un pacchetto con il flag RST e un checksum non valido, in modo che l'IPS/IDS possa pensare che questo pacchetto stia per chiudere la connessione, ma l'host finale scarterà il pacchetto poiché il checksum non è valido.
Opzioni IP e TCP insolite
Un sensore potrebbe ignorare i pacchetti con determinate bandiere e opzioni impostate negli header IP e TCP, mentre l'host di destinazione accetta il pacchetto al momento della ricezione.
Sovrapposizione
È possibile che quando si frammenta un pacchetto, esista una sorta di sovrapposizione tra i pacchetti (forse 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). Quindi, se l'IDS/IPS li riunisce in un modo diverso rispetto all'host finale, verrà interpretato un pacchetto diverso. Oppure forse arrivano 2 pacchetti con lo stesso offset e l'host deve decidere quale prendere.
BSD: Ha la preferenza per i pacchetti con un offset più piccolo. Per i pacchetti con lo stesso offset, sceglierà il primo.
Linux: Come BSD, ma preferisce l'ultimo pacchetto con lo stesso offset.
Primo (Windows): Primo valore che arriva, valore che rimane.
Ultimo (cisco): Ultimo valore che arriva, valore che rimane.
Strumenti
Last updated