Prevención de túneles DNS

Prevención de túneles DNS

Recientemente vi un seminario web sobre pentesting que demostró un ataque de túnel DNS. En la sección de preguntas y respuestas del seminario web, alguien preguntó cómo se pueden prevenir dichos túneles. El consejo fue no permitir que los servidores DNS internos resuelvan direcciones externas y ejecutar toda esa resolución externa a través de un proxy. ¿Alguien puede explicar por qué esto evitará la construcción de túneles? Si el cliente está ejecutando algo que envía un paquete DNS diseñado al proxy con la carga útil oculta, ¿no llegará finalmente al servidor DNS correspondiente y se devolverá al cliente a través del proxy?

Respuesta1

Respuesta corta: los proxies con reconocimiento de aplicaciones son capaces de analizar el contenido del paquete de una manera inteligente según el protocolo y pueden determinar si la carga útil de un paquete reensamblado que pasa es conforme con las estructuras de datos de ese protocolo. Como tal, el proxy sabe si está intentando canalizar datos HTTP (por ejemplo) en segmentos DNS.

Respuesta2

Otra cosa que podría hacer un proxy (o algo que yo haría si me preocupara la creación de túneles, y no requiere un proxy, sólo un enrutador decente), es simplemente limitar en gran medida la cantidad de tráfico en el puerto 53. Esto no sería totalmente evitar la construcción de túneles, pero reduciría en gran medida su utilidad. (Por ejemplo, permita, digamos, 100 kbit de datos en un intervalo de 120 segundos. Esto equivale a un rendimiento máximo de <100 bytes por segundo, por lo que no podría obtener una gran cantidad de datos a través de esta conexión)

información relacionada