Limpiar malware de RR.NU de WordPress

Limpiar malware de RR.NU de WordPress

limpiar-wpSi tienes un sitio WordPres ya sabrás que es sumamente importante mantener todo actualizado, tanto la versión de WordPress como los themes y plugins que utilices, siempre que sea posible. Esto es por seguridad, ya que no mantener las actualizaciones son blancos potenciales para los ataques maliciosos. Bien, sabemos que es mejor prevenir que curar pero… ¿qué hacemos cuando ya hemos sufrido un ataque? Una opción rápida, sencilla y eficaz sería restaurar la última versión de una copia de seguridad que estés seguro que no esté infectada. Esto te permitirá que tu sitio no este fuera de linea o sea penalizado por la infección. Siempre recuerda hacer copias de seguridad tanto del sitio cuando está limpio como cuando está infectado para restaurar el antiguo sitio. Otra alternativa sería realizar la limpieza del sitio infectado para intentar eliminar el código inyectado.

Veamos los pasos para realizar esta limpieza:

  1. Cambiar contraseñas y datos de accesos. La del administrador de WordPress, la del servidor FTP y la de la base de datos. Esto no limpiará nuestro sitio de la infección, pero sí evitará nuevos intentos.
  2. Somos insistentes con esto pero… Haz una copia de seguridad de todo, por si surge cualquier error y no se obtiene el resultado que deseábamos o el script de limpieza borra algo que no debería.
  3. Copia el siguiente código y pégalo en un nuevo archivo vacío. Usa un editor de texto plano para ello.<!–?php
    class rrnuMalware {

    private $directory;
    private $counter;
    private $log = ”;
    private $pattern = ‘(\<\?php \/\*\*\/ eval\(base64_decode\("aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNzZXQoJF9TRVJWRVJbJ21yX25vJ10pKX.*"\)\);\?\–>)’;

    private function __construct() {

    }

    public static function create() {
    return new self();
    }

    public function setDirectory($dir) {
    $this->directory = $dir;
    return $this;
    }

    private function getDirectory() {
    return $this->directory;
    }

    private function validate() {
    if (is_null($this->getDirectory())) {
    throw new exception(‘Define the root directory to Malware!’);
    }
    }

    private function startup() {
    $this->counter = array(
    ‘free’ => 0,
    ‘infected’ => 0,
    ‘disinfected’ => 0,
    ‘total’ => 0,
    );
    }

    private function Malware($directory) {
    $currentDir = dir($directory);

    while (false !== ($entry = $currentDir->read())) {
    $file = $directory . DIRECTORY_SEPARATOR . $entry;

    if ($entry != "." && $entry != ".." && is_dir($file)) {
    $this->Malware($file);
    } else if (pathinfo($entry, PATHINFO_EXTENSION) == ‘php’) {
    $fileContent = preg_replace($this->pattern, ”, file_get_contents($file),-1,$detected);
    if($detected === 0){
    $status = ‘<em style="color: darkblue;">free</em>’;
    $this->counter[‘free’]++;
    } else {
    if (false === file_put_contents($file, $fileContent)) {
    $status = ‘<em style="color: darkred;">infected!</em>’;
    $this->counter[‘infected’]++;
    } else {
    $status = ‘<em style="color: darkgreen;">disinfected!</em>’;
    $this->counter[‘disinfected’]++;
    }
    }
    $this->counter[‘total’]++;
    $this->log .= $file . "[" . $status . "]
    \n";
    }
    }
    $currentDir->close();

    }

    public function execute() {
    $this->validate();
    $this->startup();
    $this->Malware($this->getDirectory());

    $result = array();
    foreach($this->counter as $key => $value){
    $result[] = "<b>{$key}</b>({$value}) ";
    }

    return "</pre>
    <h2>".implode(‘ | ‘,$result)."</h2>
    <pre>\n". $this->log;
    }

    }

    echo ‘</pre>
    <div style="color: #333; font-family: Verdana; font-size: 11px;">’; echo ‘

    <hr />

    ‘; echo rrnuMalware::create() ->setDirectory(realpath(getcwd())) ->execute(); echo ‘</div>
    <pre>’;

  4. Guarda el archivo como remove-rr-nu-virus.php
  5. Sube este archivo en la misma ruta de la carpeta principal de WordPress y ejecútalo en tu navegador: http://www.tusitio/remove-rr-nu-virus.php

Esta es una manera de hacer una limpieza de RR.NU de WordPress, claro que si conoces otra puedes compartirlo con nosotros! Saludos!

Entradas relacionadas
Certificado de seguridad
Google mostrará “web no segura” a todas las que no usen HTTPS

Si quieres que tu web no sea marcada como web no segura por Google, debes tener una web en HTTPS con certificado de seguridad.

Leer más
Detectar malwares en WordPress

De nuevo volvemos a tratar un tema importante en los sitios webs: la seguridad en WordPress. Siempre hablamos de precauciones para evitar malwares, pero hoy hablaremos […]

Leer más
Proteger WordPress de ataques y malwares

Como siempre mencionamos, WordPress se ha convertido en uno de los CMS más utilizados en sitios de gestión de contenidos. Gracias a su crecimiento, ha logrado […]

Leer más

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *