Creo que la causa raíz de los túneles de DNS se debe a que los hosts internos tienen permiso para realizar consultas recursivas de dominios externos. Para que el túnel DNS funcione, un host interno debería poder enviar consultas al dominio controlado por el atacante dnstunnel.xyz.com.
Me preguntaba si limitaríamos las consultas de DNS a los servidores de DNS conocidos / autorizados únicamente, ¿evitará este ataque? Para dejarlo claro, cuando ejecutamos nslookup para un dominio externo desde dentro de la organización utilizando un servidor DNS de terceros, no se resolvería.
C:\Users\bAdb0y>nslookup cisco.com 8.8.8.8
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: 8.8.8.8
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out
Intenté configurar un túnel DNS usando yodo con y sin la configuración anterior. No se pudo establecer el túnel cuando las consultas recursivas se limitaron a los servidores DNS internos. El túnel funcionaba como encanto de lo contrario. Entonces, ¿esta solución es efectiva? ¿O necesito deshabilitar completamente la consulta recursiva de las máquinas internas?