Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Casi todos usamos los servicios de las tiendas en línea, lo que significa que tarde o temprano corremos el riesgo de convertirnos en víctimas de los rastreadores de JavaScript, un código especial que los atacantes inyectan en un sitio web para robar datos de tarjetas bancarias, direcciones, nombres de usuario y contraseñas. .

Casi 400 usuarios del sitio web y la aplicación móvil de British Airways ya se han visto afectados por los rastreadores, así como los visitantes del sitio web del gigante deportivo británico FILA y el distribuidor estadounidense de boletos Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris: estos y muchos otros sistemas de pago han sido infectados.

El analista de Threat Intelligence Group-IB, Viktor Okorokov, habla sobre cómo los rastreadores se infiltran en el código del sitio web y roban la información de pago, así como qué CRM atacan.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

"Amenaza oculta"

Dio la casualidad de que durante mucho tiempo los JS-sniffers permanecieron fuera de la vista de los analistas antivirus, y los bancos y los sistemas de pago no los vieron como una amenaza grave. Y absolutamente en vano. Expertos del Grupo-IB analizado 2440 tiendas en línea infectadas, cuyos visitantes, un total de alrededor de 1,5 millones de personas por día, estaban en riesgo de compromiso. Entre las víctimas no solo se encuentran los usuarios, sino también las tiendas en línea, los sistemas de pago y los bancos que emitieron tarjetas comprometidas.

Informe Group-IB se convirtió en el primer estudio del mercado darknet de sniffers, su infraestructura y formas de monetización, aportando millones de dólares a sus creadores. Identificamos 38 familias de rastreadores, de las cuales solo 12 eran conocidas previamente por los investigadores.

Detengámonos en detalle en las cuatro familias de sniffers estudiadas en el curso del estudio.

familia ReactGet

Los rastreadores de la familia ReactGet se utilizan para robar datos de tarjetas bancarias en sitios de compras en línea. El sniffer puede funcionar con una gran cantidad de diferentes sistemas de pago utilizados en el sitio: un valor de parámetro corresponde a un sistema de pago, y las versiones detectadas individuales del sniffer se pueden usar para robar credenciales, así como para robar datos de tarjetas bancarias del formas de pago de varios sistemas de pago a la vez, como el llamado sniffer universal. Se descubrió que, en algunos casos, los atacantes realizan ataques de phishing contra los administradores de tiendas en línea para obtener acceso al panel administrativo del sitio.

La campaña que utiliza esta familia de sniffers comenzó en mayo de 2017. Los sitios que ejecutan CMS y las plataformas Magento, Bigcommerce, Shopify fueron atacados.

Cómo se incrusta ReactGet en el código de una tienda online

Además de la inyección de secuencias de comandos “clásica” por enlace, los operadores de rastreadores de la familia ReactGet utilizan una técnica especial: utilizando código JavaScript, verifica si la dirección actual donde se encuentra el usuario cumple con ciertos criterios. El código malicioso solo se ejecutará si la URL actual contiene una subcadena caja o pago en un solo paso, una página/, fuera/onepag, pago/uno, pago/uno. Por lo tanto, el código rastreador se ejecutará exactamente en el momento en que el usuario proceda a pagar las compras e ingrese la información de pago en el formulario del sitio.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Este rastreador utiliza una técnica no estándar. Los datos personales y de pago de la víctima se recopilan juntos, se codifican mediante base64y luego la cadena resultante se usa como parámetro para enviar una solicitud al sitio malicioso. La mayoría de las veces, la ruta a la puerta imita un archivo JavaScript, por ejemplo resp.js, data.js y así sucesivamente, pero también se utilizan enlaces a archivos de imagen, GIF и JPG. La peculiaridad es que el sniffer crea un objeto de imagen con un tamaño de 1 por 1 píxel y utiliza el enlace obtenido previamente como parámetro. src Imágenes. Es decir, para el usuario, dicha solicitud en el tráfico se verá como una solicitud de una imagen normal. Se utilizó una técnica similar en la familia de sniffers ImageID. Además, la técnica de imagen de 1x1 píxel se utiliza en muchos scripts de análisis en línea legítimos, lo que también puede inducir a error al usuario.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Análisis de versiones

Un análisis de los dominios activos utilizados por los operadores rastreadores de ReactGet reveló muchas versiones diferentes de esta familia de rastreadores. Las versiones difieren en la presencia o ausencia de ofuscación y, además, cada sniffer está diseñado para un sistema de pago específico que procesa pagos con tarjeta bancaria para tiendas en línea. Después de clasificar el valor del parámetro correspondiente al número de versión, los especialistas de Group-IB recibieron una lista completa de las variaciones de sniffer disponibles y, por los nombres de los campos de formulario que cada sniffer busca en el código de la página, determinaron los sistemas de pago. que el rastreador apunta.

Lista de sniffers y sus correspondientes sistemas de pago

