Vulnerabilidad de Elementor Pro y Análisis del ataque

Por favor, comparte este artículo si crees que puede ayudar a alguien. ¡Gracias!

Ataque combinado a Elementor Pro y Ultimate Addons para Elementor pone en riesgo 1 millón de sitios

Elementor PRO es un constructor de páginas para WordPress con aproximadamente 1 millón de usuarios. El 4 de mayo, muchos sitios web aparecían con un suscriptor sospechoso que se tras haberse registrado en el sitio, logró subir archivos adjuntos maliciosos.

La solicitud POST a esta puerta trasera se parece a lo indicado en el siguiente cuadro. El backdoor permitía al usuario malicioso ejecutar cualquier función PHP con cualquier argumento que especifique. En este escenario específico, subían un archivo a un directorio «tmp» con una cierta carga útil que el usuario malicioso podía utilizar para verificar si el sitio ha sido infectado con éxito.

Array
(
    [c] => file_put_contents
    [a] => <?php echo \'abdslk\'.\'dkfjke\'; ?>
    [f] => /tmp/....
    [b] => 
)

Las dos vulnerabilidades explotadas

La vulnerabilidad de Elementor PRO permitía a cualquier usuario subir archivos maliciosos que conducían a la ejecución remota de código. Sólo era posible atacar sitios que tuvieran algún tipo de registro abierto (que incluye la mayoría de las tiendas WooCommerce, sitios LMS, etc.).

La segunda vulnerabilidad permitió al atacante eliminar esta limitación. Una vulnerabilidad en el complemento Ultimate Addons For Elementor permitía al atacante crear una cuenta, incluso si los registros estaban desactivados, y continuar con la explotación de la vulnerabilidad de Elementor PRO.

Elementor Pro < 2.9.4 - Subida de archivos arbitrarios autentificados

La vulnerabilidad de subida arbitraria en el plugin de Elementor Pro permitía a cualquier usuario autentificado, independientemente de su rol de usuario, presentar una solicitud AJAX entre bastidores que le permitía subir cualquier archivo al directorio de subida.

A esta función le faltaba una comprobación de permisos y una comprobación de la extensión del archivo adecuada que permitiera la existencia de la vulnerabilidad. Esto, en combinación con el exploit de bypass de registro (o registro abierto en el sitio), permitía a los hackers explotar fácilmente la combinación de estos problemas para subir malware al sitio. Como no había ninguna carga sospechosa, la mayoría de los cortafuegos no detectaron nada sospechoso.

El problema se solucionó en la versión 2.9.4 de Elementor Pro, que añadió una comprobación de permisos y extensión de archivos con respecto a la acción de carga.

Últimos añadidos para Elementor < 1.24.2 - Bypass de registro

Para que un usuario malintencionado pueda explotar la vulnerabilidad de carga arbitraria, es necesario autenticarse. En caso de que un sitio no tenga registros abiertos al público y se haya instalado el plugin Ultimate Addons for Elementor, pueden explotar la vulnerabilidad de derivación de registro en el plugin para crear una cuenta.

Este problema existe en el módulo del formulario de registro, que se registra mediante una acción AJAX. A esta acción AJAX le faltaban 2 comprobaciones: si el sitio permite registros o no y si el propio módulo ha sido activado por el administrador del sitio.

En la versión 1.24.2 del plugin Ultimate Addons for Elementor se añadieron 2 comprobaciones: si los registros están abiertos o no y si el módulo de formulario de registro ha sido activado. Sólo si cumple estas 2 condiciones procesará la solicitud más adelante en la cadena.

Análisis del malware wpstaff.php

Uno de los archivos que se subió a los servidores después de una explotación exitosa era un archivo llamado «wpstaff.php». Este archivo contiene un gran bloque de comentarios que lo hace parecer un plugin legítimo, pero una rápida mirada al código PHP hará evidente que había algo sospechoso.

Al ejecutar este archivo, intentará escribir un archivo llamado «wp-xmlrpc.php» en la raíz del sitio de WordPress. Este archivo es esencialmente una puerta trasera protegida por contraseña que permite al usuario malicioso hacer casi cualquier cosa con el servidor a su antojo. Algunas de las funciones incluyen obtener información del servidor, ejecutar comandos de shell, ejecutar código PHP en bruto (eval), alterar el sistema de archivos de la manera que les plazca y descargar cualquier archivo presente en el servidor.

Una vez que este archivo ha sido creado en la raíz del sitio de WordPress, imprimirá «fuckoffffffff» en la pantalla. Lo más probable es que indique al usuario malicioso que ha creado con éxito la puerta trasera del sitio. Después de esto, se borrará a sí mismo (el archivo y directorio actual) y el único rastro que queda es el archivo «wp-xmlrpc.php» en la raíz del sitio de WordPress.

Pasos a seguir si crees que has sido afectado

