Grandoreiro banking malware: descifrando el algoritmo DGA

Por Leonardo Beltran & Diana Tadeo del equipo Ocelot Threat Intelligence de Metabase Q

Contexto

Grandoreiro es un Banking Trojan escrito en lenguaje Delphi que surgió en el año 2017 atacando principalmente a Brasil y a algunos países de Latinoamérica. Este banking trojan es utilizado como backdoor para permitir al atacante acceder a los dispositivos de la víctima y así robar su información bancaria en las sesiones que este abra de banca en línea.

Una característica común de este tipo de banking trojans es el uso de distintos algoritmos generadores de dominios (DGA, por sus siglas en inglés) que dificulta a las organizaciones bloquear el tráfico malicioso saliente ya que se generan múltiples dominios, incluso, de forma diaria. El poder descifrar este tipo de algoritmos permitiría a una organización monitorear, detectar, bloquear y por ende, anticipar futuros ataques de estos actores.

En este blog, describimos el proceso que siguió el equipo de Threat Intelligence de Metabase Q para descifrar el algoritmo DGA utilizado por Grandoreiro en una campaña recientemente activa en México, lo cual nos permitió predecir los futuros dominios maliciosos a utilizarse por los actores por el resto del 2022, y con esto, proteger a cuentahabientes de nuestros clientes bancarios de forma proactiva. Con la intención de contribuir a la protección en la región, hemos decidido compartir estos indicadores para beneficio del sector bancario mexicano.

Motivación/Impacto

Robo de credenciales de cuentahabientes de banca en línea.

Puntos Clave

  • Esta campaña está activa en México y se distribuye a través de correos electrónicos no deseados.
  • Las víctimas son cuentahabientes de múltiples bancos mexicanos.
  • Este malware permite la recolección remota de datos de usuario y bancarios mediante el uso de dominios dinámicos.

Conclusiones

  • Grandoreiro se ha dirigido a la región mexicana por lo que el monitoreo constante de sus indicadores es fundamental para prevenir futuros ataques.

Propiedades del Malware

Nombre de archivo: dbghelp.dll

MD5: 61ebbb2dec6895f168e5feec74452be9

Primera vez visto: 12/07/2022

Tipo: DLL

Clasificación: Backdoor, Banking Trojan, Infostealer

TTPs:

  • Monitoreo de ventanas de navegadores
  • Captura de Pantalla
  • Uso de Domain Generator Algorithm (DGA)
  • Detener procesos del sistema operativo

Detalle del análisis

Análisis del proceso de infección

A través del monitoreo de Threat Intelligence de Metabase Q se detectó una campaña activa del malware brasileño Grandoreiro que se describe en este blog.

Esta muestra se identificó el 12 de julio del año en curso, sin embargo, hay una variante muy similar del 6 de julio. Lo cual sugiere el posible inicio de la campaña de este malware que, incluso, se encontraba activa al momento de escribir este blog.

La forma en que Grandoreiro realiza su infección es mediante campañas de Phishing para convencer a las y los usuarios a descargar y ejecutar un archivo adjunto. En este caso, se trata de una DLL con nombre dbghelp.dll haciéndose pasar como parte de un software legítimo de nombre: “intune.exe” o “Advanced Installer Intune Tool” (Figura 1).

Figura 1: Software aparentemente legítimo que contiene el malware Grandoreiro

Análisis técnico detallado: dbghelp.dll

Durante la primera parte del análisis del artefacto dbghelp.dll se encontró una relación entre esta y el dominio “bsalsa.com”, el cual pertenece a un sitio originalmente creado para el desarrollo de soluciones freeware del lenguaje Delphi.

Figura 2 : Sitio bsalsa.com antes de restringir su acceso

Este a su vez, tiene como una de sus más notables aportaciones el “Delphi – Embedded Web Browser”, que, de acuerdo a su github oficial: https://github.com/ghquant/Delphi-EmbeddedWB permite crear una aplicación de navegación web personalizada, agregar Internet, navegación de archivos, control del mouse, visualización de documentos, y la capacidad de descarga de datos a las aplicaciones.  Es posible que esta funcionalidad haya permitido acelerar la integración de Delphi con los navegadores para después tener propósitos maliciosos.

Continuando con el análisis, se encontraron las siguientes cadenas de texto que corresponden a la sospecha inicial de que esta variante ataca a cuentahabientes de distintos bancos en Mexico (ocultados en la imagen):

Figura 3: Cadenas relacionadas a múltiples bancos mexicanos halladas en la campaña

El malware fue escrito en Delphi7 y con posible nickname del desarrollador “lulalivre”, nombre que expresa una opinión política sobre uno de los ex mandatarios de Brasil. Esto, junto con el hecho de que hay muchas cadenas escritas en portugués, nos permite empezar a perfilar la variante que eventualmente terminamos confirmando como Grandoreiro debido a los TTPs y IOCs descritos a continuación.

