Malware actualizado: DNS descentralizados basados en Blockchain


Quizás una de las noticias más destacadas del pasado mes de octubre fue la operación llevada a cabo por Microsoft y sus socios, al amparo de una orden judicial, para la desarticulación de Trickbot, un troyano bancario que ha evolucionado para convertirse en “mula” de diverso tipo de malware, como es el caso del ransomware Ryuk.

Introducción

Pese al duro golpe asestado a Trickbot, percibido a través de páginas como Feodo Tracker , en el que fueron disminuyendo los servidores de Trickbot operativos (aunque han surgido otros nuevos), diversos expertos señalaron que sería muy difícil acabar con la botnet.

Uno de los motivos más curiosos señalados y que ha pasado casi desapercibido es el uso de módulos que permiten emplear EmerDNS (la solución DNS basada en la blockchain de Emercoin) como servidor de dominio .

Este post va dirigido a exponer qué tiene que ver EmerDNS – y en particular los servidores de nombre de dominio (DNS) descentralizados - con la problemática de acabar con Trickbot o con otro malware que emplee técnicas relacionadas.

 

DNS descentralizados y malware

Los DNS descentralizados surgieron como una medida anti-censura, que, además, permite evitar problemas de seguridad relacionados con los DNS, tales como por ejemplo la redirección de dominios.

Mientras que hay varias formas de implementar un servidor de dominios descentralizado, las soluciones que emplean blockchain de forma nativa son las que permiten aprovechar por completo las ventajas que la tecnología ofrece.

Los usuarios registran sus dominios como parte de la creación de los bloques de la cadena de bloques, en un modelo que no depende de una entidad central sino de la blockchain, y por tanto eso ofrece ciertas ventajas destacables, entre las que se encuentran sus mecanismos de consenso robustos y verificables que aportan confianza al proceso.

En concreto, algunos de los puntos que más interesan desde el punto de vista del programador de malware son las siguientes:

  • Imposibilidad de alterar un bloque de la cadena (bloque que define el dominio) – el protocolo de consenso de blockchain garantiza la integridad de los datos por diseño, justamente lo que hace que sea ideal para las transacciones, dado que garantiza el no-repudio. Por lo tanto, aplicado al registro de dominios, si un usuario define un dominio, los datos de éste sólo pueden ser controlados por el usuario.
  • Descentralización, el control no recae en entidades que puedan tomar decisiones. Los propietarios de la blockchain ponen su mecanismo a disposición de los usuarios, pero no controlan sus bloques.
  • Libertad en la creación de dominios. Depende de la blockchain, dado que entidades privadas pueden restringir los dominios que se crean antes de la escritura, pero en general soluciones como EmerDNS permiten definir dominios con baja entropía, que no estaban antes disponibles en el mercado, y que dificultan las técnicas de detección conocidas.
  • Flexibilidad en las actualizaciones. La información sobre el dominio (p.ej. la IP a la que resuelve) puede ser actualizada de forma rápida por el usuario (mediante nuevas actuaciones en la blockchain), por lo que dificulta el seguimiento, la trazabilidad, definición de IOCs.  

Consideraciones durante el análisis

La operativa del malware que emplea estas soluciones puede identificarse gracias a algunas pautas observables durante la resolución de dominios.

Por ejemplo, si consideramos el ejemplo de EmerDNS, hay tres vías de acceso a la blockchain para conseguir los datos necesarios para llegar al dominio:

  • instalando extensiones en el navegador,
  • a través de servidores OpenNIC (debido a que tienen un acuerdo por el cual OpenNIC identifica y redirige peticiones a EmerDNS), y empleando servidores proxy (de OpenNIC o Emerproxy).

Como cada solución de DNS descentralizado basado en blockchain emplea su propia infraestructura, siempre basadas en una blockchain en concreto, los métodos deben ajustarse para saber llegar a la blockchain y así conseguir preguntar por el dominio en cuestión.

Estas son algunas de las comprobaciones que podríamos realizar para comprobar el uso de dominios descentralizados durante el análisis:

  • Identificar IPs usadas para resolver de forma recursiva. Ocurre con las IPs de OpenNIC , por ejemplo, ya que el método para encontrar los dominios es consultar en todo el árbol de dominios de forma recursiva.
    Precisamente, eso hace que estos servidores estén expuestos a ataques de amplificación DNS, y sea uno de los motivos por los que hay varios buscadores para comprobar esta característica, como por ejemplo OpenResolver. La siguiente figura muestra el resultado de hacer dicha comprobación sobre una IP empleada por una muestra de malware que emplea el dominio bestgame.bazar.

malware-descentralized-dns-blockchain-01

