¿Necesita Cloud Computing? Empiece ahora

Nueva campaña de tipo Magecart que se vale de sitios web legítimos para atacar a otros

Roman Lvovsky

escrito por

Roman Lvovsky

June 01, 2023

Roman Lvovsky

escrito por

Roman Lvovsky

Roman Lvovsky es un experto en seguridad con amplia una experiencia en amenazas que afectan al cliente, características internas del navegador y vectores de ataque JavaScript. Es miembro del equipo de investigación de protección integrada en el navegador de Akamai y centra su trabajo de investigación en distintas amenazas que afectan al cliente, como los ataques de robo de información web y Magecart. Tiene mucha experiencia en ingeniería de software, habiéndose especializado en JavaScript y desarrollo web.

A medida que continúa la batalla entre defensores y atacantes en materia de robo de información web, es esencial mantener la proactividad e invertir en medidas de seguridad innovadoras.

Editorial y comentario adicional de Lance Rhodes y Emily Lyons

Resumen ejecutivo

  • Los investigadores de Akamai han descubierto y analizado una nueva campaña en curso de robo de información web de tipo Magecart, cuya finalidad es robar la información de identificación personal (PII, del inglés Personally Identifiable Information) e información de tarjetas de crédito de sitios web de comercio digital.

  • Se han identificado víctimas en Norteamérica, Latinoamérica y Europa, de distintos tamaños. Se calcula que algunas de las víctimas reciben cientos de miles de visitantes al mes, lo que podría tener como consecuencia el robo, abuso o venta de decenas de miles de tarjetas de crédito e PII de los compradores en la Dark Web.

  • Los atacantes emplean una serie de técnicas de evasión durante la campaña, entre las que se incluyen la ocultación de Base64 y el enmascaramiento del ataque para que simular a conocidos servicios de terceros, como Google Analytics o Google Tag Manager.

  • En particular, los atacantes "secuestran" sitios web legítimos para que les sirvan de servidores provisionales de mando y control (C2). Estas "víctimas anfitrionas" actúan como centros de distribución de código malicioso, sin conocimiento de la víctima, con lo que consiguen ocultar el ataque detrás de un dominio legítimo.

  • El ataque afecta a las posibilidades de ser objeto de ataque de sitios web creados con Magento, WooCommerce, WordPress y Shopify, lo que demuestra la creciente variedad de vulnerabilidades y plataformas de comercio digital que pueden ser objeto de abuso.

  • Estos tipos de ataques de robo de información web son cada vez más evasivos y pueden ser difíciles de detectar, por lo que se recomienda a los profesionales de la seguridad que se planteen utilizar herramientas y tecnologías que permitan detectar comportamientos y anomalías en la actividad en el navegador.

Introducción

Una nueva campaña de robo de información de tipo Magecart ha estado causando estragos en las últimas semanas. La característica distintiva clave de esta última campaña es su utilización de sitios web legítimos comprometidos para facilitar el ocultamiento de ataques en otros sitios web objetivo detrás de sus dominios auténticos.

El objetivo principal de un ataque de Magecart es robar PII y datos de tarjetas de crédito de las páginas de pago de sitios web de comercio digital. Habitualmente, este tipo de ataque se ejecutó principalmente en la plataforma de comercio digital Magento; sin embargo, en esta campaña y en otras parecidas, los investigadores de Akamai pudieron identificar ataques a sitios web creados con Magento, WooCommerce, WordPress y Shopify, lo que demostró la creciente variedad de vulnerabilidades y plataformas que pueden ser objeto de abuso y que están disponibles para los atacantes.

Por lo general, estos ataques no pueden detectarse mediante los métodos de seguridad web habituales, como los firewalls de aplicaciones web (WAF) y se ejecutan en el lado del cliente. Como resultado, los ataques de Magecart pueden pasar inadvertidos durante largos periodos.

