Túnel por DNS: cuando la salida de datos se disfraza de consulta
Toda consulta de DNS transporta texto. Un túnel convierte ese texto en un canal de salida, y el resultado parece una secuencia normal de preguntas.
Cómo se construye el túnel
Los datos que hay que sacar de la máquina se codifican y se dividen en trozos. Cada trozo se convierte en un nombre de dominio, del tipo un-trozo-de-datos.tunel.ejemplo. El resolutor responde con normalidad y la respuesta devuelve lo que el otro extremo quería decir.
Como la dirección tiene la forma de un nombre cualquiera, todo parece una consulta corriente. El servidor que recibe los datos y devuelve las respuestas está en un dominio común y resuelve con normalidad. Los túneles funcionan porque se permite que el DNS transporte texto en ambos sentidos, y casi nadie filtra ese camino.
Por qué pasa inadvertido
El tráfico tiene forma de DNS, va al puerto 53 o a la dirección de un servidor de DNS sobre HTTPS, y nadie mira. Incluso cuando se inspecciona el contenido de la consulta, lo que va dentro va cifrado, lo que queda fuera de la lectura simple.
El volumen también ayuda a esconderlo: la salida de datos suele ser pequeña y repartida a lo largo de horas, mezclada con el tráfico normal del dispositivo. Una consulta cada diez segundos parece mucho menos sospechosa que una subida grande en un momento.
Cómo reducir la superficie
Bloquear los dominios conocidos de túneles cubre una parte, pero esas listas cambian sin parar. Observar ayuda más: un dispositivo que pide muchos nombres que no existen, o que consulta siempre el mismo dominio con prefijos raros, está haciendo algo distinto de lo normal.
En la configuración, dos medidas marcan la diferencia. Restringir la salida de DNS para que solo responda el resolver elegido, y mantener el registro de consultas por dispositivo para volver visible el patrón. Es el historial, y no el filtro, el que suele mostrar por dónde se escapaba la salida.