mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
46 lines
2.4 KiB
Markdown
46 lines
2.4 KiB
Markdown
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
# **Manipulación de TTL**
|
|
|
|
Envía algunos paquetes con un TTL suficiente para llegar al IDS/IPS pero no lo suficiente para llegar al sistema final. Y 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 están llevando el contenido malicioso.
|
|
|
|
**Opción de Nmap:** `--ttlvalue <value>`
|
|
|
|
# Evitando firmas
|
|
|
|
Simplemente agrega datos basura a los paquetes para evitar la firma del IPS/IDS.
|
|
|
|
**Opción de Nmap:** `--data-length 25`
|
|
|
|
# **Paquetes fragmentados**
|
|
|
|
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`
|
|
|
|
# **Checksum** _**inválido**_
|
|
|
|
Los sensores generalmente no calculan el checksum por razones de rendimiento. Así que 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, así que el IPS/IDS puede pensar que este paquete va a cerrar la conexión, pero el host final descartará el paquete ya que el checksum es inválido.
|
|
|
|
# **Opciones IP y TCP poco comunes**
|
|
|
|
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.
|
|
|
|
# **Superposición**
|
|
|
|
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 una manera diferente a la del host final, se interpretará un paquete diferente.\
|
|
O tal vez, 2 paquetes con el mismo desplazamiento llegan y el host tiene que decidir cuál toma.
|
|
|
|
- **BSD**: Tiene preferencia por paquetes con _offset_ más pequeño. Para paquetes con el mismo offset, elegirá el primero.
|
|
- **Linux**: Al igual que 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.
|
|
|
|
# Herramientas
|
|
|
|
- [https://github.com/vecna/sniffjoke](https://github.com/vecna/sniffjoke)
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|