Primero, actualiza tanto Elementor PRO como Ultimate Addons for Elementor a las últimas versiones. Luego, revisa los usuarios de tu sitio de WordPress y si hay algún usuario nuevo o sospechoso. Si tienes inscripciones abiertas y muchos usuarios se inscriben en tu sitio regularmente, busca los «Nombres de los suscriptores» que hemos reunido en la sección IDC más abajo.

Después de haber actualizado los plugins y eliminado a los usuarios malintencionados, examine los archivos de su sitio web y vea si hay algún archivo PHP u otros archivos no deseados en el directorio /wp-content/uploads/elementor/custom-icons/. Asegúrate de mirar dentro de todas las carpetas dentro de /wp-content/uploads/elementor/custom-icons/. Finalmente, asegúrate de borrar el archivo wp-xmlrpc.php en la raíz de tu sitio de WordPress, si está presente.

Lista de indicadores de compromiso (IDC)

Aquí hay una lista de nombres de suscriptores, archivos y carpetas con las direcciones IP asociadas a los ataques.

Nombres y direcciones de correo electrónico de los suscriptores:

– yolalo1
– yolalo3574
– gjf0xm2v
[email protected]
– jicato3848
– jicato3848asgwww
– jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848 jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848 jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848jicato3848 (dividido en tres líneas en este post)
– wp-cron-not-del-0hr
– wp-cron-not-del-cb7
– wp-cron-not-del-f7j
– wp-cron-not-del-w36
– wp-cron-not-del-zzu
– on
– 15885940386cb25588c011555c7bec26acce4111a4
– 15885955385decf04106c4528236c46cdad57b009f
– 1588596058e1314c335d33ec25c29ad7ad83a2ec97
– 1588598837090fb39cee1ec173efe4961182a8d4ac
– 1588602992ea1cf7b9f1e0344ea9cbf841497a6660
– 1588603357df6a9423800ccefec53dd026ededd48a
– 15886153291bab70f965d0cd889ed8d430e350d3c3
– 15886153568f7d93cb8a13461617e3bc9052790908
– 158861797120b00fc294cdd2dc1c0fea2fd2910918
– 15886225164fe7d694ba2ecfe461d23e57a5cab98f
– 1588628864eadc7723974040025b7e8411d5e5cea3
– 1588631153e14dd423832fd5eb9b453c21faf17c92
– 1588632295892d74341a531e19fad5557bf689badbnew
– 1588635714de7a4c834b40d501d6c4f126b1554eb4
– 158863581865996805da73aec493c498c8df6a4881
– 15886374308667b565a9cab6c160b3601e82ab2e59
– 1588643769b4e2212343fb6467c7e83eef2fb623f3
– 1588649776db8a33272ccd21f180321cf2018e0ab3
– 15886541178cdf19c7f28b6b4cf9dd427d692d5d36
– 15886567682ffdffacab140a4b2f2a644d60257af8
– 1588658484edbd1300fc147db33ed1704aba681667
– 158865903708fd57f1fee54da257ab918466f7fe49
– 15886598300f0d05ca50d361b417c9b775d1ab0bbbnew
– 158866013879811e224f9c32c7cafd88dd2f87f485
– 158866428271c4489f2f1ffce0fc96a97adb467f21
– 1588667387b893ddaf0c8d42c6f5b07c97c603c2bc
– 15886674635acbf16b4ed1dd72d7c587fbc45d364b
– 1588667683c08a39628d59c07e99e9e588ebb348bcnew
– 1588668250f656b3633505d70c9974ff8afe9313f3
– 158866960733cafbc1cdb4912f4c6bf63cb586b161
– 1588672413d79aa2612b769b5f312755c1b40b41e5new
– 1588681886dc17a270c84fc08a4901551d239d0d23
– 1588682784350873375effd75bcfd3e37c232bd190new
– 1588684055caf96aa23c46b9d640ac6228bd860d6

Archivos dentro de /wp-content/uploads/elementor/custom-icons/:

– wpstaff.php
– demo.html
– Read Mw.txt
– config.json
– icons-reference.html
– selection.json
– fonts.php

Archivos dentro de la raíz del sitio de WordPress:

– wp-xmlrpc.php

Direcciones IP:

Primera oleada de ataques
– 188.163.61.118
– 185.185.25.189
– 2a05:8b81:1000:1::946f:8ca8

Segunda oleada de ataques
– 5.188.232.97
– 2a00:7c80:0:64::1073:c32b
– 185.212.128.162

Línea de tiempo:

4 de mayo de 2020 – Primeros ataques registrados
4 de mayo de 2020 – Vulnerabilidad arreglada en Ultimate Addons for Elementor versión 1.24.2
7 de mayo de 2020 – Vulnerabilidad arreglada en Elementor PRO versión 2.9.4

Por favor, comparte este artículo si crees que puede ayudar a alguien. ¡Gracias!

Valora este artículo:

5/5

Deja una respuesta

¿Encontraste algo interesante?

¡No te pierdas las próximas entradas suscribiéndote a nuestro boletín!