URL rastreador Sistema de Pagos
reaccionarjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 Tarjeta guardada
ajaxstatic.com/api.js?v=2.1.2 Authorize.Net
ajaxstatic.com/api.js?v=2.1.3 Authorize.Net
ajaxstatic.com/api.js?v=2.1.4 eWAY rápido
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 Adyen
ajaxstatic.com/api.js?v=2.1.7 USAePay
ajaxstatic.com/api.js?v=2.1.9 Authorize.Net
apitstatus.com/api.js?v=2.1.1 USAePay
apitstatus.com/api.js?v=2.1.2 Authorize.Net
apitstatus.com/api.js?v=2.1.3 Moneris
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6 PayPal
apitstatus.com/api.js?v=2.1.7 Sage Pay
apitstatus.com/api.js?v=2.1.8 Verisign
apitstatus.com/api.js?v=2.1.9 PayPal
apitstatus.com/api.js?v=2.3.0 Stripe
apitstatus.com/api.js?v=3.0.2 Realex
apitstatus.com/api.js?v=3.0.3 PayPal
apitstatus.com/api.js?v=3.0.4 Punto de enlace
apitstatus.com/api.js?v=3.0.5 PayPal
apitstatus.com/api.js?v=3.0.7 PayPal
apitstatus.com/api.js?v=3.0.8 efectivo de datos
apitstatus.com/api.js?v=3.0.9 PayPal
asianfoodgracer.com/footer.js Authorize.Net
billgetstatus.com/api.js?v=1.2 Authorize.Net
billgetstatus.com/api.js?v=1.3 Authorize.Net
billgetstatus.com/api.js?v=1.4 Authorize.Net
billgetstatus.com/api.js?v=1.5 Verisign
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 Moneris
billgetstatus.com/api.js?v=1.8 Sage Pay
billgetstatus.com/api.js?v=2.0 USAePay
billgetstatus.com/react.js Authorize.Net
cloudodesc.com/gtm.js?v=1.2 Authorize.Net
cloudodesc.com/gtm.js?v=1.3 Puerta electrónica ANZ
cloudodesc.com/gtm.js?v=2.3 Authorize.Net
cloudodesc.com/gtm.js?v=2.4 Moneris
cloudodesc.com/gtm.js?v=2.6 Sage Pay
cloudodesc.com/gtm.js?v=2.7 Sage Pay
cloudodesc.com/gtm.js?v=2.8 persecución Paymentech
cloudodesc.com/gtm.js?v=2.9 Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Adyen
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93 Fuente cibernética
cloudodesc.com/gtm.js?v=2.95 Puerta electrónica ANZ
cloudodesc.com/gtm.js?v=2.97 Realex
geisseie.com/gs.js USAePay
gtmproc.com/age.js Authorize.Net
gtmproc.com/gtm.js?v=1.2 Authorize.Net
gtmproc.com/gtm.js?v=1.3 Puerta electrónica ANZ
gtmproc.com/gtm.js?v=1.5 PayPal
gtmproc.com/gtm.js?v=1.6 PayPal
gtmproc.com/gtm.js?v=1.7 Realex
livecheckpay.com/api.js?v=2.0 Sage Pay
livecheckpay.com/api.js?v=2.1 PayPal
livecheckpay.com/api.js?v=2.2 Verisign
livecheckpay.com/api.js?v=2.3 Authorize.Net
livecheckpay.com/api.js?v=2.4 Verisign
livecheckpay.com/react.js Authorize.Net
livegetpay.com/pay.js?v=2.1.2 Puerta electrónica ANZ
livegetpay.com/pay.js?v=2.1.3 PayPal
livegetpay.com/pay.js?v=2.1.5 Fuente cibernética
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 Sage Pay
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 Fuente cibernética
livegetpay.com/pay.js?v=2.2.1 PayPal
livegetpay.com/pay.js?v=2.2.2 PayPal
livegetpay.com/pay.js?v=2.2.3 PayPal
livegetpay.com/pay.js?v=2.2.4 Verisign
livegetpay.com/pay.js?v=2.2.5 eWAY rápido
livegetpay.com/pay.js?v=2.2.7 Sage Pay
livegetpay.com/pay.js?v=2.2.8 Sage Pay
livegetpay.com/pay.js?v=2.2.9 Verisign
livegetpay.com/pay.js?v=2.3.0 Authorize.Net
livegetpay.com/pay.js?v=2.3.1 Authorize.Net
livegetpay.com/pay.js?v=2.3.2 Primera puerta de enlace global de datos
livegetpay.com/pay.js?v=2.3.3 Authorize.Net
livegetpay.com/pay.js?v=2.3.4 Authorize.Net
livegetpay.com/pay.js?v=2.3.5 Moneris
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 PayPal
livegetpay.com/pay.js?v=2.4.0 Verisign
maxstatics.com/sitio.js USAePay
mediapack.info/track.js?d=funlove.com USAePay
mediapack.info/track.js?d=qbedding.com Authorize.Net
mediapack.info/track.js?d=vseyewear.com Verisign
mxcounter.com/c.js?v=1.2 PayPal
mxcounter.com/c.js?v=1.3 Authorize.Net
mxcounter.com/c.js?v=1.4 Stripe
mxcounter.com/c.js?v=1.6 Authorize.Net
mxcounter.com/c.js?v=1.7 eWAY rápido
mxcounter.com/c.js?v=1.8 Sage Pay
mxcounter.com/c.js?v=2.0 Authorize.Net
mxcounter.com/c.js?v=2.1 Braintree
mxcounter.com/c.js?v=2.10 Braintree
mxcounter.com/c.js?v=2.2 PayPal
mxcounter.com/c.js?v=2.3 Sage Pay
mxcounter.com/c.js?v=2.31 Sage Pay
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33 PayPal
mxcounter.com/c.js?v=2.34 Authorize.Net
mxcounter.com/c.js?v=2.35 Verisign
mxcounter.com/click.js?v=1.2 PayPal
mxcounter.com/click.js?v=1.3 Authorize.Net
mxcounter.com/click.js?v=1.4 Stripe
mxcounter.com/click.js?v=1.6 Authorize.Net
mxcounter.com/click.js?v=1.7 eWAY rápido
mxcounter.com/click.js?v=1.8 Sage Pay
mxcounter.com/click.js?v=2.0 Authorize.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2 PayPal
mxcounter.com/click.js?v=2.3 Sage Pay
mxcounter.com/click.js?v=2.31 Sage Pay
mxcounter.com/click.js?v=2.32 Authorize.Net
mxcounter.com/click.js?v=2.33 PayPal
mxcounter.com/click.js?v=2.34 Authorize.Net
mxcounter.com/click.js?v=2.35 Verisign
mxcounter.com/cnt.js Authorize.Net
mxcounter.com/j.js Authorize.Net
newrelicnet.com/api.js?v=1.2 Authorize.Net
newrelicnet.com/api.js?v=1.4 Authorize.Net
newrelicnet.com/api.js?v=1.8 Sage Pay
newrelicnet.com/api.js?v=4.5 Sage Pay
newrelicnet.com/api.js?v=4.6 Pago de Westpac
nr-public.com/api.js?v=2.0 pago fuerte
nr-public.com/api.js?v=2.1 PayPal
nr-public.com/api.js?v=2.2 Authorize.Net
nr-public.com/api.js?v=2.3 Stripe
nr-public.com/api.js?v=2.4 Primera puerta de enlace global de datos
nr-public.com/api.js?v=2.5 PsiGate
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7 Authorize.Net
nr-public.com/api.js?v=2.8 Moneris
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 Sage Pay
nr-public.com/api.js?v=3.2 Verisign
nr-public.com/api.js?v=3.3 Moneris
nr-public.com/api.js?v=3.5 PayPal
nr-public.com/api.js?v=3.6 Punto de enlace
nr-public.com/api.js?v=3.7 Pago de Westpac
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0 Moneris
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Adyen
nr-public.com/api.js?v=4.0.4 PayPal
nr-public.com/api.js?v=4.0.5 Authorize.Net
nr-public.com/api.js?v=4.0.6 USAePay
nr-public.com/api.js?v=4.0.7 EBizCarga
nr-public.com/api.js?v=4.0.8 Authorize.Net
nr-public.com/api.js?v=4.0.9 Verisign
nr-public.com/api.js?v=4.1.2 Verisign
ordercheckpays.com/api.js?v=2.11 Authorize.Net
ordercheckpays.com/api.js?v=2.12 PayPal
ordercheckpays.com/api.js?v=2.13 Moneris
ordercheckpays.com/api.js?v=2.14 Authorize.Net
ordercheckpays.com/api.js?v=2.15 PayPal
ordercheckpays.com/api.js?v=2.16 PayPal
ordercheckpays.com/api.js?v=2.17 Pago de Westpac
ordercheckpays.com/api.js?v=2.18 Authorize.Net
ordercheckpays.com/api.js?v=2.19 Authorize.Net
ordercheckpays.com/api.js?v=2.21 Sage Pay
ordercheckpays.com/api.js?v=2.22 Verisign
ordercheckpays.com/api.js?v=2.23 Authorize.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 pago fuerte
ordercheckpays.com/api.js?v=2.29 Fuente cibernética
ordercheckpays.com/api.js?v=2.4 Payflow Pro de PayPal
ordercheckpays.com/api.js?v=2.7 Authorize.Net
ordercheckpays.com/api.js?v=2.8 Authorize.Net
ordercheckpays.com/api.js?v=2.9 Verisign
ordercheckpays.com/api.js?v=3.1 Authorize.Net
ordercheckpays.com/api.js?v=3.2 Authorize.Net
ordercheckpays.com/api.js?v=3.3 Sage Pay
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5 Stripe
ordercheckpays.com/api.js?v=3.6 Authorize.Net
ordercheckpays.com/api.js?v=3.7 Authorize.Net
ordercheckpays.com/api.js?v=3.8 Verisign
ordercheckpays.com/api.js?v=3.9 PayPal
ordercheckpays.com/api.js?v=4.0 Authorize.Net
ordercheckpays.com/api.js?v=4.1 Authorize.Net
ordercheckpays.com/api.js?v=4.2 Sage Pay
ordercheckpays.com/api.js?v=4.3 Authorize.Net
reaccionarjsapi.com/api.js?v=0.1.0 Authorize.Net
reaccionarjsapi.com/api.js?v=0.1.1 PayPal
reaccionarjsapi.com/api.js?v=4.1.2 Piedra mineral
reaccionarjsapi.com/api.js?v=4.1.4 PayPal
reaccionarjsapi.com/api.js?v=4.1.5 Sage Pay
reaccionarjsapi.com/api.js?v=4.1.51 Verisign
reaccionarjsapi.com/api.js?v=4.1.6 Authorize.Net
reaccionarjsapi.com/api.js?v=4.1.7 Authorize.Net
reaccionarjsapi.com/api.js?v=4.1.8 Stripe
reaccionarjsapi.com/api.js?v=4.1.9 Cebra gorda
reaccionarjsapi.com/api.js?v=4.2.0 Sage Pay
reaccionarjsapi.com/api.js?v=4.2.1 Authorize.Net
reaccionarjsapi.com/api.js?v=4.2.2 Primera puerta de enlace global de datos
reaccionarjsapi.com/api.js?v=4.2.3 Authorize.Net
reaccionarjsapi.com/api.js?v=4.2.4 eWAY rápido
reaccionarjsapi.com/api.js?v=4.2.5 Adyen
reaccionarjsapi.com/api.js?v=4.2.7 PayPal
reaccionarjsapi.com/api.js?v=4.2.8 Servicios comerciales de QuickBooks
reaccionarjsapi.com/api.js?v=4.2.9 Verisign
reaccionarjsapi.com/api.js?v=4.2.91 Sage Pay
reaccionarjsapi.com/api.js?v=4.2.92 Verisign
reaccionarjsapi.com/api.js?v=4.2.94 Authorize.Net
reaccionarjsapi.com/api.js?v=4.3.97 Authorize.Net
reaccionarjsapi.com/api.js?v=4.5 Sage Pay
reaccionarjsapi.com/react.js Authorize.Net
sydneysalonsupplies.com/gtm.js eWAY rápido
etiquetasmediaget.com/react.js Authorize.Net
etiquetastracking.com/tag.js?v=2.1.2 Puerta electrónica ANZ
etiquetastracking.com/tag.js?v=2.1.3 PayPal
etiquetastracking.com/tag.js?v=2.1.5 Fuente cibernética
etiquetastracking.com/tag.js?v=2.1.7 Authorize.Net
etiquetastracking.com/tag.js?v=2.1.8 Sage Pay
etiquetastracking.com/tag.js?v=2.1.9 Realex
etiquetastracking.com/tag.js?v=2.2.0 Fuente cibernética
etiquetastracking.com/tag.js?v=2.2.1 PayPal
etiquetastracking.com/tag.js?v=2.2.2 PayPal
etiquetastracking.com/tag.js?v=2.2.3 PayPal
etiquetastracking.com/tag.js?v=2.2.4 Verisign
etiquetastracking.com/tag.js?v=2.2.5 eWAY rápido
etiquetastracking.com/tag.js?v=2.2.7 Sage Pay
etiquetastracking.com/tag.js?v=2.2.8 Sage Pay
etiquetastracking.com/tag.js?v=2.2.9 Verisign
etiquetastracking.com/tag.js?v=2.3.0 Authorize.Net
etiquetastracking.com/tag.js?v=2.3.1 Authorize.Net
etiquetastracking.com/tag.js?v=2.3.2 Primera puerta de enlace global de datos
etiquetastracking.com/tag.js?v=2.3.3 Authorize.Net
etiquetastracking.com/tag.js?v=2.3.4 Authorize.Net
etiquetastracking.com/tag.js?v=2.3.5 Moneris
etiquetastracking.com/tag.js?v=2.3.6 Authorize.Net
etiquetastracking.com/tag.js?v=2.3.8 PayPal