En las últimas semanas, hemos identificado una campaña activa y en curso, en las que se usan sofisticadas infraestructuras y capacidades para ofrecer ataques de robo de información web de tipo Magecart. Asimismo, hemos detectado numerosos sitios web de comercio digital que son víctimas de esta campaña. Es razonable suponer que habrá más sitios web legítimos que hayan sido objeto de ataques como parte de esta amplia campaña.

Un ataque a gran escala y a largo plazo

Como era de esperar, esta campaña se dirige principalmente contra organizaciones de comercio. Sin embargo, llama la atención la escala del ataque. Algunas organizaciones víctimas reciben cientos de miles de visitantes al mes. Esto puede dar lugar a miles, incluso a decenas de miles, de víctimas del robo de datos de tarjetas de crédito y de PII. 

Para muchas de las víctimas, el ataque ha pasado desapercibido durante casi un mes, lo que aumenta la posibilidad de producir daños. Además, los investigadores de Akamai están detectando los efectos de la campaña en organizaciones de Estados Unidos, el Reino Unido, Brasil, España, Australia, Estonia y Perú.  

Los ataques de robo de información web pueden ser muy perjudiciales para las organizaciones de comercio digital. La pérdida de PII y de datos de tarjetas de crédito puede afectar a la reputación de las organizaciones, entre otras consecuencias. Muchos de los ataques de Magecart más importantes no se detectaron durante meses, o incluso años. De los 9290 dominios de comercio digital que fueron objeto de ataques de Magecart en 2022, 2468 seguían infectados de forma activa al finalizar ese año, lo que la convierte en una amenaza importante para las organizaciones comerciales.

El ataque previo al ataque: preparación de la infraestructura del ataque

Una de las partes más destacadas de la campaña es cómo preparan los atacantes su infraestructura para realizar la campaña de robo de información web. Antes de que la campaña comience realmente, los atacantes buscarán sitios web vulnerables que actuarán como "hosts" para el código malicioso, que se utilizará más adelante para crear el ataque de robo de información web. 

En lugar de utilizar el propio servidor C2 de los atacantes para alojar el código malicioso, que podría identificarse como dominio malicioso, los atacantes acceden (mediante vulnerabilidades o cualquier otro medio a su disposición) a un sitio legítimo y vulnerable, como un sitio web de una pyme, donde esconden su código. De esta manera, los atacantes crean un anfitrión aparentemente seguro para su código malicioso y pueden entregar este a la víctima que decidan.

En esencia, con esta campaña se generan dos grupos de víctimas.

  1. Víctimas anfitrionas: se trata de sitios web legítimos que son secuestrados con el propósito de alojar el código malicioso que se utiliza en el ataque. Tras esto, los atacantes usarán esos sitios para entregar su código durante un ataque. Debido a que estos sitios normalmente operan como empresas legítimas, existen menos probabilidades de que una víctima sospeche cuando se conecte a ellos. De esta forma, estos sitios entran a formar parte de la infraestructura del ataque, básicamente actuando como servidor controlado por el atacante. La intención es ocultar la actividad maliciosa detrás de un dominio que tenga una buena reputación.
  2. Víctimas de robo de información web: se trata de sitios web de comercio vulnerables que dirigen los atacantes a través de un ataque de robo de información web de tipo Magecart. En lugar de inyectar directamente el código de ataque en los recursos del sitio web, los atacantes emplean fragmentos de código JavaScript pequeños como cargadores para recuperar el código de ataque completo del sitio web de la víctima anfitriona, lo que les permite conseguir ocultar la mayoría del código malicioso que se utiliza en el ataque.

Aunque no está claro cómo estos sitios sufren los ataques, según nuestra investigación reciente de campañas anteriores similares, los atacantes suelen buscar vulnerabilidades en la plataforma de comercio digital de los sitios web objetivo (como Magento, WooCommerce, WordPress, Shopify, etc.) o en servicios externos vulnerables que utiliza el sitio web. 

