IDS and IPS Evasion
Last updated
Last updated
Impara e pratica l'hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica l'hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)
Invia alcuni pacchetti con un TTL sufficiente per arrivare all'IDS/IPS ma non sufficiente per arrivare al sistema finale. Successivamente, invia altri pacchetti con le stesse sequenze dei precedenti in modo che l'IPS/IDS pensi che siano ripetizioni e non li controlli, ma in realtà trasportano contenuti dannosi.
Opzione Nmap: --ttlvalue <valore>
Aggiungi semplicemente dati spazzatura ai pacchetti per evitare la firma dell'IPS/IDS.
Opzione Nmap: --data-length 25
Semplicemente frammenta i pacchetti e inviali. Se l'IDS/IPS non è in grado di riunirli, arriveranno all'host finale.
Opzione Nmap: -f
I sensori di solito 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 è invalido.
Un sensore potrebbe ignorare pacchetti con determinati flag e opzioni impostate all'interno degli header IP e TCP, mentre l'host di destinazione accetta il pacchetto al momento della ricezione.
È 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 modo diverso rispetto all'host finale, verrà interpretato un pacchetto diverso. Oppure, 2 pacchetti con lo stesso offset arrivano e l'host deve decidere quale prendere.
BSD: Ha la preferenza per i pacchetti con 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.
Impara e pratica l'hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica l'hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)