IP usada para resolver dominio

  • Identificar IPs pertenecientes a servidores OpenNIC y similares. Ésta es una de las operativas observadas en algunas muestras, como es el caso de Fbot , que contenía las direcciones OpenNIC ofuscadas en código y las usaba para resolver los dominios empleados. No se descartan otras vías, por ejemplo la instalación de plugins en los navegadores. Si estos modelos descentralizados son más comunes en el futuro esta vía ya estará garantizada por los equipos de los usuarios.
  • Comprobación de dominios en blockchains empleadas con estos fines. Cada blockchain puede proporcionar sus propios mecanismos para consulta, y las herramientas de análisis deberán adaptarse a este hecho; la comprobación de dominios tiene que considerar estos dominios “salvajes”.

malware-descentralized-dns-blockchain-02

malware-descentralized-dns-blockchain-03

Consulta del dominio bestgame.bazar en EmerAPI y respuesta en formato JSON del servicio

 

Uso actual de estos mecanismos

Una forma de comprobar el uso de estos dominios podría ser empleando búsquedas en repositorios de malware.

Además de los inconvenientes conocidos de la ofuscación deberíamos sumar los problemas a los que nos podríamos enfrentar dada la pluralidad de los dominios. Si hacemos pruebas de búsqueda con la extensión .bazar, una de las más conocidas en este ámbito gracias a la familia Bazar, vamos a encontrar algunos resultados que podrían ser interesantes de cara al análisis, y también ficheros que son en realidad ejecutables para trabajar con EmerDNS, totalmente legítimos.  

malware-descentralized-dns-blockchain-04

Dominios .bazar en la muestra fb8fe3010133ad5904bea7dc41fb8ac479599a1a5b3737476ffa2d81843d5cc0

 

malware-descentralized-dns-blockchain-05

Uso de opennic en muestras recientes

Un posible enfoque es partir de una de las muestras conocidas y aplicar el plugin de VirusTotal para IDA Pro que permite afinar las búsquedas hacia aquella característica del código malware que nos interesa.

Por ejemplo, la imagen siguiente toma para una muestra simple el resultado de VirusTotal Graph partiendo del hash

  • (1), donde se observan ficheros similares respecto a diferentes criterios, frente al resultado de hacer la búsqueda desde IDA Pro usando el plugin
  • (2), resultado donde el criterio de similitud se basa en el código ensamblador, y por tanto podemos ser mucho más certeros.

En este ejemplo sólo dos de los cinco ficheros de similitud comparten la operativa observada en el código que nos interesa.

malware-descentralized-dns-blockchain-06

Buscando ejecutables con características comunes en las funciones que operan con los dominios

 

 

Conclusiones

La característica del uso de DNS descentralizados basados en Blockchain introduce mejoras para el desarrollo de malware, y en particular para la comunicación con los servidores de C&C. Aunque las herramientas de análisis pueden identificar IPs y también dominios, la casuística de los DNS descentralizados debería destacarse, dado que representa una nueva forma de comportamiento.

Aunque diversos informes de malware señalan el uso de EmerDNS en malware reciente, lo cierto es que la descentralización de DNSs aún es un medio que está por explotar en toda su plenitud por parte de los creadores de malware. La única forma de estar preparados es siendo conscientes y preparando las herramientas de detección y análisis para reconocer mejor estas utilidades.

 

Publicado por David Morán

David has more than 15 years’ experience in cybersecurity, systems and development, starting out in an extinct hacking team known as Badchecksum. He collaborated on Defcon 19 with the Painsec security team. He is versed in scalable environments thanks to his work at the Tuenti social network with a traffic load of over 12Gbps. He has been involved with buguroo almost since the outset and has taken part in all the tools developed by the company, including source code analysers, malware analysis, cyber intelligence, etc. He also has in-depth knowledge of the Linux kernel, having developed LKMs that acted as rootkits as well as malware for Windows environments. He is currently the head of Revelock’s development team, managing task distribution and negotiating with the Head of Technology.

Como solucionamos la presencia de Malware

Protección y Alerta contra la presencia de Malware

bugFraud es la solución directa para detectar y frenar el malware conocido y zero-day. El exhaustivo sistema de buguroo para clasificar el malware elimina los falsos positivos y evita los falsos negativos

¿CÓMO LO RESUELVE BUGUROO?

Solicita una demo

¿Quieres ver cómo te protege nuestra solución?

Comprueba como puede ayudarte nuestra solución a resolver los problemas de fraude online de tu empresa, solicita gratuitamente una DEMO ahora y te explicamos en detalle.

Solicita una DEMO

¿Te ha gustado? Comparte en tus comunidades sociales.