Lo interesante es que esta nueva variante se enfoca a cuentahabientes en México pero, al mantener las funciones en portugués, sugiere una colaboración entre desarrolladores brasileños y actores con contexto en el sector bancario mexicano o que el malware fue modificado por este segundo grupo sin conocimiento de los actores brasileños.

El malware tiene validaciones para poder funcionar en las siguientes versiones de Windows:

  • Windows 8
  • Windows 10
  • Windows 11
  • Windows Server

Adentrándonos más al código, se halló una función que permite revisar si el usuario infectado se encuentra usando alguno de los navegadores más comunes en el sistema operativo Windows: Chrome, Firefox, IE, Edge, Opera, listados en el código como se muestra en la siguiente figura.

Figura 4: Caso de la apertura de algún navegador en el equipo de la víctima

Subsecuentemente, monitorea cuando la víctima accede a un sitio web del banco en el navegador, que contengan títulos relacionados a su banca en línea y palabras como “Log on” y “Net”.

En el caso de identificarse alguna de estas cadenas, se concentra en la recopilación de información sensible:

Figura 5: Segmento de código que se ejecuta si se abre algún sitio del banco

Una funcionalidad muy interesante, es la validación de que la comunicación sea solo entre el malware y el Command & Control sin terceros. Esto se consigue con el uso de cadenas específicas por cada banco, inyectadas en el tráfico de infección generado:

Figura 6: Funciones de validación para conexión

Una función interesante se encarga de capturar pantallas en el sistema, aplicándole una máscara de colores para ofuscar la imágen. Esta máscara se encuentra de este modo:

Figura 7: Contenido de la función 0xEB6520

// Generación de subdominio de DGA

Se encontró una función encargada de generar dominios dinámicos para la conexión con el C2. El algoritmo inicia usando

El algoritmo inicia usando TIdDayTime y realiza peticiones a time[.]nist[.]gov para obtener la fecha y realiza esta petición múltiples veces en caso de error.

Figura 8: Contenido del inicio de la función 0xEC22AC

De las cadenas obtenidas, estas se separan de acuerdo a sus espacios y «:» para darles un formato DD/MM/20YY, obteniendo así una nueva lista de fechas. A cada una de estas fechas se le extrae el día, el mes y el año.

Figura 9: Segmento de 0xEC22AC donde se extrae el día, mes y año

Y según el valor del mes, en el método getMonthKey() se obtiene una llave distinta llamada mKey.

Figura 10: Función getMonthKey()

Con base en esto, del valor del día que se haya obtenido, se extrae el substring a utilizar en la siguiente sección:

Figura 11: Extracto de código que obtiene el día

A continuación se mandan a llamar las funciones getFormat, xorHexValues, remap y replaceEqToNull.

Figura 12: Extracto de código para obtener el resultado final del dominio dinámico

En getFormat la llave obtenida a partir del mes y el último valor obtenido del año se combinan en una llave.

En xorHexValues se realiza un XOR con los valores de la fecha y la llave del mes para después obtener su valor hexadecimal.

Después, inicia remap donde, a partir de la salida anterior, se realiza una conversión e intercambio de valores concatenando en varias ocasiones el símbolo “=”.

Figura 13:  Extracto de la función remap

El resultado lo pasa todo a minúsculas y en el segmento replaceEqToNull cambia todos los “=” por “null”, dándonos como resultado un subdominio que se concatenará con la cadena “[.]freedynamicdns[.]org”, que resulta ser el dominio de un servicio utilizado para generar dominios dinámicos de forma gratuita.

Figura 14: Extracto de la función con replaceEqToNull

Al finalizar todo este proceso se le agrega al final la cadena “[.]freedynamicdns[.]org”, el cual es un servicio que permite generar dominios dinámicos de forma gratuita, según su descripción:

Figura 15: Imagen del sitio freedynamicdns.org que es público.

Cómo podemos ayudar

El Equipo Ofensivo de Metabase Q creó una herramienta para predecir automáticamente los dominios dinámicos a utilizarse durante el 2022 por esta variante Grandoreiro, misma que está disponible en nuestra plataforma de Inteligencia para los clientes:

Figura 16: Plataforma de Threat Intelligence de Metabase Q

Confirmamos que el dominio del día actual está activo y listo para utilizarse en futuras campañas:

Figura 17: Extracto de dominios futuros

Una vez vencido el día, este dominio deja de funcionar para darle paso al siguiente dominio dinámico.

Cabe mencionar que el gran trabajo de Trustwave ayudó mucho al rápido entendimiento de previos algoritmos similares al explicado en este blog:

