Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
wp2shell-scanner — CVE-2026-63030 / CVE-2026-60137 - WordPress 사전 인증 RCE 스캐너 | Kitploit
도구/GitHubGitHub/bahartanir/wp2shell-scanner
Privilege EscalationVulnerability ScannersExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload DevelopmentLabs & Practice
GitHubbahartanir/wp2shell-scanner

wp2shell-scanner

CVE-2026-63030 / CVE-2026-60137 - WordPress 사전 인증 RCE 스캐너

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

wp2shell-scanner

@bahartanir(katherinepierce) 제작 ZephrFish/wp2shell-scanner의 포크로, 추가 개선 사항이 포함되어 있습니다. Adam Kues(Assetnote)와 Mustafa Can İPEKÇİ(nukedx)의 연구.

WordPress 코어의 wp2shell(CVE-2026-63030 / CVE-2026-60137) 노출에 대한 탐지 및 검증 도구입니다. 모드는 플래그로 선택하며 대상은 위치 인자로 지정합니다. --scan은 익스플로잇 페이로드를 보내지 않고 코어 버전을 지문(fingerprint)으로 식별하고 REST /batch/v1 라우트에 도달 가능한지 확인합니다. --check/--read/--shell/--rce/--root-prereq 모드는 승인된 랩 환경을 위한 검증 PoC입니다.

wp2shell.py는 표준 라이브러리만 사용하는 단일 스크립트로, 외부 의존성이 전혀 없습니다. 모든 실행 시 배너가 먼저 stderr로 출력됩니다(stdout으로 나가지 않으므로 --scan -j JSON 출력에는 영향을 주지 않습니다).

명령 플래그

모드 플래그는 정확히 하나가 필요합니다. 대상은 위치 인자입니다(모든 모드에서 URL, --scan의 경우 호스트 목록).

요약

root@kitploit:~
wp2shell.py (--scan | --check | --read | --shell | --rce | --root-prereq)
            [targets ...] [-f FILE] [-j] [-t THREADS] [--prefix PREFIX]
            [--delay DELAY] [--repeats REPEATS] [--preset PRESET] [--expr EXPR]
            [--max-len MAX_LEN] [--user USER] [--password PASSWORD] [--cmd CMD]
            [-i] [--no-cleanup] [-y] [--sleep SLEEP] [--rounds ROUNDS]
            [--route {auto,rest-route,wp-json}] [--proxy PROXY] [--authorized]
            [--timeout TIMEOUT]

모드 플래그(하나 선택)

옵션 플래그

원본 심층 분석(deep dive): https://blog.zsec.uk/wp2shell-code-trace-deep-dive/

Nuclei 템플릿

root@kitploit:~
nuclei -t wp2shell-exposure.yaml -u https://target

스캔(비파괴적)

단일 호스트, 다중 호스트 또는 파일.

root@kitploit:~
python3 wp2shell.py --scan https://target
python3 wp2shell.py --scan host1 host2 host3
python3 wp2shell.py --scan -f hosts.txt

옵션: -f/--file 호스트 파일(줄당 하나), -j/--json JSON 출력, -t/--threads 동시성(기본값 10).

검증 PoC

--check/--read/--shell/--rce/--root-prereq 모드는 실제 익스플로잇 페이로드를 전송합니다. 번들로 제공되는 localhost 랩 또는 소유 중이고 명시적으로 테스트 승인을 받은 다른 시스템에서만 실행하세요. --shell과 --rce는 원격 코드 실행을 수행하며 랩/승인된 대상용입니다. 루프백이 아닌 호스트의 --rce에는 --authorized가 필요합니다. --root-prereq는 동일한 토큰 게이트(token-gated) 진단 플러그인을 사용해 shell-to-root 사전 요구 사항을 확인하지만 로컬 권한 상승은 실행하지 않습니다.

--shell은 복구/크랙된 관리자 비밀번호가 필요합니다. --rce는 자격 증명 없는 사전 인증 체인입니다. SQLi를 통해 자체 관리자를 위조하고(oEmbed → changeset → 재진입(re-entrant) parse_request) 웹셸을 배포합니다 — 비밀번호가 필요 없습니다.

--shell, --rce, --root-prereq는 코드 실행 페이로드를 전송하기 전에 대화형 y/N 승인을 요청합니다(비대화형/EOF stdin에서는 중단됩니다). 랩 또는 승인된 대상에 대한 자동화 시 -y/--yes를 전달하여 프롬프트를 건너뛸 수 있습니다.

root@kitploit:~
docker compose -f poc/lab/docker-compose.yml up -d
python3 wp2shell.py --check http://127.0.0.1:8080
python3 wp2shell.py --read  http://127.0.0.1:8080 --expr @@version
python3 wp2shell.py --shell http://127.0.0.1:8080 --user admin --password 'Summer2026!' --cmd id
python3 wp2shell.py --shell http://127.0.0.1:8080 --user admin --password 'Summer2026!' -i
python3 wp2shell.py --rce   http://127.0.0.1:8080 --cmd id
python3 wp2shell.py --rce   http://127.0.0.1:8080 -i
python3 wp2shell.py --root-prereq http://127.0.0.1:8080 --user admin --password 'Summer2026!'
python3 wp2shell.py --lpe   http://127.0.0.1:8080

PoC의 근거가 된 패치 차이는 poc/diffs/에 저장되어 있으며 연구 노트는 poc/RESEARCH.md에 있습니다. SQLi는 author__not_in 수정만으로 완전히 재구성할 수 있습니다. 자격 증명 없는 --rce 체인(oEmbed → changeset → 재진입 → 관리자 생성)은 번들 랩에 대해 기본 설정(default) 상태의 RCE를 재현합니다. --shell은 복구/크랙된 관리자 자격 증명을 통한 인증된 플러그인 업로드 및 명령 실행의 대체 경로입니다.

