Los atacantes siempre encuentran nuevas formas de inyectar y ocultar malware en sitios web para evitar ser detectados, aunque a menudo recurren a trucos conocidos. En esta publicación, exploraremos cómo los atacantes emplearon un plugin de WordPress poco conocido, con fragmentos de PHP, para instalar malware en el lado del servidor y robar datos de tarjetas de crédito de una tienda en línea WooCommerce. El caso comenzó con informes de tarjetas de crédito robadas, que llevaron al propietario del sitio a notar actividad inusual y solicitar nuestra investigación. Nuestro analista, Conrado Torquato, se encargó de examinar el incidente. Plugin no seguro utilizado para ingresar código PHP malicioso Ciertamente, es común que los atacantes abusen de los complementos de WordPress para agregar o manipular código en los sitios web de las víctimas. Complementos como el Administrador de Archivos de WordPress a menudo se añaden una vez que los atacantes obtienen acceso al panel de administración. Recientemente, nuestros equipos han observado el uso indebido de WPCode para insertar inyecciones PHP maliciosas, y la campaña de malware Sign1 utiliza el complemento Simple Custom CSS y JS. En este caso, los atacantes usaron un complemento poco conocido llamado Dessky Snippets, con solo unos pocos cientos de instalaciones activas. El ataque ocurrió el 11 de mayo y vemos un aumento relativamente grande en las descargas de este complemento desde ese mismo día:

Podría darse el caso de que los atacantes utilizaran esto en una variedad de otros sitios web con el mismo propósito.

Análisis del Malware

El malware se aloja debajo del comentario inicial /* Ingrese su código PHP aquí */, oculto tras varias líneas en blanco para dificultar su detección por parte del propietario del sitio. El código PHP está ofuscado y consta de dos partes principales:

1. Función falsa: veintetwenty_get_post_logos(): Esta función genérica y falsa se engancha en el woocommerce_after_checkout_billing_form de WooCommerce, agregando varios campos al formulario de facturación para solicitar detalles de la tarjeta de crédito.
2. Código de robo de detalles de pago: Una vez desofuscado, se revela que este código roba los datos de pago ingresados en el formulario.

Deshabilitar manualmente esta función en el formulario de pago falso disminuye la probabilidad de que el navegador advierta al usuario sobre la introducción de información sensible, manteniendo los campos vacíos hasta que el usuario los complete manualmente.

Descripción del Ataque

El código malicioso se almacenó en la opción dnsp_settings en la tabla wp_options de WordPress, diseñado para alterar el proceso de pago en WooCommerce manipulando el formulario de facturación e inyectando su código.

El segundo llama al código ofuscado que roba detalles de pago:

Una vez que el código se desofusca y embellece, podemos ver que veintetwenty_get_post_logos (que funciona como un enlace al gancho woocommerce_after_checkout_billing_form de WooCommerce ) agrega varios campos nuevos al formulario de facturación que solicitan detalles de la tarjeta de crédito (el proceso de pago real solicita esta información en el siguiente página).

Este fragmento se ejecuta con cada carga de página, monitoreando los datos POST para los parámetros «ccc» relacionados con los campos del formulario inyectados. Cuando se detectan estos parámetros, todos los valores del formulario de facturación, junto con los detalles de la tarjeta de crédito, se envían a una URL de terceros (hxxps://2of[.]cc/wp-content/).

Técnicas de Evasión

El campo de entrada del formulario de pago falso tiene la característica autocomplete=»off», lo que evita que los navegadores web sugieran autocompletar los campos con datos previamente guardados. Esta técnica reduce la posibilidad de que el usuario perciba algo inusual, ya que debe ingresar manualmente la información de su tarjeta de crédito.

Al deshabilitar manualmente esta función en el formulario de pago falso, se reduce la probabilidad de que el navegador advierta al usuario que se está ingresando información confidencial y garantiza que los campos permanezcan en blanco hasta que el usuario los complete manualmente, lo que reduce las sospechas y hace que los campos aparezcan. como insumos regulares y necesarios para la transacción.

Protegiendo su Sitio de Comercio Electrónico

Los propietarios de sitios web, especialmente de comercio electrónico, tienen la responsabilidad de mantener sus plataformas seguras para proteger la información confidencial de sus usuarios. Aquí tienes una guía sencilla para proteger tu tienda online:

 

1. Mantén tu software actualizado: Actualiza regularmente tu CMS, plugins, temas y cualquier componente de terceros para corregir vulnerabilidades.

2. Usa contraseñas seguras: Asegúrate de que todas las cuentas, incluidas las de administrador, sFTP y bases de datos, tengan contraseñas seguras y únicas.

3. Selecciona scripts confiables: Integra solo JavaScript de terceros de fuentes confiables y evita scripts innecesarios.

4. Monitorea las amenazas: Revisa periódicamente tu sitio en busca de signos de malware, cambios no autorizados o cualquier indicador de compromiso.

5. Implementa un firewall: Usa un firewall de aplicaciones web para bloquear bots maliciosos, corregir virtualmente vulnerabilidades conocidas y filtrar tráfico dañino.

6. Configura un CSP: Establece una Política de Seguridad de Contenidos (CSP) para protegerte contra el secuestro de clics, scripts entre sitios (XSS) y otras amenazas.
Para los visitantes del sitio, considera usar extensiones de bloqueo de scripts como NoScript y mantener un software antivirus robusto para detectar cualquier ataque de skimming en curso.

Si sospechas que tu sitio de comercio electrónico ha sido comprometido, nuestro equipo está disponible 24/7 para ayudarte a limpiarlo y protegerlo contra malware y futuras amenazas.

Ir al contenido