https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/grandoreiro-banking-malware-resurfaces-for-tax-season/

Indicadores de compromiso

Hashes:  

61ebbb2dec6895f168e5feec74452be9

26f8dd7bba9792821eafddc3d0abb480

URLs:  

http[:]//www[.]bsalsa[.]com/

Dominios:  

bsalsa[.]com

freedynamicdns[.]org

Nombres de archivos:  

dbghelp.dll

Intune.exe

Llaves de Registro:  

Software\\Microsoft\\Windows\\CurrentVersion\\Run

Dominios generados por el DGA durante 2022:

2022-01-01 hdpftao0sqo0tbw.freedynamicdns.org

2022-01-02 hdpftjb0wqpjtaj.freedynamicdns.org

2022-01-03 hdpftkk1sjo4tar.freedynamicdns.org

2022-01-04 hdpftjb0xapktaw.freedynamicdns.org

2022-01-05 hdpftjs0szpmtaf.freedynamicdns.org

2022-01-06 hdpftbb0tjo3tjf.freedynamicdns.org

2022-01-07 hdpftjr1szodtjk.freedynamicdns.org

2022-01-08 hdpftjj1watmtaw.freedynamicdns.org

2022-01-09 hdpftjb0sjpktbb.freedynamicdns.org

2022-01-10 hdpftko1szodtjf.freedynamicdns.org

2022-01-11 hdpftjb0ujpktbb.freedynamicdns.org

2022-01-12 hdpftjf0ujpitbb.freedynamicdns.org

2022-01-13 hdpftbk0tapmtaf.freedynamicdns.org

2022-01-14 hdpftjj0xapktbb.freedynamicdns.org

2022-01-15 hdpftas1sjtltjw.freedynamicdns.org

2022-01-16 hdpftbw0tas4tas.freedynamicdns.org

2022-01-17 hdpftjs1sjthtjb.freedynamicdns.org

2022-01-18 hdpftaj1satitkk.freedynamicdns.org

2022-01-19 hdpftar0xjs5tag.freedynamicdns.org

2022-01-20 hdpftbk1wqs4tko.freedynamicdns.org

2022-01-21 hdpftjs1tqo0tjj.freedynamicdns.org

2022-01-22 hdpftjg1tathtjb.freedynamicdns.org

2022-01-23 hdpftjs1wqo1tjb.freedynamicdns.org

2022-01-24 hdpftjo1sao0tjw.freedynamicdns.org

2022-01-25 hdpftaf1szo1tbs.freedynamicdns.org

2022-01-26 hdpftjk1wzoztjo.freedynamicdns.org

2022-01-27 hdpftbb1ujs4tjn.freedynamicdns.org

2022-01-28 hdpftaj1tqtitko.freedynamicdns.org

2022-01-29 hdpftaf1tztktjw.freedynamicdns.org

2022-01-30 hdpftab1wqodtjg.freedynamicdns.org

2022-01-31 hdpftak0szo5tbb.freedynamicdns.org

2022-02-01 hdpftab0taphtaf.freedynamicdns.org

2022-02-02 hdpftar1uatktjg.freedynamicdns.org

2022-02-03 hdpftjg0tjsetjs.freedynamicdns.org

2022-02-04 hdpftjs1wztltjs.freedynamicdns.org

2022-02-05 hdpftan1xatktaj.freedynamicdns.org

2022-02-06 hdpftak1sqtjtjf.freedynamicdns.org

2022-02-07 hdpftjg0sqpitak.freedynamicdns.org

2022-02-08 hdpftbs0ujo1tko.freedynamicdns.org

2022-02-09 hdpftas1tzodtjw.freedynamicdns.org

2022-02-10 hdpftjk0taphtaf.freedynamicdns.org

2022-02-11 hdpftbw1xao1tko.freedynamicdns.org

2022-02-12 hdpftas1tzoztjj.freedynamicdns.org

2022-02-13 hdpftao1xqodtjw.freedynamicdns.org

2022-02-14 hdpftko1tztktjk.freedynamicdns.org

2022-02-15 hdpftjj0wzs3tbf.freedynamicdns.org

2022-02-16 hdpftjj0wzs2tbs.freedynamicdns.org

2022-02-17 hdpftjf1tas2tbw.freedynamicdns.org

2022-02-18 hdpftag1wztktjk.freedynamicdns.org

2022-02-19 hdpftjn1xjtltjo.freedynamicdns.org

2022-02-20 hdpftas1tjtjtjf.freedynamicdns.org

2022-02-21 hdpftjn1sqtktjk.freedynamicdns.org

2022-02-22 hdpftbb1xjo3tko.freedynamicdns.org

2022-02-23 hdpftbs0sjo1tjn.freedynamicdns.org

2022-02-24 hdpftbf0tjo1tko.freedynamicdns.org