Rastreador de contraseñas

Una de las ventajas de los rastreadores de JavaScript que funcionan en el lado del cliente de un sitio web es su versatilidad: el código malicioso incrustado en un sitio web puede robar cualquier tipo de datos, ya sea información de pago o un nombre de usuario y contraseña de una cuenta de usuario. Los especialistas de Group-IB descubrieron una muestra de un sniffer perteneciente a la familia ReactGet, diseñado para robar direcciones de correo electrónico y contraseñas de los usuarios del sitio.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Intersección con el rastreador ImageID

Durante el análisis de una de las tiendas infectadas, se encontró que su sitio web estaba infectado dos veces: además del código malicioso del sniffer de la familia ReactGet, se encontró el código del sniffer de la familia ImageID. Esta superposición podría ser evidencia de que los operadores detrás del uso de ambos rastreadores están usando técnicas similares para inyectar código malicioso.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

rastreador universal

Durante el análisis de uno de los nombres de dominio relacionados con la infraestructura del sniffer de ReactGet, se encontró que el mismo usuario registró otros tres nombres de dominio. Estos tres dominios imitaban los dominios de los sitios de la vida real y anteriormente se usaban para albergar rastreadores. Al analizar el código de tres sitios legítimos, se encontró un rastreador desconocido y un análisis posterior mostró que se trata de una versión mejorada del rastreador ReactGet. Todas las versiones rastreadas anteriormente de esta familia de sniffers estaban dirigidas a un solo sistema de pago, es decir, se requería una versión especial del sniffer para cada sistema de pago. Sin embargo, en este caso se descubrió una versión universal del sniffer, capaz de robar información de formularios relacionados con 15 sistemas de pago diferentes y módulos de sitios de comercio electrónico para pagos en línea.

