IDS and IPS Evasion
Last updated
Last updated
Aprende y practica AWS Hacking: HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Envía algunos paquetes con un TTL suficiente para llegar al IDS/IPS pero no suficiente para llegar al sistema final. Luego, envía otros paquetes con las mismas secuencias que los anteriores para que el IPS/IDS piense que son repeticiones y no los verifique, pero en realidad llevan contenido malicioso.
Opción de Nmap: --ttlvalue <valor>
Simplemente agrega datos basura a los paquetes para evitar la firma del IPS/IDS.
Opción de Nmap: --data-length 25
Simplemente fragmenta los paquetes y envíalos. Si el IDS/IPS no tiene la capacidad de reensamblarlos, llegarán al host final.
Opción de Nmap: -f
Los sensores generalmente no calculan el checksum por razones de rendimiento. Por lo tanto, un atacante puede enviar un paquete que será interpretado por el sensor pero rechazado por el host final. Ejemplo:
Envía un paquete con la bandera RST y un checksum inválido, entonces, el IPS/IDS puede pensar que este paquete va a cerrar la conexión, pero el host final descartará el paquete al ser el checksum inválido.
Un sensor podría ignorar paquetes con ciertas banderas y opciones establecidas dentro de los encabezados IP y TCP, mientras que el host de destino acepta el paquete al recibirlo.
Es posible que al fragmentar un paquete, exista algún tipo de superposición entre los paquetes (quizás los primeros 8 bytes del paquete 2 se superponen con los últimos 8 bytes del paquete 1, y los últimos 8 bytes del paquete 2 se superponen con los primeros 8 bytes del paquete 3). Entonces, si el IDS/IPS los reensambla de manera diferente al host final, se interpretará un paquete diferente. O tal vez, lleguen 2 paquetes con el mismo desplazamiento y el host tenga que decidir cuál tomar.
BSD: Tiene preferencia por los paquetes con un offset más pequeño. Para paquetes con el mismo offset, elegirá el primero.
Linux: Como BSD, pero prefiere el último paquete con el mismo offset.
Primero (Windows): Primer valor que llega, valor que se queda.
Último (cisco): Último valor que llega, valor que se queda.
Aprende y practica AWS Hacking: HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)