2022-02-25 hdpftbs0tqo1tas.freedynamicdns.org

2022-02-26 hdpftjo0sao5tak.freedynamicdns.org

2022-02-27 hdpftar0sasftaf.freedynamicdns.org

2022-02-28 hdpftjn1wztltjf.freedynamicdns.org

2022-03-01 hdpftaf0tjs1tak.freedynamicdns.org

2022-03-02 hdpftjw0tjs2taf.freedynamicdns.org

2022-03-03 hdpftjb0uatktaw.freedynamicdns.org

2022-03-04 hdpftjo1wzs4tko.freedynamicdns.org

2022-03-05 hdpftaj1uaoztjg.freedynamicdns.org

2022-03-06 hdpftjg1sas4tjb.freedynamicdns.org

2022-03-07 hdpftbs0tqphtar.freedynamicdns.org

2022-03-08 hdpftjn1uatktbk.freedynamicdns.org

2022-03-09 hdpftbf0xjs1tag.freedynamicdns.org

2022-03-10 hdpftko1tjoftjj.freedynamicdns.org

2022-03-11 hdpftjf0wqo5tbs.freedynamicdns.org

2022-03-12 hdpftjg1tjo3tjw.freedynamicdns.org

2022-03-13 hdpftaj1waoetjs.freedynamicdns.org

2022-03-14 hdpftjf1tatktab.freedynamicdns.org

2022-03-15 hdpftag1sjoztjj.freedynamicdns.org

2022-03-16 hdpftbo0szs2taf.freedynamicdns.org

2022-03-17 hdpftar1wzs0tas.freedynamicdns.org

2022-03-18 hdpftjr1wqoetjf.freedynamicdns.org

2022-03-19 hdpftjj0sjo4taw.freedynamicdns.org

2022-03-20 hdpftan0tqs1taf.freedynamicdns.org

2022-03-21 hdpftbs0sjphtan.freedynamicdns.org

2022-03-22 hdpftbf0sqthtjn.freedynamicdns.org

2022-03-23 hdpftab1xqtjtaj.freedynamicdns.org

2022-03-24 hdpftjg1szs4tjb.freedynamicdns.org

2022-03-25 hdpftjw0xqo4tbs.freedynamicdns.org

2022-03-26 hdpftaf1wqtjtjj.freedynamicdns.org

2022-03-27 hdpftar0xqpktaf.freedynamicdns.org

2022-03-28 hdpftbs0wzs1tag.freedynamicdns.org

2022-03-29 hdpftas1xjpitan.freedynamicdns.org

2022-03-30 hdpftbk1xjtjtaj.freedynamicdns.org

2022-03-31 hdpftjo1tzo1tjf.freedynamicdns.org

2022-04-01 hdpftak0sztltbf.freedynamicdns.org

2022-04-02 hdpftjg0sjsdtjf.freedynamicdns.org

2022-04-03 hdpftas1tatltbs.freedynamicdns.org

2022-04-04 hdpftan0sapmtak.freedynamicdns.org

2022-04-05 hdpftas1sztltbf.freedynamicdns.org

2022-04-06 hdpftbw0tjtmtar.freedynamicdns.org

2022-04-07 hdpftan0szodtag.freedynamicdns.org

2022-04-08 hdpftbo0sjs2taf.freedynamicdns.org

2022-04-09 hdpftan0wzpmtag.freedynamicdns.org

2022-04-10 hdpftaf0tjodtas.freedynamicdns.org

2022-04-11 hdpftbw0sjsetan.freedynamicdns.org

2022-04-12 hdpftjo1wathtjo.freedynamicdns.org

2022-04-13 hdpftag1tzsdtan.freedynamicdns.org

2022-04-14 hdpftas0tasetbo.freedynamicdns.org

2022-04-15 hdpftjb0wzs1tjg.freedynamicdns.org

2022-04-16 hdpftjr1tjo2tbk.freedynamicdns.org

2022-04-17 hdpftag1szo0tbk.freedynamicdns.org

2022-04-18 hdpftjg1xqtjtbs.freedynamicdns.org

2022-04-19 hdpftar1sqs4taw.freedynamicdns.org

2022-04-20 hdpftab1wzs4taj.freedynamicdns.org

2022-04-21 hdpftan1wzo1tab.freedynamicdns.org

2022-04-22 hdpftbb1xjsetbo.freedynamicdns.org

2022-04-23 hdpftjo1tjtktjj.freedynamicdns.org

2022-04-24 hdpftbw0tqtltjf.freedynamicdns.org

2022-04-25 hdpftjs1sqtjtjb.freedynamicdns.org

2022-04-26 hdpftaw1xqoztjb.freedynamicdns.org

2022-04-27 hdpftas0tqtmtar.freedynamicdns.org