Los investigadores de Akamai detectaron un reducido número de sitios web que actúan como víctimas anfitrionas. Todos estos sitios web parecen sitios web de comercio. En algunos casos, los sitios web de anfitriones explotados parecen ser objeto de un doble abuso. En el primero, se utilizan como anfitriones de código malicioso, como se ha mencionado anteriormente. En el segundo, sufren un ataque de robo de información web de tipo Magecart, lo que permite el robo de la información del usuario. No solo se han visto comprometidos y han sido objeto del robo de datos mediante el código inyectado, sino que también han servido, sin pretenderlo, de vehículo para esparcir las actividades maliciosas del ataque de robo de información a otros sitios web vulnerables. 

Los atacantes se aprovechan de la buena reputación y de la confianza inherente

Durante nuestra investigación, también hemos descubierto algunos sitios que creemos que pueden ser falsos y que probablemente haya creado el atacante. Parece que estos funcionan como sitios web de phishing, haciéndose pasar por pequeñas tiendas, que utilizan dominios muy parecidos a los de los sitios legítimos originales. 

La práctica de utilizar dominios explotados de sitios web legítimos ofrece al atacante varias ventajas cuando se trata de ocultar sus actividades maliciosas. Al ocultarse detrás de dominios de buena reputación y asociaciones positivas, el ataque de robo de información crea una cortina de humo que hace que sea cada vez más difícil identificar el ataque y responder a este.

Una de las principales ventajas de utilizar dominios de sitios web legítimos es la confianza inherente que estos dominios se han ganado con el tiempo. Los servicios de seguridad y los sistemas de puntuación de dominios suelen asignar niveles de confianza más altos a dominios con una trayectoria positiva y un historial de uso legítimo. Como resultado, las actividades maliciosas que se realicen en estos dominios tienen más posibilidades de pasar desapercibidas o de que los sistemas de seguridad automatizados las consideren inofensivas.

No podemos revelar los dominios de los sitios web legítimos atacados y usados para alojar ataques a otros sitios web específicos, ya que para esto se necesita la confirmación y cooperación por parte de las organizaciones.

Oculto a simple vista: carga del código malicioso en los sitios web de la víctima

Una vez preparada la infraestructura, los atacantes buscarán objetivos con plataformas de comercio digital vulnerables o servicios de terceros vulnerables para inyectar el código del ataque de robo de información web. El atacante emplea una técnica inteligente mediante la que inyecta un fragmento de código JavaScript en línea (es decir, el script está integrado dentro del HTML, no se carga desde un archivo externo) en las páginas de sitios web atacados. Este fragmento sirve como cargador y recupera el código malicioso completo de los sitios web anfitriones de la etapa anterior. 

En particular, la estructura del fragmento inyectado está diseñada intencionadamente para asemejarse a conocidos servicios de terceros, como Google Tag Manager o Facebook Pixel. Este enfoque ha ganado popularidad entre las campañas de robo de información web en los últimos años, ya que permite la combinación de código malicioso sin problemas, ocultando sus verdaderas intenciones. 

Además, para ocultar la URL de los sitios web explotados que alojan el código de ataque completo, el ataque de robo de información utiliza la codificación Base64 (Figura 1). Esta técnica es la preferida entre los ataques de robo de información, ya que consigue enmascarar los orígenes y el fin del código.

Captura de pantalla del fragmento de código JavaScript malicioso Fig. 1: fragmento de código JavaScript malicioso que suplanta un fragmento de Google Analytics y que se utiliza como cargador del ataque

Al hacerlo, el atacante usa tres métodos para evitar ser detectado: 

  1. Ocultar el dominio utilizado en el ataque. 

  2. Enmascarar de forma hábil el cargador para hacerlo pasar por un proveedor o script legítimo externo.

  3. Reducir la cantidad de código malicioso que se debe inyectar en la página mediante la extracción de la mayor parte del código de otras fuentes, lo que reduce en gran medida la posibilidad de que se descubra el código.

Una vez inyectado el cargador, se robarán los datos personales y la información de la tarjeta de crédito de cualquier usuario que intente pagar en el sitio web de la víctima del ataque de robo de información web y se enviarán al servidor C2 de los atacantes. 

