¿Por qué no puedo forzar a una aplicación a cerrar una sesión activa falsificando la dirección IP de origen?

2

Estoy tratando de ubicar mi cabeza alrededor de la configuración anterior. Una simple sesión de netcat entre dos hosts y una máquina de pentesting está intentando que la sesión establecida se termine solo conociendo la combinación de origen y destino IP: puerto. ¿No debería estar enviando un paquete FIN con la IP de origen: deporte a la IP de destino: es suficiente para cortar esta conexión? Estoy usando hping3 para crear paquetes, pero la sesión de netcat no se cae. ¿Puede señalarme algún documento IEEE en el que se explica el mecanismo de protección o, de lo contrario, cree que es una protección dependiente de la aplicación?

    
pregunta shterevz 04.09.2017 - 15:32
fuente

2 respuestas

3

Para cerrar con éxito una conexión, el paquete FIN debe confirmarse en ambas direcciones. Un lado de la conexión envía un paquete FIN, al cual el otro lado debe devolver un FIN + ACK, y finalmente el lado original debe enviar otro ACK. Debes simular ambas partes de este apretón de manos para tener éxito.

Para realizar este ataque, debe conocer la IP de origen, la IP de destino, el puerto de origen, el puerto de destino y la secuencia TCP y números de reconocimiento . Estos números se seleccionan aleatoriamente, números de 32 bits generados como parte del protocolo de enlace TCP, incrementados por la longitud de cada paquete enviado / recibido. Su uso principal es garantizar un ordenamiento de paquetes sólido, pero sus valores también son útiles para proteger contra ataques de suplantación de identidad. Los paquetes con secuencia o números de acuse de recibo no válidos (es decir, valores fuera de la ventana de transmisión o recepción) se ignoran. Por lo general, obtendría estos números mediante la detección de paquetes si está en la misma red que ellos. También puedes intentar adivinar el número de manera exhaustiva, pero esto es ruidoso y lento; una fuerza bruta exhaustiva de los números de secuencia y acuse de recibo requiere un mínimo de 4 mil millones de paquetes.

Un ataque más común es un Ataque de reinicio de TCP , que es más fácil ya que un paquete RST se puede enviar sin necesidad de dos - cierre el camino y solo necesita el número de secuencia correcto ya que el indicador ACK no está establecido.

    
respondido por el Polynomial 04.09.2017 - 16:04
fuente
0

Es probable que esté cometiendo un error cuando el número de secuencia del FIN no coincide con el siguiente número de secuencia esperado. Según mi conocimiento, los números de secuencia no consecutivos que no están dentro de la ventana de transmisión se descartan.

    
respondido por el Tobi Nary 04.09.2017 - 16:02
fuente

Lea otras preguntas en las etiquetas