2022-04-28 hdpftjs1xqtktbw.freedynamicdns.org

2022-04-29 hdpftbo1tas4taj.freedynamicdns.org

2022-04-30 hdpftbo1xjo3taj.freedynamicdns.org

2022-05-01 hdpftjg0uaoetaw.freedynamicdns.org

2022-05-02 hdpftjo1tjpitbb.freedynamicdns.org

2022-05-03 hdpftaj1xqsztbk.freedynamicdns.org

2022-05-04 hdpftjk1wzo5tjo.freedynamicdns.org

2022-05-05 hdpftbs0tjphtar.freedynamicdns.org

2022-05-06 hdpftjj1tjpmtjo.freedynamicdns.org

2022-05-07 hdpftan1wzthtag.freedynamicdns.org

2022-05-08 hdpftjs0xatitaf.freedynamicdns.org

2022-05-09 hdpftjs1szpktaw.freedynamicdns.org

2022-05-10 hdpftjb0uaoetbs.freedynamicdns.org

2022-05-11 hdpftjb0ujodtjs.freedynamicdns.org

2022-05-12 hdpftjw0ujo3tbs.freedynamicdns.org

2022-05-13 hdpftas1xas2tko.freedynamicdns.org

2022-05-14 hdpftaf1xapktjg.freedynamicdns.org

2022-05-15 hdpftbs0tas1tjn.freedynamicdns.org

2022-05-16 hdpftaf1wzpjtaj.freedynamicdns.org

2022-05-17 hdpftbo0sqtitag.freedynamicdns.org

2022-05-18 hdpftbb0wztitak.freedynamicdns.org

2022-05-19 hdpftko1wasetbo.freedynamicdns.org

2022-05-20 hdpftab1wapktjg.freedynamicdns.org

2022-05-21 hdpftbo1wzsztab.freedynamicdns.org

2022-05-22 hdpftbb1xjsdtbo.freedynamicdns.org

2022-05-23 hdpftar1xjsztaw.freedynamicdns.org

2022-05-24 hdpftar1wqsdtab.freedynamicdns.org

2022-05-25 hdpftjg1sqo4tbw.freedynamicdns.org

2022-05-26 hdpftak0taphtar.freedynamicdns.org

2022-05-27 hdpftjj0xqoztaf.freedynamicdns.org

2022-05-28 hdpftbs0wzthtag.freedynamicdns.org

2022-05-29 hdpftkk1wqsdtab.freedynamicdns.org

2022-05-30 hdpftjr1szo0tbo.freedynamicdns.org

2022-05-31 hdpftjw1sjsztab.freedynamicdns.org

2022-06-01 hdpftjo1ujsztak.freedynamicdns.org

2022-06-02 hdpftjr1sjpltbw.freedynamicdns.org

2022-06-03 hdpftjw0wao4tbf.freedynamicdns.org

2022-06-04 hdpftjj0xapltbw.freedynamicdns.org

2022-06-05 hdpftjn1tqo3tjk.freedynamicdns.org

2022-06-06 hdpftjb0xqpmtjk.freedynamicdns.org

2022-06-07 hdpftjf0xao4taw.freedynamicdns.org

2022-06-08 hdpftbb0wztjtjn.freedynamicdns.org

2022-06-09 hdpftbs1tqtmtkk.freedynamicdns.org

2022-06-10 hdpftao1wzs4tjb.freedynamicdns.org

2022-06-11 hdpftjf1sjpmtbw.freedynamicdns.org

2022-06-12 hdpftaw1waodtjw.freedynamicdns.org

2022-06-13 hdpftbo1xas5tab.freedynamicdns.org

2022-06-14 hdpftas0tzoftbb.freedynamicdns.org

2022-06-15 hdpftbf0tqsztag.freedynamicdns.org

2022-06-16 hdpftab1wqtitjb.freedynamicdns.org

2022-06-17 hdpftjj0xjo4tbb.freedynamicdns.org

2022-06-18 hdpftaf0wztjtjn.freedynamicdns.org

2022-06-19 hdpftan0wzsztak.freedynamicdns.org

2022-06-20 hdpftaj1ujtmtjb.freedynamicdns.org

2022-06-21 hdpftbb1xapktbo.freedynamicdns.org

2022-06-22 hdpftbs0szoztjf.freedynamicdns.org

2022-06-23 hdpftbk1xqtitaw.freedynamicdns.org

2022-06-24 hdpftjg1szo3tbw.freedynamicdns.org

2022-06-25 hdpftjn1sas4tan.freedynamicdns.org

2022-06-26 hdpftbw0sjsftak.freedynamicdns.org

2022-06-27 hdpftjj0xjpmtbf.freedynamicdns.org

2022-06-28 hdpftkk1uao3tbw.freedynamicdns.org