Entonces, al comienzo del trabajo, el sniffer buscó campos de formulario básicos que contenían la información personal de la víctima: nombre completo, dirección física, número de teléfono.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Luego, el rastreador buscó en más de 15 prefijos diferentes correspondientes a diferentes sistemas de pago y módulos para pagos en línea.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
A continuación, los datos personales de la víctima y la información de pago se recopilaron y enviaron a un sitio controlado por el atacante: en este caso particular, se encontraron dos versiones del sniffer universal ReactGet ubicadas en dos sitios pirateados diferentes. Sin embargo, ambas versiones enviaron los datos robados al mismo sitio pirateado. zoobashop.com.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Un análisis de los prefijos utilizados por el rastreador para encontrar campos que contengan la información de pago de la víctima determinó que esta muestra del rastreador estaba dirigida a los siguientes sistemas de pago:

  • Authorize.Net
  • Verisign
  • Primeros datos
  • USAePay
  • Stripe
  • PayPal
  • Puerta electrónica ANZ
  • Braintree
  • Efectivo de datos (MasterCard)
  • Pagos realex
  • PsiGate
  • Sistemas de pago Heartland

Qué herramientas se utilizan para robar información de pago

La primera herramienta descubierta durante el análisis de la infraestructura de los atacantes sirve para ofuscar los scripts maliciosos responsables del robo de tarjetas bancarias. Se encontró un script bash que usaba la CLI del proyecto en uno de los hosts de los atacantes. javascript-ofuscador para automatizar la ofuscación del código sniffer.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
La segunda herramienta descubierta está diseñada para generar el código responsable de cargar el sniffer principal. Esta herramienta genera un código JavaScript que verifica si el usuario está en la página de pago buscando las cadenas en la dirección actual del usuario. caja, Cesta y así sucesivamente, y si el resultado es positivo, entonces el código carga el sniffer principal del servidor del intruso. Para ocultar la actividad maliciosa, todas las líneas, incluidas las líneas de prueba para determinar la página de pago, así como un enlace al rastreador, se codifican con base64.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Ataques de phishing