Análisis del código: ataque de Magecart oculto

Durante el examen, identificamos dos variaciones distintas del código del ataque de robo de información. 

La variación inicial mostró un gran grado de ocultación, lo que dio como resultado una mayor complejidad cuando intentábamos descifrar su flujo y estructura lógica. El atacante se vale de la ocultación como táctica para interferir con la depuración y la investigación, lo que dificulta deliberadamente el conocimiento de la secuencia precisa del ataque.

La ocultación del código malicioso es una práctica adoptada de forma generalizada entre diversos ataques de robo de información web y ha ganado mayor popularidad en numerosas campañas de los últimos años (Figura 2).

Ocultación del código malicioso Fig. 2: código malicioso: variación 1

Después de decodificar las cadenas en Base64 integradas en el código oculto, detectamos una lista de selectores de hojas de estilo de cascada (CSS, del inglés Cascading Style Sheets). Estos nombres de selector indicaban de forma explícita que los campos con información objetos del ataque de robo de información son los encargados de capturar PII y datos de la tarjeta de crédito. 

La presencia de estos selectores de CSS en el código decodificado aporta una prueba definitiva de la intención maliciosa del ataque de robo de información. Al usar específicamente los campos de entrada utilizados para recopilar datos confidenciales de los usuarios, los objetivos del ataque de robo de información quedan claros: interceptar y exfiltrar PII y datos de la tarjeta de crédito con fines ilegales. También hace alusión a un nivel de recopilación de información; para que estos campos de información coincidan, el atacante debe "adaptar" el código a cada una de las víctimas (Figura 3).

Captura de pantalla de nombres de campo Fig. 3: nombres de campo confidenciales descodificados que son el objetivo de los ataques de robo de información

La segunda variación del código malicioso detectado en esta campaña estaba menos oculto, lo que facilitó su comprensión y análisis. Como ocurre con la primera variación, las cadenas que podrían mostrar las intenciones del código estaban codificadas en Base64, lo que nos permite descifrar fácilmente su significado (Figura 4).

Lo que hace que la segunda variación sea interesante es la presencia de determinados indicadores dentro del código; estos indicadores representaban pistas valiosas, lo que nos permitió identificar más sitios web de víctimas e instancias asociadas con esta campaña. 

Ataque de tipo Magecart Fig. 4: código malicioso: variación 2

Exfiltración de los datos robados

El proceso de exfiltración de los datos robados se lleva a cabo a través de una solicitud HTTP directa, que se inicia mediante la creación de una etiqueta IMG dentro del código del ataque de robo de información. Luego, los datos robados se adjuntan a la solicitud como parámetros de consulta, codificados como una cadena en Base64 (Figura 5).

Para ocultar los datos transmitidos, el ataque de robo de información los codifica como una cadena en Base64. Con esta técnica de codificación se consigue una capa de ocultación, lo que hace más difícil que los sistemas de seguridad y las herramientas de supervisión de red puedan identificar la exfiltración de información confidencial. Cuando los datos codificados en Base64 llegan al servidor del atacante, se pueden decodificar fácilmente a su formato original, lo que deja expuestos tanto la PII como los datos de tarjetas de crédito robados.

La exfiltración solo se producirá una vez por cada usuario que realice el proceso de pago. Una vez que se roba la información de un usuario, el script marcará el navegador para asegurarse de que no robe la información dos veces (para reducir el tráfico de red sospechoso). Esto aumenta aún más la evasividad de este ataque de tipo Magecart.

 Captura de pantalla de la exfiltración de datos mediante la etiqueta IMG Fig. 5: exfiltración de datos mediante la etiqueta IMG, que inicia una solicitud HTTP al servidor de mando y control (C2) del ataque de robo de información con parámetros de consulta codificados en Base64

Recomendaciones y mitigaciones de seguridad