2022-06-29 hdpftan0wzsztak.freedynamicdns.org

2022-06-30 hdpftan0tqphtaf.freedynamicdns.org

2022-07-01 hdpftjr1tas1tjb.freedynamicdns.org

2022-07-02 hdpftjj0was4tjs.freedynamicdns.org

2022-07-03 hdpftjg0tjs4tjk.freedynamicdns.org

2022-07-04 hdpftjr1sjo5tan.freedynamicdns.org

2022-07-05 hdpftan1xas0taj.freedynamicdns.org

2022-07-06 hdpftjf0xqtltbf.freedynamicdns.org

2022-07-07 hdpftab1uapmtkk.freedynamicdns.org

2022-07-08 hdpftjg0xaodtaf.freedynamicdns.org

2022-07-09 hdpftbf0wzodtak.freedynamicdns.org

2022-07-10 hdpftas0sasftar.freedynamicdns.org

2022-07-11 hdpftbf0sjsftar.freedynamicdns.org

2022-07-12 hdpftjk1tzsdtjj.freedynamicdns.org

2022-07-13 hdpftaj1wapjtko.freedynamicdns.org

2022-07-14 hdpftbo0saoftag.freedynamicdns.org

2022-07-15 hdpftan0saoftas.freedynamicdns.org

2022-07-16 hdpftaj1wzpktjn.freedynamicdns.org

2022-07-17 hdpftjk1sasztjf.freedynamicdns.org

2022-07-18 hdpftbb1xjsdtjj.freedynamicdns.org

2022-07-19 hdpftar1sqphtaj.freedynamicdns.org

2022-07-20 hdpftbb1xqo4tbk.freedynamicdns.org

2022-07-21 hdpftjo1tjsftjf.freedynamicdns.org

2022-07-22 hdpftbf0sjtktjf.freedynamicdns.org

2022-07-23 hdpftbk1ujpktjn.freedynamicdns.org

2022-07-24 hdpftaf1szsdtbf.freedynamicdns.org

2022-07-25 hdpftjb0xqs5tbs.freedynamicdns.org

2022-07-26 hdpftag1szphtjw.freedynamicdns.org

2022-07-27 hdpftjs1sasetjb.freedynamicdns.org

2022-07-28 hdpftjg1xqsdtjb.freedynamicdns.org

2022-07-29 hdpftaj1sasetjw.freedynamicdns.org

2022-07-30 hdpftan1xatmtbo.freedynamicdns.org

2022-07-31 hdpftbf1xao4tbo.freedynamicdns.org

2022-08-01 hdpftaf1was3tak.freedynamicdns.org

2022-08-02 hdpftab1xqtmtjj.freedynamicdns.org

2022-08-03 hdpftbo0szphtan.freedynamicdns.org

2022-08-04 hdpftjk1sqo0tjw.freedynamicdns.org

2022-08-05 hdpftjw0sqs1taj.freedynamicdns.org

2022-08-06 hdpftjw0xapjtbb.freedynamicdns.org

2022-08-07 hdpftaj0szs4tjn.freedynamicdns.org

2022-08-08 hdpftbw0wao4tar.freedynamicdns.org

2022-08-09 hdpftar1tatmtaj.freedynamicdns.org

2022-08-10 hdpftas0sao5tar.freedynamicdns.org

2022-08-11 hdpftjb0uapltaf.freedynamicdns.org

2022-08-12 hdpftbf0tzs3tag.freedynamicdns.org

2022-08-13 hdpftas1xqodtjw.freedynamicdns.org

2022-08-14 hdpftbo0sas1tak.freedynamicdns.org

2022-08-15 hdpftjk1szo1tjw.freedynamicdns.org

2022-08-16 hdpftan1waodtaw.freedynamicdns.org

2022-08-17 hdpftbk1uatktab.freedynamicdns.org

2022-08-18 hdpftbw0uao5tbo.freedynamicdns.org

2022-08-19 hdpftbs0uaphtan.freedynamicdns.org

2022-08-20 hdpftbb1xqo5tbo.freedynamicdns.org

2022-08-21 hdpftbb0sjo4tan.freedynamicdns.org

2022-08-22 hdpftbf0sqo4tan.freedynamicdns.org

2022-08-23 hdpftbb1wzphtbk.freedynamicdns.org

2022-08-24 hdpftak1sqo1tbf.freedynamicdns.org

2022-08-25 hdpftjf0xjpjtjg.freedynamicdns.org

2022-08-26 hdpftjj0xapktjs.freedynamicdns.org

2022-08-27 hdpftjf0xqpjtbb.freedynamicdns.org

2022-08-28 hdpftjb0sqphtbs.freedynamicdns.org

2022-08-29 hdpftjw0sjpktbb.freedynamicdns.org