Durante el análisis de la infraestructura de red de los atacantes, se descubrió que el grupo delictivo a menudo utiliza el phishing para obtener acceso al panel administrativo de la tienda en línea de destino. Los atacantes registran un dominio que parece un dominio de tienda y luego implementan un formulario de inicio de sesión de administrador de Magento falso en él. Si tienen éxito, los atacantes obtendrán acceso al panel de administración de Magento CMS, que les da la capacidad de editar los componentes del sitio e implementar un sniffer para robar datos de tarjetas de crédito.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Infraestructura

Nombre de dominio Fecha de descubrimiento/aparición
mediapack.info 04.05.2017
anunciosgetapi.com 15.06.2017
contadorsim.com 14.08.2017
magoanalytics.com 22.12.2017
maxstatics.com 16.01.2018
reaccionarjsapi.com 19.01.2018
mxcounter.com 02.02.2018
apitstatus.com 01.03.2018
ordenracker.com 20.04.2018
seguimiento de etiquetas.com 25.06.2018
anunciosapigate.com 12.07.2018
trusttracker.com 15.07.2018
fbstatspartner.com 02.10.2018
billgetstatus.com 12.10.2018
www.aldenmlilhouse.com 20.10.2018
balletbeautlful.com 20.10.2018
bargalnjunkie.com 20.10.2018
payselector.com 21.10.2018
etiquetasmediaget.com 02.11.2018
hs-pagos.com 16.11.2018
ordencheckpays.com 19.11.2018
geisseie.com 24.11.2018
gtmproc.com 29.11.2018
livegetpay.com 18.12.2018
sydneysalonsupplies.com 18.12.2018
nuevarelicnet.com 19.12.2018
nr-public.com 03.01.2019
nubeodesc.com 04.01.2019
ajaxstatic.com 11.01.2019
livecheckpay.com 21.01.2019
Asianfoodgracer.com 25.01.2019

Familia G-Analytics

Esta familia de sniffers se utiliza para robar tarjetas de clientes de tiendas online. El primer nombre de dominio utilizado por el grupo se registró en abril de 2016, lo que puede indicar el comienzo de la actividad del grupo a mediados de 2016.

En la campaña actual, el grupo usa nombres de dominio que imitan servicios de la vida real como Google Analytics y jQuery, enmascarando la actividad de los rastreadores con secuencias de comandos legítimas y nombres de dominio que parecen legítimos. Los sitios web que se ejecutan bajo CMS Magento fueron atacados.

Cómo se implementa G-Analytics en el código de la tienda online

Una característica distintiva de esta familia es el uso de varios métodos para robar la información de pago del usuario. Además de la clásica inyección de JavaScript en el lado del cliente del sitio, el grupo criminal también usó la técnica de inyectar código en el lado del servidor del sitio, es decir, scripts PHP que procesan la entrada del usuario. Esta técnica es peligrosa porque dificulta que los investigadores externos detecten códigos maliciosos. Los especialistas de Group-IB descubrieron una versión del sniffer incrustado en el código PHP del sitio, utilizando el dominio como puerta dittm.org.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
También se descubrió una versión anterior de un sniffer que utiliza el mismo dominio para recopilar datos robados. dittm.org, pero esta versión ya está pensada para la instalación en el lado del cliente de la tienda en línea.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Posteriormente, el grupo cambió sus tácticas y comenzó a prestar más atención a la ocultación de actividades maliciosas y al camuflaje.

A principios de 2017, el grupo comenzó a utilizar el dominio jquery-js.comdisfrazado de CDN para jQuery: redirige al usuario a un sitio legítimo cuando va a un sitio malicioso jquery.com.

Y a mediados de 2018, el grupo adoptó un nombre de dominio g-analytics.com y comenzó a disfrazar la actividad del sniffer como un servicio legítimo de Google Analytics.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Análisis de versiones

Durante el análisis de los dominios utilizados para almacenar el código rastreador, se encontró que el sitio tiene una gran cantidad de versiones que difieren en la presencia de ofuscación, así como la presencia o ausencia de código inalcanzable agregado al archivo para distraer la atención. y ocultar código malicioso.

Total en el sitio jquery-js.com Se identificaron seis versiones de sniffers. Estos rastreadores envían los datos robados a una dirección ubicada en el mismo sitio que el propio rastreador: hxxps://jquery-js[.]com/latest/jquery.min.js:

  • hxxps://jquery-js[.]com/jquery.min.js
  • hxxps://jquery-js[.]com/jquery.2.2.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.8.3.min.js
  • hxxps://jquery-js[.]com/jquery.1.6.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.4.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.12.4.min.js

dominio posterior g-analytics.com, utilizado por el grupo en ataques desde mediados de 2018, sirve como depósito para más rastreadores. En total, se descubrieron 16 versiones diferentes del sniffer. En este caso, la puerta para enviar los datos robados se disfrazó como un enlace a una imagen del formato GIF: hxxp://g-analytics[.]com/__utm.gif?v=1&_v=j68&a=98811130&t=pageview&_s=1&sd=24-bit&sr=2560×1440&vp=2145×371&je=0&_u=AACAAEAB~&jid=1841704724&gjid=877686936&cid
= 1283183910.1527732071
:

  • hxxps://g-analytics[.]com/libs/1.0.1/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.10/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.11/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.12/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.13/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.14/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.15/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.16/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.3/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.4/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.5/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.6/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.7/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.8/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.9/analytics.js
  • hxxps://g-analytics[.]com/libs/analytics.js

Monetización de datos robados