로컬 권한 상승 (--lpe)

--lpe는 전체 사전 인증 RCE(SQLi → 관리자 위조 → 웹셸)와 자동화된 root 상승 시도를 연결합니다. 다음을 순서대로 시도하며 첫 번째 성공에서 멈춥니다:

root@kitploit:~
python3 wp2shell.py --lpe http://127.0.0.1:8080
python3 wp2shell.py --lpe http://127.0.0.1:8080 -y          # skip auth prompt
python3 wp2shell.py --lpe https://target --authorized        # non-loopback

루프백이 아닌 대상의 --lpe에는 --authorized가 필요합니다. 번들 랩(취약한 GameOverlay 커널이 포함된 Ubuntu 22.04 기본 이미지)에서는 CVE-2023-2640/32629가 컴파일러 없이 성공합니다.

도구 다운로드
플래그기능
--scan비파괴적 노출 확인: 버전 지문 + REST /batch/v1 라우트 접근 가능 여부 확인. 익스플로잇 페이로드는 전송하지 않습니다.
--check무해한 차등 프로브로 블라인드 시간 기반 SQLi를 확인합니다.
--read블라인드 SQLi를 통해 데이터를 추출합니다(프리셋 또는 원시 SQL 스칼라 표현식).
--shell크랙/복구된 관리자 비밀번호를 사용하는 인증 RCE 체인입니다.
--rce자격 증명 없는 사전 인증(pre-auth) RCE: SQLi를 통해 자체 관리자를 위조한 뒤 자체 정리(self-cleaning) 웹셸을 배포합니다.
--root-prereq무해한 shell-to-root 사전 요구 사항 확인; 진단만 실행하며 로컬 권한 상승은 절대 실행하지 않습니다.
--lpe전체 체인: 사전 인증 SQLi → 관리자 위조 → 웹셸 → root. CVE-2023-2640/32629(GameOverlay overlayfs), CVE-2023-4911(Looney Tunables glibc), CVE-2026-31431(AF_ALG Copy Fail), CVE-2026-23111(nf_tables UAF 프로브)을 시도한 다음 SUID/sudo/cap 폴백을 시도합니다.
플래그적용 대상기능
-f, --file--scan파일에서 호스트를 읽습니다(줄당 하나, # 주석은 건너뜀).
-j, --json--scan결과를 stdout에 JSON으로 출력합니다.
-t, --threads--scan스캔 동시성(기본값 10).
--prefix--check/--readDB 테이블 접두사(기본값 wp_).
--delay--check/--read타이밍 오라클용 주입 SLEEP 시간(초)(기본값 0.15).
--repeats--check/--read비트당 N회 프로브의 중앙값; 노이즈가 많은 링크에서는 값을 올립니다(기본값 1).
--preset--read내장 대상: version, database, db_user, users, siteurl(기본값 users).
--expr--read추출할 원시 SQL 스칼라 표현식(--preset을 재정의).
--max-len--read추출할 문자열 최대 길이(기본값 128).
--user--shell/--root-prereq로그인할 관리자 사용자 이름(기본값 admin).
--password--shell/--root-prereq관리자 평문 비밀번호(--read에서 해시를 크랙해야 함, 이 모드에 필수).
--cmd--shell/--rce대상에서 실행할 명령(기본값 id).
-i, --interactive--shell/--rce단일 명령 대신 대화형 웹 명령 루프.
--no-cleanup--shell/--rce드롭된 플러그인/웹셸을 제거하지 않고 남겨둡니다(랩 전용).
-y, --yes--shell/--rce/--root-prereq대화형 승인 프롬프트를 건너뜁니다(자동화용).
--sleep--rce사전 인증 SQLi 탐지를 위한 주입 SLEEP 시간(초)(기본값 4).
--rounds--rce--rce 탐지를 위한 N회 프로브 중앙값(기본값 3).
--route--rce배치 라우트 형식: auto, rest-route 또는 wp-json(기본값 auto).
--proxy--rceHTTP 프록시를 통해 요청을 라우팅합니다(예: http://127.0.0.1:8080의 Burp).
--authorized--rce루프백이 아닌 --rce 대상에 대한 승인을 명시합니다(원격 호스트 필수).
--timeout전체요청당 타임아웃(초)(기본값 15).
CVE영향 대상기법컴파일러
CVE-2023-2640 / CVE-2023-32629Ubuntu 22.04 / 23.04, GameOverlay 드라이버가 포함된 커널 < 6.3.3사용자 네임스페이스의 권한 없는 overlayfs 마운트가 upper 디렉터리에서 chmod +s를 유지없음(순수 셸)
CVE-2023-4911glibc 2.34–2.38 (Ubuntu 22.04, Debian 12, Fedora 37–38)_dl_parse_tunables()의 GLIBC_TUNABLES 스택 오버플로 → SUID exec 시 LD_PRELOAD 주입gcc 필요
CVE-2026-31431algif_aead + authencesn(hmac(sha256),cbc(aes))가 있는 Linux 커널AF_ALG AEAD in-place 최적화 + splice()가 SUID 바이너리 페이지 캐시에 4바이트 기록; 사전 요구 사항 프로브 — AliHzSec/CVE-2026-31431 링크gcc 필요
CVE-2026-23111Ubuntu 22.04 / 24.04, Debian Bookworm / Trixienft_map_catchall_activate()의 nf_tables 역검사(inverted check) UAF → chain->use 언더플로 → 해제된 체인; 사전 요구 사항 프로브 — Baba01hacker666/CVE-2026-23111 링크gcc 필요
폴백모든 환경SUID GTFOBins + sudo NOPASSWD 악용없음