2022-08-30 hdpftjf0ujpltaj.freedynamicdns.org

2022-08-31 hdpftkk1szphtjo.freedynamicdns.org

2022-09-01 hdpftak0sqpktbf.freedynamicdns.org

2022-09-02 hdpftjo1tapltjw.freedynamicdns.org

2022-09-03 hdpftaj1xqpitaw.freedynamicdns.org

2022-09-04 hdpftbb0tztjtas.freedynamicdns.org

2022-09-05 hdpftao1ujs0tjw.freedynamicdns.org

2022-09-06 hdpftjn1tzs2tab.freedynamicdns.org

2022-09-07 hdpftjk1sapmtbw.freedynamicdns.org

2022-09-08 hdpftjr1wqoftbo.freedynamicdns.org

2022-09-09 hdpftjw0xatltjs.freedynamicdns.org

2022-09-10 hdpftjr1sao4tbw.freedynamicdns.org

2022-09-11 hdpftaw1uapmtjb.freedynamicdns.org

2022-09-12 hdpftar1uas0taw.freedynamicdns.org

2022-09-13 hdpftab1tapmtbs.freedynamicdns.org

2022-09-14 hdpftjn1tqs3tbk.freedynamicdns.org

2022-09-15 hdpftjn1tzs3tbo.freedynamicdns.org

2022-09-16 hdpftjf1tjs1taw.freedynamicdns.org

2022-09-17 hdpftag1szs3tbk.freedynamicdns.org

2022-09-18 hdpftjj0sqo3tjg.freedynamicdns.org

2022-09-19 hdpftbs0uasztjn.freedynamicdns.org

2022-09-20 hdpftaf1xas3tjw.freedynamicdns.org

2022-09-21 hdpftjn1tjphtjf.freedynamicdns.org

2022-09-22 hdpftkk1szo4tbw.freedynamicdns.org

2022-09-23 hdpftjn1sjo5tjo.freedynamicdns.org

2022-09-24 hdpftjb1taodtbw.freedynamicdns.org

2022-09-25 hdpftan0sjtltak.freedynamicdns.org

2022-09-26 hdpftan0sjtktag.freedynamicdns.org

2022-09-27 hdpftaf1sapktbb.freedynamicdns.org

2022-09-28 hdpftaf0wqpltbf.freedynamicdns.org

2022-09-29 hdpftkk1was2tab.freedynamicdns.org

2022-09-30 hdpftjs0tatjtag.freedynamicdns.org

2022-10-01 hdpftab0tjtmtaj.freedynamicdns.org

2022-10-02 hdpftjb0wao0taf.freedynamicdns.org

2022-10-03 hdpftkk1sjoztar.freedynamicdns.org

2022-10-04 hdpftar0sjtjtag.freedynamicdns.org

2022-10-05 hdpftab1xjpltjw.freedynamicdns.org

2022-10-06 hdpftao1szs1tjj.freedynamicdns.org

2022-10-07 hdpftas1wqphtjw.freedynamicdns.org

2022-10-08 hdpftbw0ujsftjn.freedynamicdns.org

2022-10-09 hdpftaw1tjs2tjw.freedynamicdns.org

2022-10-10 hdpftar1wqtktag.freedynamicdns.org

2022-10-11 hdpftbs0saoftar.freedynamicdns.org

2022-10-12 hdpftbk1wzs0taw.freedynamicdns.org

2022-10-13 hdpftjb0tjo3tjs.freedynamicdns.org

2022-10-14 hdpftbf0tzsztko.freedynamicdns.org

2022-10-15 hdpftao1wqs2tjb.freedynamicdns.org

2022-10-16 hdpftjn1tjo4tjk.freedynamicdns.org

2022-10-17 hdpftao1wqs1tjj.freedynamicdns.org

2022-10-18 hdpftag1wzphtjf.freedynamicdns.org

2022-10-19 hdpftan0wztmtak.freedynamicdns.org

2022-10-20 hdpftan0tatmtaf.freedynamicdns.org

2022-10-21 hdpftbk1watktas.freedynamicdns.org

2022-10-22 hdpftaj1wasetkk.freedynamicdns.org

2022-10-23 hdpftab1ujtktas.freedynamicdns.org

2022-10-24 hdpftaj1wzsdtkk.freedynamicdns.org

2022-10-25 hdpftab1xqsftas.freedynamicdns.org

2022-10-26 hdpftan0sztktas.freedynamicdns.org

2022-10-27 hdpftjk1xqo4tjo.freedynamicdns.org

2022-10-28 hdpftbo1tjphtaw.freedynamicdns.org

2022-10-29 hdpftan1tjs3tab.freedynamicdns.org

2022-10-30 hdpftjk1tzo5tbw.freedynamicdns.org

