Atacantes explotan activamente vulnerabilidad de RCE en el CMS PrestaShop

Ciberdelincuentes encuentran la manera de utilizar una vulnerabilidad de inyección de SQL para ejecutar código remoto en servidores que contienen sitios web de PrestaShop.

El equipo de PrestaShop ha sido informado de que atacantes están explotando una combinación de vulnerabilidades conocidas y desconocidas para inyectar código malicioso en los sitios web de PrestaShop.

Mientras investigamos este ataque, encontramos una cadena de vulnerabilidad desconocida que estamos solucionando. Por el momento no podemos estar seguros que sea la única forma de que puedan realizar el ataque.

Según indican, el problema parece afectar a tiendas basadas en las versiones 1.6.0.10 o superiores, sujetas a vulnerabilidades SQLi (inyección SQL). Las versiones 1.7.8.2 y posteriores no son vulnerables a menos que se esté explotando un módulo o código personalizado que incluya una vulnerabilidad de SQLi.

«Tenga en cuenta que las versiones 2.0.0~2.1.0 del módulo Wishlist (blockwishlist) son vulnerables.»

¿Cómo funciona el ataque?

El ataque requiere que la web sea vulnerable a ataques de inyección SQL. Hasta donde sabemos, la última versión de PrestaShop y sus módulos están libre de esta vulnerabilidad por lo que atacantes podrían dirigir sus esfuerzos en atacar tiendas que utilizan software o módulos obsoletos.

De acuerdo con lo que indican propietarios de tiendas afectadas por los ataques el «modelo» de ataque sería el siguiente:

El atacante envía una solicitud POST (no revelada) a la ruta vulnerable a SQLi.Después de un segundo el atacante envía una solicitud GET a la raíz de la web, sin parámetros. Esto hace que se cree un archivo PHP «blm.php» en la raíz de la tienda.El atacante envía una solicitud GET a este archivo, consiguiendo ejecutar código remoto.

Después de que los atacantes obtuvieran con éxito el control de la tienda, crearon un formulario de pago falso en la página oficial, con el fin de robar los datos de las tarjetas de créditos de los clientes.

«Si bien este parece ser el patrón común los atacantes podrían utilizar otra vía, modificar el nombre del archivo creado o incluso eliminar sus huellas una vez finalice su ataque.»

¿Cómo mitigar la vulnerabilidad?

En primer lugar, actualizar la tienda y todos sus módulos a la última versión. Esto debería evitar que su tienda quede expuesta a vulnerabilidades de SQLi conocidas.

Tal como indican desde PrestaShop, los atacantes podrían estar utilizando las funciones de almacenamiento de caché de MySQL Smarty como parte del vector de ataque. Esta característica no suele usarse y de hecho viene deshabilitada por defecto, sin embargo un atacante podría habilitarla de forma remota. Actualmente no existe un parche para corregir este problema, por lo que se recomienda deshabilitar esta función en el código de PrestaShop.

Para hacerlo, busque el archivo config/smarty.config.inc.php y elimine las siguientes líneas:

if (Configuration::get(‘PS_SMARTY_CACHING_TYPE’) == ‘mysql’) {
include _PS_CLASS_DIR_.’Smarty/SmartyCacheResourceMysql.php’;
$smarty->caching_type = ‘mysql’;
}

¿Cómo saber si has sido atacado?

Considere revisar en los logs de acceso del servidor el patrón de ataque explicado anteriormente. Este es un ejemplo compartido por un miembro de la comunidad de PrestaShop:

– [14/Jul/2022:16:20:56 +0200] «POST /modules/XXX/XXX.php HTTP/1.1» 200 82772 «-» «Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14»

– [14/Jul/2022:16:20:57 +0200] «GET / HTTP/1.1» 200 63011 «-» «Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36»

– [14/Jul/2022:16:20:58 +0200] «POST /blm.php HTTP/1.1» 200 82696 «-» «Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0»

«Nota: la ruta del módulo vulnerable ha sido modificada por razones de seguridad.»

Tenga en cuenta que no encontrar este patrón en sus registros no significa necesariamente que su tienda no se haya visto afectada por el ataque.

Adicionalmente desde PrestaShop recomiendan contactar a un especialista para realizar una auditoría completa a su sitio y asegurarse de que no se haya modificado ningún archivo ni se haya agregado ningún código malicioso.

El día 25/07/2022 se lanzó la versión 1.7.8.7 de PrestaShop para reforzar la seguridad del almacenamiento en caché de MySQL Smarty contra ataques de inyección de código.

Más información:

https://build.prestashop.com/news/major-security-vulnerability-on-prestashop-websites/https://thehackernews.com/2022/07/hackers-exploit-prestashop-zero-day-to.html

La entrada Atacantes explotan activamente vulnerabilidad de RCE en el CMS PrestaShop se publicó primero en Una al Día.