Para llevar a cabo un robo de información web, los atacantes tendrán que obtener acceso inicial al servidor ya sea mediante el aprovechamiento de una vulnerabilidad o mediante el uso de uno de los scripts de terceros existentes. Para evitar este acceso inicial al servidor, se recomienda a los profesionales de seguridad que tengan aplicados los parches más recientes y que los complementen con un firewall de aplicaciones web (WAF, del inglés Web Application Firewall).

Sin embargo, la complejidad, la implementación, la agilidad y la distribución de los entornos de aplicaciones web actuales, así como los diversos métodos que los atacantes pueden utilizar para realizar ataques de robo de información web, requieren soluciones de seguridad más dedicadas, que permitan ver el comportamiento de los scripts que se ejecutan dentro del navegador y ofrezcan una defensa contra los ataques que afectan al cliente.

Una solución adecuada debe estar más cerca del lugar donde se produce el ataque real a los clientes. Debería conseguir identificar los intentos de lectura de campos de información confidencial y la exfiltración de datos (en nuestras pruebas usamos Page Integrity Manager de Akamai). Recomendamos que estos eventos se recopilen correctamente para facilitar una mitigación rápida y eficaz.

Conclusión

Esta campaña sirve como recordatorio de que el robo de información web sigue siendo una amenaza de seguridad esencial, ya que los actores maliciosos adaptan constantemente sus tácticas para ocultar sus actividades y dificultar la detección. Los nuevos requisitos de seguridad de scripts descritos en el estándar PCI DSS v4.0 también se hacen eco de esta tónica, por la que ahora se requiere que cualquier organización que procese tarjetas de pago online cuente con mecanismos para detectar estos tipos de ataques y responder a estos. 

La solución principal para combatir de manera eficaz los ataques de robo de información web radica en el uso de herramientas y tecnologías que permitan detectar comportamientos y anomalías, como Page Integrity Manager de Akamai. Las herramientas tradicionales de análisis estático no han conseguido contrarrestar los ataques de robo de información web, ya que estos últimos modifican continuamente sus métodos y emplean técnicas cada vez más sofisticadas que pueden evitar el análisis estático.

Seguramente encontremos campañas similares de manera intermitente, ya que es probable que este juego de gato y ratón continúe. A medida que continúa la batalla entre defensores y atacantes en materia de robo de información web, es esencial mantener la proactividad e invertir en medidas de seguridad innovadoras. Al adoptar tecnologías de detección avanzadas que se adapten a los cambiantes vectores de ataque, las organizaciones pueden proteger mejor sus plataformas online, proteger los datos de los usuarios y mantener la confianza de sus clientes. La investigación, la colaboración y la vigilancia continuas son esenciales en la lucha continua contra las amenazas de robo de información web.

El grupo de inteligencia sobre seguridad de Akamai seguirá supervisando esta actividad y proporcionando información valiosa a nuestros clientes y a la comunidad en general. Para obtener más información en tiempo real sobre vulnerabilidades y las últimas investigaciones en seguridad, síganos en Twitter.

Actualización del 7 de junio de 2023:  Akamai ha actualizado esta entrada de blog para aclarar que algunas de las plataformas mencionadas, como Magento, WooCommerce, WordPress y Shopify, corren el riesgo de sufrir las consecuencias de distintos ataques.

IoC

Dominios de exfiltración:

byvlsa[.]com

chatwareopenalgroup[.]net



Roman Lvovsky

escrito por

Roman Lvovsky

June 01, 2023

Roman Lvovsky

escrito por

Roman Lvovsky

Roman Lvovsky es un experto en seguridad con amplia una experiencia en amenazas que afectan al cliente, características internas del navegador y vectores de ataque JavaScript. Es miembro del equipo de investigación de protección integrada en el navegador de Akamai y centra su trabajo de investigación en distintas amenazas que afectan al cliente, como los ataques de robo de información web y Magecart. Tiene mucha experiencia en ingeniería de software, habiéndose especializado en JavaScript y desarrollo web.