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.
"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
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.
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.
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 |
---|---|
|
Authorize.Net |
Tarjeta guardada | |
|
Authorize.Net |
Authorize.Net | |
|
eWAY rápido |
Authorize.Net | |
Adyen | |
|
USAePay |
Authorize.Net | |
USAePay | |
|
Authorize.Net |
Moneris | |
USAePay | |
PayPal | |
Sage Pay | |
Verisign | |
PayPal | |
Stripe | |
|
Realex |
PayPal | |
Punto de enlace | |
PayPal | |
PayPal | |
efectivo de datos | |
|
PayPal |
|
Authorize.Net |
|
Authorize.Net |
Authorize.Net | |
Authorize.Net | |
|
Verisign |
|
Authorize.Net |
Moneris | |
|
Sage Pay |
|
USAePay |
|
Authorize.Net |
|
Authorize.Net |
|
Puerta electrónica ANZ |
|
Authorize.Net |
|
Moneris |
|
Sage Pay |
Sage Pay | |
|
persecución Paymentech |
|
Authorize.Net |
|
Adyen |
PsiGate | |
Fuente cibernética | |
Puerta electrónica ANZ | |
Realex | |
|
USAePay |
|
Authorize.Net |
|
Authorize.Net |
|
Puerta electrónica ANZ |
|
PayPal |
|
PayPal |
Realex | |
|
Sage Pay |
|
PayPal |
|
Verisign |
Authorize.Net | |
|
Verisign |
Authorize.Net | |
|
Puerta electrónica ANZ |
PayPal | |
Fuente cibernética | |
|
Authorize.Net |
|
Sage Pay |
Realex | |
|
Fuente cibernética |
PayPal | |
PayPal | |
|
PayPal |
|
Verisign |
|
eWAY rápido |
|
Sage Pay |
Sage Pay | |
|
Verisign |
Authorize.Net | |
Authorize.Net | |
|
Primera puerta de enlace global de datos |
Authorize.Net | |
Authorize.Net | |
Moneris | |
|
Authorize.Net |
|
PayPal |
|
Verisign |
|
USAePay |
USAePay | |
Authorize.Net | |
Verisign | |
PayPal | |
|
Authorize.Net |
Stripe | |
|
Authorize.Net |
eWAY rápido | |
|
Sage Pay |
Authorize.Net | |
|
Braintree |
|
Braintree |
|
PayPal |
|
Sage Pay |
|
Sage Pay |
|
Authorize.Net |
|
PayPal |
|
Authorize.Net |
Verisign | |
|
PayPal |
|
Authorize.Net |
|
Stripe |
|
Authorize.Net |
eWAY rápido | |
Sage Pay | |
|
Authorize.Net |
Braintree | |
|
PayPal |
|
Sage Pay |
Sage Pay | |
|
Authorize.Net |
PayPal | |
Authorize.Net | |
|
Verisign |
|
Authorize.Net |
|
Authorize.Net |
|
Authorize.Net |
|
Authorize.Net |
|
Sage Pay |
Sage Pay | |
|
Pago de Westpac |
|
pago fuerte |
|
PayPal |
|
Authorize.Net |
|
Stripe |
|
Primera puerta de enlace global de datos |
|
PsiGate |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
Sage Pay | |
|
Verisign |
Moneris | |
PayPal | |
|
Punto de enlace |
|
Pago de Westpac |
Authorize.Net | |
|
Moneris |
|
PayPal |
Adyen | |
PayPal | |
Authorize.Net | |
USAePay | |
EBizCarga | |
|
Authorize.Net |
|
Verisign |
Verisign | |
Authorize.Net | |
|
PayPal |
|
Moneris |
Authorize.Net | |
|
PayPal |
PayPal | |
Pago de Westpac | |
Authorize.Net | |
|
Authorize.Net |
Sage Pay | |
|
Verisign |
|
Authorize.Net |
|
PayPal |
|
pago fuerte |
Fuente cibernética | |
Payflow Pro de PayPal | |
|
Authorize.Net |
|
Authorize.Net |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
Sage Pay | |
Authorize.Net | |
|
Stripe |
|
Authorize.Net |
Authorize.Net | |
Verisign | |
|
PayPal |
Authorize.Net | |
|
Authorize.Net |
Sage Pay | |
|
Authorize.Net |
|
Authorize.Net |
|
PayPal |
|
Piedra mineral |
|
PayPal |
Sage Pay | |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
|
Stripe |
|
Cebra gorda |
Sage Pay | |
|
Authorize.Net |
Primera puerta de enlace global de datos | |
|
Authorize.Net |
|
eWAY rápido |
Adyen | |
|
PayPal |
Servicios comerciales de QuickBooks | |
Verisign | |
|
Sage Pay |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
Sage Pay | |
|
Authorize.Net |
|
eWAY rápido |
Authorize.Net | |
|
Puerta electrónica ANZ |
|
PayPal |
Fuente cibernética | |
|
Authorize.Net |
Sage Pay | |
|
Realex |
Fuente cibernética | |
|
PayPal |
|
PayPal |
|
PayPal |
|
Verisign |
eWAY rápido | |
|
Sage Pay |
|
Sage Pay |
|
Verisign |
Authorize.Net | |
|
Authorize.Net |
|
Primera puerta de enlace global de datos |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
|
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Más tarde, se descubrió una versión empaquetada del sniffer usando una puerta diferente: registros.nstatistics[.]com/records.php.
según
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.
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:
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 |
---|---|
|
//solicitud.payrightnow[.]cf/chequepago.php |
|
//solicitud.payrightnow[.]cf/alldata.php |
|
//solicitud.payrightnow[.]cf/alldata.php |
|
//solicitud.payrightnow[.]cf/alldata.php |
|
//solicitud.payrightnow[.]cf/alldata.php |
|
//solicitud.payrightnow[.]cf/alldata.php |
|
//solicitud.payrightnow[.]cf/chequepago.php |
|
//cdn.illum[.]pw/registros.php |
|
//solicitud.payrightnow[.]cf/chequepago.php |
|
//cdn.illum[.]pw/registros.php |
|
//solicitud.payrightnow[.]cf/alldata.php |
|
//solicitud.payrightnow[.]cf/alldata.php |
//solicitud.payrightnow[.]cf/chequepago.php | |
|
//solicitud.payrightnow[.]cf/chequepago.php |
|
//solicitud.payrightnow[.]cf/alldata.php |
|
//cdn.illum[.]pw/registros.php |
|
//cdn.illum[.]pw/registros.php |
|
//solicitud.payrightnow[.]cf/chequepago.php |
|
//cdn.illum[.]pw/registros.php |
//solicitud.payrightnow[.]cf/chequepago.php | |
|
//cdn.illum[.]pw/registros.php |
//pague ahora mismo[.]cf/?pago= | |
|
//pague ahora mismo[.]cf/?pago= |
|
//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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
Con la consola del navegador, puede descifrar los datos cifrados y obtener una matriz que contenga los recursos del rastreador.
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,
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
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