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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-51567 — CVE-2024-51567 is a Python PoC exploit targeting an RCE vulnerability in CyberPanel v2.3.6’s upgrademysqlstatus endpoint, bypassing CSRF protections. | Kitploit
도구/GitHubGitHub/ajayalf/cve-2024-51567
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & Education
GitHubajayalf/cve-2024-51567

CVE-2024-51567

CVE-2024-51567 is a Python PoC exploit targeting an RCE vulnerability in CyberPanel v2.3.6’s upgrademysqlstatus endpoint, bypassing CSRF protections.

저장소 보기
511년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-51567 익스플로잇 스크립트

CVE-2024-51567은 CyberPanel v2.3.6에 영향을 미치는 심각한 명령 삽입 취약점인 CVE-2024-51567에 대한 Python 개념 증명(PoC) 익스플로잇 스크립트입니다. 이 취약점은 upgrademysqlstatus 엔드포인트에서 발견되었으며, CSRF 보호를 우회하고 특정 매개변수에서 셸 메타 문자를 사용하여 원격 명령 실행(RCE)을 가능하게 합니다.

⚠️ 중요 고지: 이 스크립트는 교육 목적과 귀하가 소유하거나 테스트할 명시적 권한이 있는 시스템에 대한 승인된 보안 테스트를 위해 작성되었습니다. 승인되지 않은 시스템에서 이 스크립트를 사용하는 것은 불법이며 법적 처벌을 받을 수 있습니다. 저자는 오용에 대해 어떠한 책임도 지지 않습니다. 항상 윤리적 기준과 관련 법률을 준수하십시오.

목차

  • 취약점 개요
  • 기능
  • 사전 요구 사항
  • 설치
  • 사용법
    • 단일 대상
    • 다중 대상
    • 예제: 다중 대상
    • 샘플 출력
  • 코드 구조
  • 오류 처리 및 디버깅
    • 일반적인 오류 메시지
  • 참고 자료

취약점 개요

  • CVE ID: CVE-2024-51567
  • 취약점 유형: 명령 삽입 / CSRF 우회
  • 영향을 받는 소프트웨어: CyberPanel 버전 2.3.6 및 2.3.7 (패치되지 않음)
  • 설명: CyberPanel의 databases/views.py에 있는 upgrademysqlstatus 엔드포인트(커밋 5b08cd6 이전)는 POST 요청만 필터링하는 secMiddleware 보호를 우회하여 원격 공격자가 임의 명령을 실행할 수 있게 합니다. 이 취약점은 statusfile 매개변수의 셸 메타 문자를 사용하여 악용될 수 있습니다.
  • 실제 악용: 2024년 10월 PSAUX에 의해 악용됨.

기능

  • 대상 서버에서 CSRF 토큰을 가져와 요청을 인증함
  • CSRF 보호를 우회하도록 특별히 제작된 페이로드를 생성 및 전송함
  • /dataBases/upgrademysqlstatus 엔드포인트를 통해 취약한 CyberPanel 서버에서 원격 명령을 실행함
  • 단일 및 다중 대상 모두 악용 지원
  • 사용자가 종료할 때까지 반복적인 명령 입력을 허용하는 대화형 명령 실행 모드
  • CSRF 토큰이 누락되었거나 유효하지 않은 경우 오류 메시지 제공

사전 요구 사항

  • Python 3
  • httpx 모듈

설치

  1. 저장소 클론:
    root@kitploit:~
    git clone https://github.com/ajayalf/CVE-2024-51567.git
    cd CVE-2024-51567
    
  2. 종속성 설치: httpx가 설치되어 있는지 확인하십시오:
    root@kitploit:~
    pip install httpx
    

사용법

단일 대상

단일 대상에 대해 스크립트를 실행하려면 다음 명령을 사용하십시오:

root@kitploit:~
python CVE-2024-51567.py <target-url>

예제:

root@kitploit:~
python CVE-2024-51567.py http://example.com

다중 대상

여러 대상에 대해 스크립트를 실행하려면 대상 URL 목록이 포함된 텍스트 파일(한 줄에 하나의 URL)을 만들고 다음 명령을 사용하십시오:

root@kitploit:~
python CVE-2024-51567.py <targets.txt>

예제:

root@kitploit:~
python CVE-2024-51567.py targets.txt

예제: 다중 대상

여러 대상을 사용하려면 targets.txt 또는 원하는 이름의 텍스트 파일을 만드십시오. 파일 형식은 아래와 같이 한 줄에 하나의 URL 목록이어야 합니다:

root@kitploit:~
http://target1.com
http://target2.com
http://target3.com

샘플 출력

스크립트가 대상에 연결되면 대상 서버에서 실행할 셸 명령을 입력할 수 있습니다. 종료하려면 exit 또는 quit를 입력하십시오.

코드 구조

  • get_CSRF_token(client): 대상의 메인 페이지 쿠키에서 CSRF 토큰을 가져옵니다.

    • 입력: client (an httpx.Client 객체)
    • 출력: CSRF 토큰 값, 또는 찾을 수 없는 경우 오류.
  • pwn(client, CSRF_token, cmd): CSRF 토큰과 원하는 명령이 포함된 조작된 페이로드를 전송합니다.

    • 입력: client (an httpx.Client 객체), CSRF_token (문자열), cmd (문자열)
    • 출력: 요청 상태 또는 "Error".
  • exploit(client, cmd): 대상에서 pwn 함수를 실행하여 명령을 실행하고 출력을 인쇄합니다.

    • 입력: client (an httpx.Client 객체), cmd (문자열)
  • run_exploit(target): 대상에 대한 연결을 초기화하고 대화형 명령 루프를 시작합니다.

    • 입력: target (문자열, 대상 URL)

오류 처리 및 디버깅

CSRF 토큰이 쿠키에서 발견되지 않으면 스크립트는 수신된 모든 쿠키를 인쇄하고 도움이 되는 오류 메시지와 함께 종료됩니다.

일반적인 오류 메시지

  • "Error: CSRF token not found in cookies.": 대상 서버의 응답 쿠키에서 CSRF 토큰을 찾을 수 없음을 나타냅니다. 해결 방법:
    • 서버가 쿠키에 CSRF 토큰을 전송하는지 확인하십시오.
    • CSRF 토큰을 얻기 위한 올바른 엔드포인트가 /인지 확인하십시오. 다른 경로인 경우 get_CSRF_token 함수를 그에 따라 수정하십시오.

참고 자료

이 취약점에 대한 자세한 내용은 다음 리소스를 참조하십시오:

  • NVD의 CVE-2024-51567
  • Ionix의 CyberPanel 원격 코드 실행 취약점
  • 내 옵션은 무엇인가? Dreyand의 CyberPanel v2.3.6 Pre-Auth RCE
도구 다운로드
  • 처리: 사용자가 exit 또는 quit를 입력할 때까지 사용자 명령을 수신합니다.
  • 메인 실행: 인수를 확인하여 대상이 단일 URL인지 또는 여러 대상이 포함된 파일인지 판단합니다.

    • 파일이 제공되면 목록의 각 대상에 대해 읽고 실행합니다.
    • URL이 제공되면 단일 대상에 대해 실행합니다.