Grandoreiro banking malware: descifrando el algoritmo DGA
enero, 25, 2023
21 minutos de lectura
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).
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.
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):
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.
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:
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:
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:
// 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.
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.
Y según el valor del mes, en el método getMonthKey() se obtiene una llave distinta llamada mKey.
Con base en esto, del valor del día que se haya obtenido, se extrae el substring a utilizar en la siguiente sección:
A continuación se mandan a llamar las funciones getFormat, xorHexValues, remap y replaceEqToNull.
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 “=”.
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.
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:
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:
Confirmamos que el dominio del día actual está activo y listo para utilizarse en futuras campañas:
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:
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