Si utilizas algún software de seguridad en tu WordPress, tipo Wordfence, y te ha avisado de la presencia de un archivo inapropiado en el núcleo de tu WordPress como el detectado recientemente como «mplugin.php» o simplemente tu web está devolviendo error 500 y desconoces la causa, te recomiendo que sigas leyendo.
¿Qué es un malware?
Existen varias maneras para definirlo, pero muy resumido, te diré que un malware o programa malicioso es un software que realiza una serie de acciones de manera intencionada con el objetivo de dañar un sistema informático, por supuesto, sin el consentimiento del usuario.
¿Porqué existen este tipo de malware?
Básicamente, todos los tipos de malware que circulan por Internet tienen como objetivo principal el provocar daños a cambio de una prestación económica con métodos ya conocidos como el chantajear al usuario afectado.
No obstante, existen otros motivos como el robo de datos/información, abrir puertas a otros usuarios no autorizados, provocar molestias de diversa índole o una combinación de todo lo anterior.
¿Qué hace el malware mplugin.php en WordPress?
Este malware se ha ido extendiendo por múltiples sitios desarrollados con WordPress a lo largo del año 2020, pero en las últimas fechas se está intensificando su presencia, por lo que desde WP-Rules te recomendamos seguir las pautas aquí descritas e igualmente, seguir nuestras recomendaciones.
Podrás encontrarlo en otras formas aparte del ya mencionado «mplugin.php» como, por ejemplo, «cplugin.php» o «ccode.php».
Este malware, entre otras acciones, realiza una labor de recopilación de direcciones IP, por lo que también encontrarás en tu servidor un fichero llamado «admin_ips.txt» que contiene las direcciones IP desde las que has iniciado sesión a tu WordPress. Esto resulta de gran utilidad a los hackers de cara a poder acceder a paneles de administración que estén limitados a una dirección IP concreta por seguridad, de manera que pueden saltarse esta barrera.
¿Cómo solucionarlo definitivamente?
Antes de empezar con este punto, he de avisarte que se requieren conocimientos web avanzados para poder seguir las instrucciones que a continuación se detallan.
Primero de todo hacer backup de tu WordPress, incluyendo la base de datos. Si tienes dudas sobre el proceso, puedes consultar diferentes formas de hacer una copia de seguridad en WordPress.
Con tu web ya salvaguardada, debes seguir los siguientes pasos para poder deshacerte de este molesto malware.
Paso 1
Inicia sesión en tu hosting web y accede al administrador de bases de datos, generalmente PHPMyAdmin. Una vez dentro, localiza en la base de datos de tu WordPress la tabla ‘wp_options’
La tabla se denomina ‘wp_options’ por defecto, en caso de haber asignado un prefijo diferente a la tabla durante la instalación de WordPress, se llamará ‘prefijo_options’
Paso 2
En la tabla ‘wp_options’ localiza la propiedad «active_plugins» y edítala. En ella verás algo como lo siguiente:
a:16:{i:0;s:27:»wp-rocket/wp-rocket.php»;i:1;s:36:»contact-form-7/wp-contact-form-7.php»;i:2;s:11:»mplugin.php»;i:3;s:27:»woocommerce/woocommerce.php»; …
Paso 3
Deberás eliminar la entrada de «mplugin.php» comenzando desde la ‘i’ que le antecede hasta el ‘;’ que le sigue. Te quedará algo como lo siguiente con el ejemplo que te planteaba.
a:16:{i:0;s:27:»wp-rocket/wp-rocket.php»;i:1;s:36:»contact-form-7/wp-contact-form-7.php»; i:3;s:27:»woocommerce/woocommerce.php»; …
Paso 4
Misma operativa, pero esta vez sobre la misma tabla de ‘wp_options’, busca el campo «site_transient_update_plugins» en el que encontrarás algo como lo siguiente:
O:8:»stdClass»:5:{s:12:»last_checked»;i:1598414385;s:7:»checked»;a:16:{s:27:» wp-rocket/wp-rocket.php «;s:3:»2.0″;s:36:»contact-form-7/wp-contact-form-7.php»;s:3:»5.2″;s:11:»mplugin.php»;s:3:»1.0″;s:32:»woocommerce/woocommerce.php»; …
Paso 5
Igualmente, debes eliminar la parte de «mplugin.php» que corresponde justo al tramo que está entre ‘;’ para dejar algo como lo siguiente:
O:8:»stdClass»:5:{s:12:»last_checked»;i:1598414385;s:7:»checked»;a:16:{s:27:» wp-rocket/wp-rocket.php «;s:3:»2.0″;s:36:»contact-form-7/wp-contact-form-7.php»;s:3:»5.2″; s:3:»1.0″;s:32:»woocommerce/woocommerce.php»; …
Paso 6
Tras actualizar los campos en la base de datos, abre el administrador de archivos de tu hosting o accede vía FTP al directorio de tu instalación de WordPress. Una vez dentro, dirígete a la ruta ‘/wp-content/plugins’ y elimina los archivos «mplugin.php» y el «admin_ips.txt»
Seguramente hayas intentado este último paso de borrar el archivo directamente sin los pasos previos de limpiado en la base de datos, por lo que pasado un tiempo el archivo habrá vuelto a aparecer en dicha ruta.
Paso 7
Regresa al panel de tu WordPress y activa todos los plugins. ¡Listo!
Recomendaciones adicionales
A pesar de entender la magnitud del problema, no está de más que a partir de ahora tomes una serie de recomendaciones para mejorar la seguridad de tu WordPress. A continuación, te detallo brevemente algunas con las que podrás estar más tranquilo, por si acaso en un futuro tuvieras que lidiar con otro WordPress infectado por este u otros tipos de malware.
- Modifica, en la medida de lo posible, los usuarios administradores de tu WordPress junto con sus contraseñas y que éstas sean seguras.
- Realiza Backups diarios o copias de seguridad con cierta recurrencia. Así, siempre tendrás tu web respaldada.
- No te conectes a redes wifi gratuitas o abiertas.
- No descargues temas o plugins de fuentes NO OFICIALES, es decir, páginas desconocidas que no pertenezcan al autor del tema /plugin o a WordPress.org
- Por último, recuerda mantener todo actualizado a la versión más reciente.
¿Porqué mi sitio ha sido infectado?
En mi experiencia administrando sitios en WordPress, el mayor porcentaje de casos en los que la web ha sido infectada por este tipo malware es debido a la descarga de plugins o temas procedentes de páginas web desconocidas. Como norma, el plugin o tema en cuestión trae incorporado un fichero dentro de sus archivos fuentes con un nombre como «class.plugin-modules.php» o «class.theme-modules.php» que es el responsable directo de la propagación del virus en el momento de la instalación del plugin o tema. Aunque, en ocasiones, el desencadenante es el proceso de desinstalación.
Conclusión
En definitiva, como ya te he comentado en líneas anteriores, el causante de tu problema de malware en WordPress es la descarga de fuentes de dudosa reputación. Por tanto, desde aquí te insto a rascarte un poco el bolsillo y así evitar este tipo de circunstancias.
Si has sido afectado por este tipo de malware habrás podido comprobar que lo barato sale caro, así que lo mejor es no arriesgarse, máxime cuando tu WordPress pertenece a un cliente y/o almacena datos personales, transacciones, etc.
Espero con esto que hayas podido solucionar el problema del malware «mplugin.php»
Por favor, cualquier duda en los comentarios.
¡Nos vemos en próximos artículos!