Es quizás mi falta de conocimiento más profundo de cómo funciona el DNS, NAT o TCP, pero he estado pensando en el siguiente escenario y no puedo resolver el siguiente problema que surge en el ataque MITM de suplantación de DNS:
Imagine un ataque MITM, que se lleva a cabo utilizando la falsificación de DNS. Una víctima intenta conectarse al servidor A (www.example.com), pero como usa un DNS primario no autorizado, le da una dirección IP falsa de otro servidor B. Ahora, ya que la víctima cree que tiene la dirección IP correcta, comienza. algo de comunicación con B. El atacante solo quiere interceptar el tráfico y reenviarlo a su destino adecuado, para que no levante la sospecha de la víctima. ¿Cómo sabe el atacante el destino original?
En caso de que la comunicación sea HTTP, esto es fácil ya que cada solicitud lleva su URL. Pero, ¿qué sucede en el caso más general de solo un paquete TCP ordinario (no HTTP)? Como el encabezado TCP ahora contiene la dirección IP del servidor B del atacante, ¿cómo sabe el atacante el destino original de este paquete?
Mi pensamiento particular es que el atacante falsifica 2 o más nombres de dominio que apuntan a servidores que ejecutan servicios en los mismos números de puerto.