Alerta de plugin falso: Plugin de WordPress y herramienta de copia de seguridad de usuarios

A principios de 2021, yo compartí cómo un atacante podía aprovechar credenciales filtradas o débiles para instalar plugins falsos en un sitio comprometido. Aunque el plugin presentado en esa publicación ha experimentado algunos pequeños cambios desde entonces, los atacantes pueden cargar diversos tipos de malware utilizando el mismo método; por eso, en este artículo compartiré contigo otro ejemplo reciente (gracias a Luke Leal por compartirlo conmigo).

Análisis de malware

Me enteré de que estaba surgiendo una nueva campaña de plugins falsos y pude recopilar y revisar algunas muestras gracias a nuestros amigos del sector de la seguridad de sitios web. Además, ten en cuenta que, en el momento de redactar este artículo, ningún usuario de Jetpack Scan se había visto afectado por este malware (enhorabuena a todos los que gestionan correctamente sus contraseñas). Haz clic aquí si quieres saltarte el análisis y pasar directamente a los Indicadores de compromiso.

El malware se instala mediante un archivo zip llamado wp-default-light.zip. Descomprimirá los archivos en el directorio wp-content/plugins/wp-default y aparecerá con el nombre de «WordPress Plugin and user backup Tool -coresh-».

Así es como el plugin falso se presentará en un sitio web comprometido

Según el análisis del archivo, el -coresh- no está codificado y parece ser la firma del atacante.

Este plugin falso está compuesto por dos archivos:

  • wp-content/plugins/wp-default/wp-default.php
  • wp-content/plugins/wp-default/inc/web.php

/wp-default.php

Encabezado de wp-default.php y parte del código

El archivo principal del plugin utiliza funciones poco habituales para ofuscar cadenas, como convert_uudecode además de str_replace o base64_decode.

También se encarga de cargar las siguientes funciones:

  • Crear el usuario malicioso (wp_backup) con privilegios de administrador
Función am, responsable de crear el usuario wp_backup
La misma función am, ahora desofuscada. Las variables un (nombre de usuario) y pd (contraseña) están codificadas directamente
  • Cargar el archivo de puerta trasera ubicado en wp-content/plugins/wp-default/inc/web.php
sacc, una función responsable de leer todas las solicitudes y redirigirlas a la puerta trasera
Las funciones sacc desofuscadas. passkey es una variable codificada directamente.

El malware muestra un ingenio considerable para ocultar el acceso a la puerta trasera procesando las solicitudes mediante el plugin. La función sacc supervisará la variable global $_SERVER['REQUEST_URI'] para detectar solicitudes coincidentes; en este caso, loadmedia-web-vQ7SJjKL98j8g4.

Como el valor passkey está codificado directamente, distintas versiones del malware podrían mostrar valores diferentes. Sin embargo, en el momento de terminar esta publicación no se había encontrado ninguna otra versión.

Página de la puerta trasera

/inc/web.php

Este archivo utiliza cadenas base64_encoded para ofuscar funciones interesantes, asignándolas a variables que después se usan en el código como opciones y funciones.

Extracto del archivo web.php que muestra el método de ofuscación

Esta sencilla webshell proporciona tres funciones:

  • Descargar archivos remotos al servidor (posiblemente no funcione).
  • Cargar archivos al servidor.
Versión original de la función de carga
Versión desofuscada de la función de carga
  • Ejecutar comandos de shell (variantes para Windows y Linux)
Versión original de la función de ejecución de comandos remotos
Versión desofuscada de la misma función

Conclusión

Dado que esta es una campaña activa en sus primeras etapas, en el momento de redactar esta publicación no se habían encontrado otras muestras. Si se encuentra alguna versión nueva, actualizaré esta publicación con nuevos indicadores de compromiso e información relevante.

Esto demuestra la importancia de tener contraseñas únicas (combinadas con la autenticación multifactor cuando esté disponible) y de revisar periódicamente quién tiene acceso privilegiado a tu sitio. Recomendamos encarecidamente que supervises de forma constante la actividad de tu sitio web, y que valides periódicamente todos los accesos privilegiados a tu sitio.

Si te preocupa el malware y las vulnerabilidades de tu sitio, consulta las funciones de seguridad de Jetpack. Jetpack Security ofrece una seguridad integral y fácil de usar para sitios de WordPress, que incluye copias de seguridad, análisis de malware y protección contra spam.

Indicadores de compromiso

Los principales indicadores de compromiso son:

  • Plugin instalado en el sitio de WordPress afectado. Está instalado con el nombre: WordPress Plugin and user backup Tool -coresh-.
  • La ruta del plugin es wp-content/plugins/wp-default.
  • Añade un usuario administrador llamado wp_backup.
  • Las solicitudes a loadmedia-web-vQ7SJjKL98j8g4 cargan la puerta trasera.
    • Ten en cuenta que el valor de la clave podría cambiar en otras versiones del malware.
  • wp-default-light.zip
    • tamaño: 4844 
    • hash(sha256): c6add8d75e08e2bf7e1672ac2b61be5d979f7313665547c732a0f83f795809e1
  • wp-content/plugins/wp-default/wp-default.php
    • tamaño: 4774
    • hash(sha256): d261d719daf3ce5643e9defa5da75b5f89524788910701f7a701b8ed5b2b1f8f
  • wp-content/plugins/wp-default/inc/web.php
    • tamaño: 7402
    • hash(256): 8a4cb74ab574514bf1d915131071a4aecf07cd9531446f9bb474e0d7fea9c209

Explora las ventajas de Jetpack

Descubre cómo Jetpack puede ayudarte a proteger, acelerar y hacer crecer tu sitio de WordPress.

Explorar planes

¿Tienes alguna pregunta?

La sección de comentarios está cerrada para este artículo, pero seguimos aquí para ayudarte. ¡Visita el foro de soporte y estaremos encantados de responder a tus preguntas!

Ver foro de soporte