
El tunelado DNS convierte el sistema de nombres de dominio en un arma para los hackers. DNS es, en esencia, una enorme agenda telefónica de internet. Además, DNS es el protocolo básico que permite a los administradores hacer consultas a la base de datos del servidor DNS. Hasta aquí todo claro. Pero los astutos hackers se dieron cuenta de que podían comunicarse de forma encubierta con la computadora víctima mediante la inserción de comandos y datos de control en el protocolo DNS. Esta idea está en la base del tunelado DNS.
Cómo funciona el tunelado DNS

Para todo en internet existe su propio protocolo. Y DNS admite un tipo relativamente simple de solicitud-respuesta. Si deseas ver cómo funciona, puedes ejecutar nslookup: la herramienta principal para enviar consultas DNS. Puedes solicitar una dirección simplemente indicando el nombre de dominio que te interesa, por ejemplo:

En nuestro caso, el protocolo respondió con la dirección IP del dominio. En términos del protocolo DNS, hice una consulta de dirección o una consulta del tipo 'A'. Existen otros tipos de consultas, y el protocolo DNS responderá con un conjunto variado de campos de datos, que, como veremos más adelante, pueden ser utilizados por los hackers.
De una forma u otra, en su esencia, el protocolo DNS se ocupa de la transmisión de solicitudes al servidor y su respuesta de vuelta al cliente. ¿Y si un atacante añade un mensaje encubierto dentro de la solicitud del nombre de dominio? Por ejemplo, en lugar de introducir una URL completamente legítima, introduce los datos que desea transmitir:

Supongamos que el atacante controla el servidor DNS. Entonces puede transmitir datos, como información personal, y no necesariamente será detectado. Después de todo, ¿por qué de repente una consulta DNS podría convertirse en algo ilegítimo?
Controlando el servidor, los hackers pueden falsificar respuestas y enviar datos de vuelta al sistema objetivo. Esto les permite transmitir mensajes ocultos en varios campos de la respuesta DNS al malware en la máquina infectada, con instrucciones como buscar dentro de una carpeta específica.
La parte "tuneladora" de este ataque consiste en datos y comandos de la detección por parte de sistemas de monitoreo. Los hackers pueden utilizar conjuntos de caracteres como base32, base64, etc., o incluso cifrar los datos. Tal codificación pasará desapercibida ante las herramientas simples de detección de amenazas que buscan en texto plano.
¡Y eso es el túnel DNS!
Historia de los ataques a través del túnel DNS
Todo tiene un comienzo, incluida la idea de capturar el protocolo DNS con fines de hacking. Hasta donde podemos juzgar, el primer ataque de este tipo fue llevado a cabo por Oskar Pearson en la lista de correo Bugtraq en abril de 1998.
Para 2004, el túnel DNS se presentó en Black Hat como un método de hacking en la presentación de Dan Kaminsky. Así, la idea rápidamente se transformó en una verdadera herramienta de ataque.
Hoy en día, el túnel DNS ocupa una posición firme en el mapa (y los blogueros en el campo de la seguridad informática a menudo se les pide que lo expliquen).
¿Has oído hablar de ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Amenazas del túnel DNS

El túnel DNS es un indicador del comienzo de una fase de malas noticias. ¿Cuáles exactamente? Ya hemos hablado de algunas, pero vamos a estructurarlas:
- Extracción de datos (exfiltración) – el hacker transmite de manera encubierta datos críticos sobre DNS. Definitivamente no es la forma más eficiente de transferir información desde la computadora de la víctima, considerando todos los costos y codificaciones, pero funciona, ¡y lo hace de forma oculta!
- Control y gestión (Command and Control, abreviado C2) – los hackers utilizan el protocolo DNS para enviar simples comandos de control, digamos, a través de (Remote Access Trojan, abreviado RAT).
- Túnel IP sobre DNS – puede sonar loco, pero existen utilidades que implementan la pila IP sobre solicitudes y respuestas del protocolo DNS. Esto hace que la transferencia de datos usando FTP, Netcat, ssh, etc., sea relativamente sencilla. ¡Extremadamente siniestra!
Detección del túnel DNS

Hay dos métodos principales para detectar el abuso de DNS: análisis de carga y análisis de tráfico.
Al análisis de carga la parte defensora busca anomalías en los datos transmitidos en ambas direcciones, que pueden ser detectadas mediante métodos estadísticos: nombres de host que parecen extraños, tipo de registro DNS que no se utiliza con tanta frecuencia, o codificación no estándar.
Al análisis de tráfico se evalúa el número de solicitudes DNS a cada dominio en comparación con el nivel promedio. Los delincuentes que utilizan el túnel DNS generarán un gran volumen de tráfico hacia el servidor. En teoría, superando significativamente el intercambio normal de mensajes DNS. ¡Y eso es necesario monitorear!
Utilidades de tunneling DNS
Si deseas realizar tu propia prueba de penetración y evaluar cuán bien puede tu empresa detectar y responder a tales actividades, hay varias utilidades disponibles. Todas ellas pueden tunelizar en modo IP-Over-DNS:
- – disponible en múltiples plataformas (Linux, Mac OS, FreeBSD y Windows). Permite establecer un shell SSH entre la computadora objetivo y la computadora de control. Aquí hay una buena guía sobre la configuración y el uso de Iodine.
- – un proyecto de tunneling DNS de Dan Kaminsky, escrito en Perl. Permite conexiones SSH.
- – "un túnel DNS que no provoca náuseas". Crea un canal C2 cifrado para enviar/descargar archivos, ejecutar shells, etc.
Utilidades de monitoreo DNS
A continuación se presenta una lista de algunas utilidades que serán útiles para detectar ataques de tunneling:
- – un módulo Python diseñado para MercenaryHuntFramework y Mercenary-Linux. Lee archivos .pcap, extrae consultas DNS y realiza mapeo de geolocalización, lo que ayuda en el análisis.
- – una utilidad en Python que lee archivos .pcap y analiza mensajes DNS.
Micro FAQ sobre tunneling DNS
¡Información útil en forma de preguntas y respuestas!
P: ¿Qué es el tunneling?
R: Es simplemente una forma de transmitir datos sobre un protocolo existente. El protocolo subyacente proporciona un canal o túnel dedicado que luego se utiliza para ocultar la información que realmente se está transmitiendo.
P: ¿Cuándo se llevó a cabo el primer ataque de tunneling DNS?
R: ¡No lo sabemos! Si tú lo sabes, por favor háznoslo saber. Hasta donde sabemos, la primera discusión sobre un ataque fue iniciada por Oscar Pearson en la lista de correo Bugtraq en abril de 1998.
P: ¿Qué ataques son similares al tunneling DNS?
R: DNS no es el único protocolo que se puede utilizar para tunneling. Por ejemplo, los malware de control y comando (C2) a menudo utilizan HTTP para enmascarar el canal de interacción. Al igual que con el tunneling DNS, el hacker oculta sus datos, pero en este caso parecen tráfico normal de un navegador web que se conecta a un sitio remoto (controlado por el atacante). Esto puede pasar desapercibido para los programas de monitoreo si no están configurados para detectar abuso del protocolo HTTP con fines de hacking.
¿Desea que le ayudemos con la detección de túneles DNS? Consulte nuestro módulo y pruebe gratis !
Fuente: habr.com
