Cuando estamos en nuestros hogares o empresas y necesitamos acceder a algún sitio, nuestro equipo realiza una consulta en algunos servidores DNS en Internet y devuelve a nuestro navegador la dirección IP necesaria para llegar al sitio buscado. Esto significa que, si nuestras protecciones (firewall, proxy, IPS) no permiten que este tipo de tráfico salga de su origen para llegar a los servidores correctos, no funcionaría ningún acceso a Internet, ni ningún intercambio de correo electrónico.
Es por eso que todo el tráfico en el puerto UDP/53 puede acceder libremente a cualquier servidor DNS en cualquier parte del mundo. Lo anterior se comprueba en las reglas de firewall. La conclusión que se extrae es que este tráfico no es sometido a ningún tipo de bloqueo o filtrado, pasa directamente a Internet sin ningún análisis. Este comportamiento facilitó la creación de un ataque llamado exfiltración o extrusión de datos.
¿Cómo lo hacen?
En este ataque, cuando un malware está dentro de la red, es capaz de recopilar datos de los equipos o de la propia red. Los detalles sobre cómo sucede este tipo de recolección de datos merecen un artículo propio, pero por el momento digamos que los métodos más comunes son a través de DNS, HTTP, HTTPS y FTP.
De esta manera, una vez el malware se instala en el equipo, comienza a mapear la red y a recolectar los datos que vale la pena transferir. Por lo general, los archivos se encuentran en la carpeta documentos y en la unidad de disco de red (mejor conocido como servidor de archivos).
El paso más fácil es transferirlos a algún lugar en Internet. Esta es la transferencia que se realiza a través del protocolo DNS (UDP/53).
Al ser un puerto UDP, no tiene mucha sobrecarga, porque el tamaño de la cabecera IP es menor que la de TCP, y no hay recibos de entrega de datos (al contrario que TCP, que realiza esta confirmación).
El hecho de que el tráfico DNS no sea inspeccionado, analizado ni filtrado y de que tenga libertad en los firewalls para que la comunicación pueda suceder a cualquier dirección de red en Internet, facilita la transferencia de datos.
Pero la parte más inquietante de este tipo de comunicación ocurre en los equipos de los usuarios finales, en sus residencias, porque es muy difícil que todos ellos tengan un antivirus capaz de bloquear este tipo de malware.
¿Cómo sucede?
Pero, ¿cómo puede un sistema hacer esto sin que el usuario se dé cuenta? Esto sucede porque hay miles de equipos (a veces millones) que realizan los ataques.
Mucha gente habrá oído hablar de las redes llamadas botnets. La gran cantidad de ordenadores infectados puede crear una red de bots tan grande que se las arregle para realizar un ataque DDoS en alguna empresa o proveedor de acceso, que a su vez puede llevar a que esta empresa se quede incomunicada o inaccesible.
Pero, ¿cómo sucede un ataque así? ¿Cómo saben todos estos equipos que deben realizar un ataque de denegación de servicio en una compañía?
Volvamos al caso del malware instalado en el equipo (sea un notebook, teléfono o computador) de un hogar. Este malware está ahí, recopilando cierta información que logra capturar del dispositivo (exfiltration) y transfiriéndola a alguna ubicación de destino. La pregunta entonces sería, ¿cómo sabe dónde enviar esta información?
Cuando infecta un sistema, una de las cosas que este malware siempre hace es mantener alguna comunicación con una o varias URLs, para establecer la comunicación con el centro de comando y control (C2).
Con esto se las arregla para descargar malware (no entero, sino pieza por pieza, con el fin de engañar a los antivirus) y así disponer del sistema para realizar ataques DDoS.
¿Qué pasa si este malware está instalado en algún equipo conectado a su red corporativa? ¿Qué información ha recopilado de su red? ¿Qué se debe hacer para evitar este tipo de problemas?
Recomendaciones
A continuación, se presentan algunas sugerencias sobre cómo evitar este problema:
- Realice análisis y filtrados de todo el tráfico DNS a través de un IPS.
- Monte su topología interna de DNSs para liberar cualquier tráfico DNS solamente de un servidor DNS interno. Esto significa que si algún usuario intenta utilizar el 8.8.8.8 en su máquina, no podrá resolver ningún nombre.
- Compruebe qué servidores se utilizan en sus búsquedas y limite el tráfico DNS sólo a ellos.
- Utilice alguna herramienta que haga un análisis del tráfico solicitado y pueda actuar como un firewall DNS.
- Si publica un servicio en Internet que también se utiliza internamente en su empresa, use el recurso llamado DNS Views. Este permite que la respuesta sea personalizada, usando como validador la fuente de la pregunta, lo que impide crear reglas de cambio de IP (NAT) y otras acciones maliciosas para que las personas de dentro de la empresa accedan a un servicio que se publica fuera.
- Utilice sólo servidores esclavos para responder a las consultas de DNS. Deje el maestro solamente para servir como base de la configuración y originador de los sincronismos de la misma. Esto evita problemas como el envenenamiento de DNS.
- Utilice la función honeypots y realice un análisis temprano de lo que pueda ser un problema en el futuro para su negocio.
Por Everis LATAM