
Exploit para CVE-2022-1329 en WordPress Elementor 3.6.0-3.6.2 que permite la ejecución remota de código autenticada mediante la carga de un ZIP malicioso con carga útil PHP.
Fecha: 16 de abril de 2023
Autor del exploit: Việt Hùng (https://github.com/phanthibichtram12)
Sitio web del proveedor: https://elementor.com/
Enlace del software: https://wordpress.org/plugins/elementor/advanced/ (desplácese hacia abajo para seleccionar la versión)
Versiones: 3.6.0, 3.6.1, 3.62
Probado en: WordPress 5.9.3 (no depende del sistema operativo porque este exploit NO proporciona una carga útil)
CVE : CVE-2022-1329
El plugin de WordPress llamado Elementor (v. 3.6.0, 3.6.1, 3.6.2) tiene una vulnerabilidad que permite a cualquier usuario autenticado cargar y ejecutar cualquier archivo PHP.
Esta vulnerabilidad, en OWASP TOP 10 2021, se encuentra en la posición número 1 (Control de acceso roto)
El archivo que contiene esta vulnerabilidad es elementor/core/app/modules/onboarding/module.php
Al final de este archivo, puede encontrar este código:
add_action( 'admin_init', function() {
if ( wp_doing_ajax() &&
isset( $_POST['action'] ) &&
isset( $_POST['_nonce'] ) &&
wp_verify_nonce( $_POST['_nonce'], Ajax::NONCE_KEY )
) {
$this->maybe_handle_ajax();
}
} );
Este código se activa cada vez que CUALQUIER cuenta de usuario accede a /wp-admin Para que funcione, necesitamos las siguientes 4 condiciones:
El archivo que cargamos debe tener la siguiente estructura:
Este archivo será SU carga útil (por ejemplo, una Reverse Shell en PHP o cualquier otra cosa) ADVERTENCIA: El plugin falso que cargamos será activado por Elementor, lo que significa que cada vez que accedamos a cualquier página, activaremos nuestra carga útil. Por ejemplo, si intenta conectarse a un servidor fuera de línea, esto podría provocar una Denegación de Servicio. Para evitar esto, recomiendo usar alguna variable para activar la carga útil. Algo como esto (acceda a Anypage.php?activate=1 para continuar con la carga útil real):
if (!isset($_GET['activate']))
return;