El grupo delictivo monetiza los datos robados mediante la venta de tarjetas a través de una tienda clandestina especialmente creada que brinda servicios a los usuarios de tarjetas. Un análisis de los dominios utilizados por los atacantes permitió determinar que google-analytics.cm fue registrado por el mismo usuario que el dominio cardz.vc. Dominio cardz.vc se refiere a Cardsurfs (Flysurfs), una tienda que vende tarjetas bancarias robadas, que ganó popularidad durante el mercado clandestino AlphaBay como una tienda que vendía tarjetas bancarias robadas usando un rastreador.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Analizando el dominio analítico.es, ubicado en el mismo servidor que los dominios utilizados por los rastreadores para recopilar datos robados, los especialistas de Group-IB encontraron un archivo que contenía registros de ladrones de cookies que, al parecer, fue abandonado más tarde por el desarrollador. Una de las entradas en el registro contenía un dominio iozoz.com, que se utilizó anteriormente en uno de los sniffers activos en 2016. Presuntamente, este dominio fue utilizado previamente por un atacante para recolectar tarjetas robadas usando un sniffer. Este dominio fue registrado a una dirección de correo electrónico [email protected], que también se utilizó para registrar dominios cardz.su и cardz.vcrelacionado con la tienda de cardado Cardsurfs.

Según los datos obtenidos, se puede suponer que la familia de rastreadores G-Analytics y la tienda clandestina de tarjetas bancarias Cardsurfs están a cargo de las mismas personas, y la tienda se utiliza para vender tarjetas bancarias robadas mediante un rastreador.

Infraestructura

Nombre de dominio Fecha de descubrimiento/aparición
iozoz.com 08.04.2016
dittm.org 10.09.2016
jquery-js.com 02.01.2017
g-analytics.com 31.05.2018
google-analytics.es 21.11.2018
analitica 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
analítico.es 28.12.2018
googlelc-analytics.cm 17.01.2019

familia ilum

Illum es una familia de sniffers que se utiliza para atacar tiendas en línea que ejecutan Magento CMS. Además de la introducción de código malicioso, los operadores de este sniffer también utilizan la introducción de formularios de pago falsos completos que envían datos a las puertas controladas por los atacantes.

Al analizar la infraestructura de red utilizada por los operadores de este sniffer, se observó una gran cantidad de scripts maliciosos, exploits, formas de pago falsas, así como una colección de ejemplos con competidores de sniffer maliciosos. Con base en la información sobre las fechas de aparición de los nombres de dominio utilizados por el grupo, se puede suponer que el inicio de la campaña cae a finales de 2016.

Cómo se implementa Illum en el código de una tienda online

Las primeras versiones descubiertas del sniffer se incrustaron directamente en el código del sitio comprometido. Los datos robados fueron enviados a cdn.illum[.]pw/registros.php, la puerta fue codificada usando base64.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Más tarde, se descubrió una versión empaquetada del sniffer usando una puerta diferente: registros.nstatistics[.]com/records.php.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
según informar Willem de Groot, se usó el mismo host en el sniffer que se implementó en sitio de la tienda, propiedad del partido político alemán CSU.

Análisis del sitio de ataque

Los especialistas de Group-IB descubrieron y analizaron el sitio utilizado por este grupo criminal para almacenar herramientas y recopilar información robada.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Entre las herramientas encontradas en el servidor del atacante se encontraron scripts y exploits para la escalada de privilegios en el sistema operativo Linux: por ejemplo, Linux Privilege Escalation Check Script, desarrollado por Mike Czumak, así como un exploit para CVE-2009-1185.

Los atacantes utilizaron dos exploits directamente para atacar las tiendas en línea: primero capaz de inyectar código malicioso en core_config_data al explotar CVE-2016-4010, segundo explota una vulnerabilidad RCE en los complementos de Magento CMS, lo que permite ejecutar código arbitrario en un servidor web vulnerable.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Además, durante el análisis del servidor, se encontraron varias muestras de rastreadores y formularios de pago falsos, utilizados por los atacantes para recopilar información de pago de sitios pirateados. Como puede ver en la lista a continuación, se crearon algunos scripts individualmente para cada sitio pirateado, mientras que se utilizó una solución universal para ciertos CMS y pasarelas de pago. Por ejemplo, guiones segapay_estándar.js и segapay_onpage.js diseñado para integrarse en sitios que utilizan la pasarela de pago Sage Pay.

Lista de scripts para varias pasarelas de pago

Guión Pasarela de pago
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js //solicitud.payrightnow[.]cf/chequepago.php
sr.illum[.]pw/mjs_special/topdirenshop.nl.js //solicitud.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/tiendalenovo.es.js //solicitud.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/pro-bolt.com.js //solicitud.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/plae.co.js //solicitud.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/ottolenghi.co.uk.js //solicitud.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/oldtimecandy.com.js //solicitud.payrightnow[.]cf/chequepago.php
sr.illum[.]pw/mjs_special/mylook.ee.js //cdn.illum[.]pw/registros.php
sr.illum[.]pw/mjs_special/luluandsky.com.js //solicitud.payrightnow[.]cf/chequepago.php
sr.illum[.]pw/mjs_special/julep.com.js //cdn.illum[.]pw/registros.php
sr.illum[.]pw/mjs_special/gymcompany.es.js //solicitud.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/grotekadoshop.nl.js //solicitud.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/fushi.co.uk.js //solicitud.payrightnow[.]cf/chequepago.php
sr.illum[.]pw/mjs_special/fareastflora.com.js //solicitud.payrightnow[.]cf/chequepago.php
sr.illum[.]pw/mjs_special/compuindia.com.js //solicitud.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs/segapay_standart.js //cdn.illum[.]pw/registros.php
sr.illum[.]pw/mjs/segapay_onpage.js //cdn.illum[.]pw/registros.php
sr.illum[.]pw/mjs/reemplazar_estándar.js //solicitud.payrightnow[.]cf/chequepago.php
sr.illum[.]pw/mjs/all_inputs.js //cdn.illum[.]pw/registros.php
sr.illum[.]pw/mjs/add_inputs_standart.js //solicitud.payrightnow[.]cf/chequepago.php
sr.illum[.]pw/magento/pago_estándar.js //cdn.illum[.]pw/registros.php
sr.illum[.]pw/magento/pago_redirect.js //pague ahora mismo[.]cf/?pago=
sr.illum[.]pw/magento/pago_redcrypt.js //pague ahora mismo[.]cf/?pago=
sr.illum[.]pw/magento/pago_forminsite.js //pagoahora[.]tk/?pago=