2022-10-31 hdpftjw0wqs0taw.freedynamicdns.org

2022-11-01 hdpftbb0tzsetjg.freedynamicdns.org

2022-11-02 hdpftas1tqtltjk.freedynamicdns.org

2022-11-03 hdpftjb0uasztbs.freedynamicdns.org

2022-11-04 hdpftjg0sqsetjs.freedynamicdns.org

2022-11-05 hdpftjj1tjs0tab.freedynamicdns.org

2022-11-06 hdpftbs0tqs3tan.freedynamicdns.org

2022-11-07 hdpftaf1wzo2tas.freedynamicdns.org

2022-11-08 hdpftjk1xathtjj.freedynamicdns.org

2022-11-09 hdpftjg1wzs5tjf.freedynamicdns.org

2022-11-10 hdpftbb1tqs5tjj.freedynamicdns.org

2022-11-11 hdpftan1xqoftab.freedynamicdns.org

2022-11-12 hdpftan0tjo5tak.freedynamicdns.org

2022-11-13 hdpftbf0sjo4tag.freedynamicdns.org

2022-11-14 hdpftbw1wqo2tko.freedynamicdns.org

2022-11-15 hdpftbf0tqo4tas.freedynamicdns.org

2022-11-16 hdpftaw0tqo2tko.freedynamicdns.org

2022-11-17 hdpftao1wqtmtjj.freedynamicdns.org

2022-11-18 hdpftjw0sas0tbf.freedynamicdns.org

2022-11-19 hdpftjn1waoztbo.freedynamicdns.org

2022-11-20 hdpftkk1szoztbk.freedynamicdns.org

2022-11-21 hdpftko1szoztbo.freedynamicdns.org

2022-11-22 hdpftas0szs2tar.freedynamicdns.org

2022-11-23 hdpftjs1tjthtbf.freedynamicdns.org

2022-11-24 hdpftjg1sztjtjo.freedynamicdns.org

2022-11-25 hdpftjk1xqtktjo.freedynamicdns.org

2022-11-26 hdpftan1ujoetaw.freedynamicdns.org

2022-11-27 hdpftko1tatktjo.freedynamicdns.org

2022-11-28 hdpftjj0sjsetjg.freedynamicdns.org

2022-11-29 hdpftjn1was2tan.freedynamicdns.org

2022-11-30 hdpftjb0uas0tjk.freedynamicdns.org

2022-12-01 hdpftak1xjs5tjw.freedynamicdns.org

2022-12-02 hdpftjw0tzpmtag.freedynamicdns.org

2022-12-03 hdpftbs0sjpltas.freedynamicdns.org

2022-12-04 hdpftjo1xjoftko.freedynamicdns.org

2022-12-05 hdpftbo0sqs3taj.freedynamicdns.org

2022-12-06 hdpftbk0sas3taf.freedynamicdns.org

2022-12-07 hdpftab1xqtktkk.freedynamicdns.org

2022-12-08 hdpftaf1szs4tjg.freedynamicdns.org

2022-12-09 hdpftao0wqtmtbb.freedynamicdns.org

2022-12-10 hdpftjk0tapltak.freedynamicdns.org

2022-12-11 hdpftjb0tqs3taf.freedynamicdns.org

2022-12-12 hdpftbw0saodtjn.freedynamicdns.org

2022-12-13 hdpftjk0tqpjtaf.freedynamicdns.org

2022-12-14 hdpftbb0sjpltas.freedynamicdns.org

2022-12-15 hdpftbs0taoztkk.freedynamicdns.org

2022-12-16 hdpftjj1tzsftbf.freedynamicdns.org

2022-12-17 hdpftjw0xqs0taj.freedynamicdns.org

2022-12-18 hdpftjk1xatmtjw.freedynamicdns.org

2022-12-19 hdpftaf1szs4taj.freedynamicdns.org

2022-12-20 hdpftbk1wqs4tjg.freedynamicdns.org

2022-12-21 hdpftbo1xjo3taw.freedynamicdns.org

2022-12-22 hdpftjg1wqtitjo.freedynamicdns.org

2022-12-23 hdpftjk1wqthtbw.freedynamicdns.org

2022-12-24 hdpftas0tasetar.freedynamicdns.org

2022-12-25 hdpftko1tzo1tbk.freedynamicdns.org

2022-12-26 hdpftjw0xqs1tjg.freedynamicdns.org

2022-12-27 hdpftjj0xas0tjk.freedynamicdns.org

2022-12-28 hdpftbb1tzodtko.freedynamicdns.org

2022-12-29 hdpftaj1tzo1tjb.freedynamicdns.org

2022-12-30 hdpftao1tjtitjk.freedynamicdns.org

2022-12-31 hdpftao1xjo2tjj.freedynamicdns.org