Anfitrión pago ahora[.]tk, utilizado como puerta en un guión pago_forminsite.js, fue descubierto como sujetoAltName en varios certificados relacionados con el servicio CloudFlare. Además, el script estaba ubicado en el host. malvado.js. A juzgar por el nombre del script, podría haber sido utilizado como parte de la explotación de CVE-2016-4010, gracias a la cual es posible inyectar código malicioso en el pie de página de un sitio que ejecuta Magento CMS. Este script usó el host como una puerta solicitud.requestnet[.]tk, utilizando el mismo certificado que el host pago ahora[.]tk.

formularios de pago falsos

La siguiente figura muestra un ejemplo de un formulario para ingresar los datos de la tarjeta. Este formulario se utilizó para infiltrarse en el sitio web de una tienda en línea y robar datos de tarjetas.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
La siguiente figura es un ejemplo de un formulario de pago de PayPal falso que utilizaron los atacantes para infiltrarse en sitios que utilizan este método de pago.
Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Infraestructura

Nombre de dominio Fecha de descubrimiento/aparición
cdn.illum.pw 27/11/2016
registros.nstatistics.com 06/09/2018
solicitud.pagar ahora mismo.cf 25/05/2018
pagoahora.tk 16/07/2017
línea-de-pago.tk 01/03/2018
paypal.cf 04/09/2017
requestnet.tk 28/06/2017

Familia CoffeeMokko

La familia de sniffers CoffeMokko diseñada para robar tarjetas bancarias de usuarios de tiendas en línea se ha utilizado al menos desde mayo de 2017. Presuntamente, los operadores de esta familia de sniffers son el grupo criminal Grupo 1, descrito por los expertos de RiskIQ en 2016. Se atacaron sitios web que ejecutan CMS como Magento, OpenCart, WordPress, osCommerce, Shopify.

Cómo se incrusta CoffeMokko en el código de una tienda online

Los operadores de esta familia crean sniffers únicos para cada infección: el archivo sniffer se encuentra en el directorio src o js en el servidor del atacante. La implementación en el código del sitio se lleva a cabo mediante un enlace directo al sniffer.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
El código rastreador codifica los nombres de los campos de formulario de los que desea robar datos. El rastreador también verifica si el usuario está en la página de pago comparando la lista de palabras clave con la dirección actual del usuario.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Algunas versiones descubiertas del sniffer estaban ofuscadas y contenían una cadena encriptada que almacenaba la matriz principal de recursos: contenía los nombres de los campos de formulario para varios sistemas de pago, así como la dirección de la puerta a la que se debían enviar los datos robados.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
La información de pago robada se envió a un script en el servidor de los atacantes en el camino. /savePayment/index.php o /tr/index.php. Presuntamente, este script se utiliza para enviar datos desde la puerta de enlace al servidor principal, que consolida los datos de todos los rastreadores. Para ocultar los datos transmitidos, toda la información de pago de la víctima se codifica utilizando base64, y luego ocurren varias sustituciones de caracteres:

  • el carácter "e" se reemplaza por ":"
  • el símbolo "w" se reemplaza por "+"
  • el carácter "o" se reemplaza por "%"
  • el carácter "d" se reemplaza por "#"
  • el carácter "a" se reemplaza por "-"
  • el símbolo "7" se reemplaza por "^"
  • el carácter "h" se reemplaza por "_"
  • el símbolo "T" se reemplaza con "@"
  • el carácter "0" se reemplaza por "/"
  • el carácter "Y" se reemplaza por "*"

Como resultado de las sustituciones de caracteres codificados con base64 los datos no se pueden decodificar sin transformación inversa.

Así es como se ve un fragmento del código sniffer que no ha sido ofuscado:

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Análisis de Infraestructura

En las primeras campañas, los atacantes registraron nombres de dominio similares a los de los sitios de compras en línea legítimos. Su dominio podría diferir del legítimo por un carácter u otro TLD. Los dominios registrados se utilizaron para almacenar el código rastreador, cuyo enlace estaba incrustado en el código de la tienda.

Este grupo también usó nombres de dominio que recuerdan a los populares complementos de jQuery (slickjs[.]org para sitios que usan el complemento slick.js), Via de pago (sabiocdn[.]org para sitios que utilizan el sistema de pago Sage Pay).

Posteriormente, el grupo comenzó a crear dominios cuyo nombre no tenía nada que ver ni con el dominio de la tienda ni con el tema de la tienda.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Cada dominio correspondía al sitio en el que se creó el directorio / js o / src. Los scripts de sniffer se almacenaron en este directorio: un sniffer para cada nueva infección. El sniffer se introdujo en el código del sitio a través de un enlace directo, pero en casos excepcionales, los atacantes modificaron uno de los archivos del sitio y le agregaron código malicioso.

Análisis de código

Primer algoritmo de ofuscación

En algunas muestras de sniffer de esta familia, el código estaba ofuscado y contenía datos cifrados necesarios para que el sniffer funcionara: en particular, la dirección de la puerta del sniffer, una lista de campos de formulario de pago y, en algunos casos, un código de formulario de pago falso. En el código dentro de la función, los recursos fueron encriptados con GRATIS por la clave que se pasó como argumento a la misma función.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Al descifrar la cadena con la clave correspondiente, única para cada muestra, puede obtener una cadena que contiene todas las líneas del código sniffer separadas por un carácter delimitador.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Segundo algoritmo de ofuscación

En muestras posteriores de esta familia de sniffers, se utilizó un mecanismo de ofuscación diferente: en este caso, los datos se cifraron mediante un algoritmo escrito por ellos mismos. Una cadena que contenía los datos cifrados necesarios para que el rastreador funcionara se pasó como argumento a la función de descifrado.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online
Con la consola del navegador, puede descifrar los datos cifrados y obtener una matriz que contenga los recursos del rastreador.

Cuatro rastreadores de JavaScript que te esperan en las tiendas online

Enlace a los primeros ataques de MageCart

En un análisis de uno de los dominios utilizados por el grupo como puerta para recopilar datos robados, se encontró que la infraestructura para el robo de tarjetas de crédito estaba desplegada en este dominio, idéntica a la utilizada por el Grupo 1, uno de los primeros grupos, descubierto Especialistas en RiskIQ.

Se encontraron dos archivos en el host de la familia de rastreadores CoffeMokko:

  • mago.js — archivo que contiene el código rastreador del Grupo 1 con la dirección de la puerta js-cdn.enlace
  • mag.php - Script PHP responsable de recopilar los datos robados por el sniffer

El contenido del archivo mage.js Cuatro rastreadores de JavaScript que te esperan en las tiendas online
También se ha determinado que los primeros dominios utilizados por el grupo detrás de la familia de rastreadores CoffeMokko se registraron el 17 de mayo de 2017:

  • enlace-js[.]enlace
  • info-js[.]enlace
  • seguimiento-js[.]enlace
  • mapa-js[.]enlace
  • enlace inteligente-js[.]

El formato de estos nombres de dominio es el mismo que los nombres de dominio del Grupo 1 que se usaron en los ataques de 2016.

Con base en los hechos descubiertos, se puede suponer que existe una conexión entre los operadores rastreadores de CoffeMokko y el grupo criminal Grupo 1. Presuntamente, los operadores de CoffeMokko pueden haber tomado prestadas herramientas y software para robar tarjetas de sus predecesores. Sin embargo, es más probable que el grupo delictivo detrás del uso de los rastreadores de la familia CoffeMokko sean las mismas personas que llevaron a cabo los ataques como parte de las actividades del Grupo 1. Tras la publicación del primer informe sobre las actividades del grupo delictivo, todos sus se bloquearon los nombres de dominio y se estudiaron y describieron las herramientas en detalle. El grupo se vio obligado a tomar un descanso, afinar sus herramientas internas y reescribir el código del sniffer para continuar con sus ataques y pasar desapercibidos.

Infraestructura

Nombre de dominio Fecha de descubrimiento/aparición
enlace-js.enlace 17.05.2017
info-js.enlace 17.05.2017
pista-js.enlace 17.05.2017
mapa-js.enlace 17.05.2017
smart-js.enlace 17.05.2017
adorebelleza.org 03.09.2017
seguridad-pago.su 03.09.2017
cerebrocdn.org 04.09.2017
sagecdn.org 04.09.2017
slickjs.org 04.09.2017
robleyfort.org 10.09.2017
ciudadwlnery.org 15.09.2017
dobell.su 04.10.2017
ropadejuegoparaniños.org 31.10.2017
jewsondirect.com 05.11.2017
tienda-rnib.org 15.11.2017
armariolondres.org 16.11.2017
misshaus.org 28.11.2017
batería-fuerza.org 01.12.2017
kik-vape.org 01.12.2017
greatfurnituretradingco.org 02.12.2017
etradesupply.org 04.12.2017
reemplazarmiremoto.org 04.12.2017
todo sobre zapatillas.org 05.12.2017
mago-checkout.org 05.12.2017
nililotan.org 07.12.2017
lamoodbighat.net 08.12.2017
walletgear.org 10.12.2017
dahlie.org 12.12.2017
davidsfootwear.org 20.12.2017
blackriverimaging.org 23.12.2017
exrpesso.org 02.01.2018
parques.su 09.01.2018
pmtonline.com 12.01.2018
otocap.org 15.01.2018
christohperward.org 27.01.2018
cafetea.org 31.01.2018
energiacoffe.org 31.01.2018
energiatea.org 31.01.2018
tecafe.net 31.01.2018
adaptivecss.org 01.03.2018
cafemokko.com 01.03.2018
londrestea.net 01.03.2018
ukcoffe.com 01.03.2018
labbe.biz 20.03.2018
baterianart.com 03.04.2018
btosports.net 09.04.2018
Chicksaddlery.net 16.04.2018
paypaypay.org 11.05.2018
ar500arnor.com 26.05.2018
Authorizecdn.com 28.05.2018
slickmin.com 28.05.2018
bannerbuzz.info 03.06.2018
kandypens.net 08.06.2018
mylrendyphone.com 15.06.2018
chatfresco.info 01.07.2018
3lift.org 02.07.2018
abtasty.net 02.07.2018
mechat.info 02.07.2018
zoplm.com 02.07.2018
zapaljs.com 02.09.2018
comidaycuna.com 15.09.2018
frescodepor.com 15.09.2018
swappastore.com 15.09.2018
muywellfitness.com 15.09.2018
elegrina.com 18.11.2018
majsurplus.com 19.11.2018
top5value.com 19.11.2018

Fuente: habr.com

Añadir un comentario