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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-23724 — CVE-2024-23724에 대한 개념 증명 익스플로잇: Ghost CMS에서 악성 SVG 프로필 사진 업로드를 통한 권한 상승. 자동화된 설정 및 공격 스크립트 포함. | Kitploit
도구/GitHubGitHub/youssefdds/cve-2024-23724
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & Education
GitHubyoussefdds/cve-2024-23724

CVE-2024-23724

CVE-2024-23724에 대한 개념 증명 익스플로잇: Ghost CMS에서 악성 SVG 프로필 사진 업로드를 통한 권한 상승. 자동화된 설정 및 공격 스크립트 포함.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

설치

자동 설치( 권장)

취약점을 테스트하려면 두 개의 계정이 필요합니다: 관리자(소유자) 역할의 계정과 기여자 역할의 계정이 필요합니다. Ghost CMS에서는 먼저 관리자 패널에 접근하여 소유자 계정을 만든 다음, 해당 계정에서 기여자를 초대하여 자신의 계정을 만들도록 해야 합니다. 그러나 Ghost에서 기여자를 초대하는 유일한 방법은 이메일로 초대 링크를 보내는 것이며, 이는 기여자 계정으로 이메일을 보내기 위해 이메일 전송 서비스가 필요합니다. 편의를 위해 Mailgun 계정을 만들고, Ghost에 기여자를 추가한 후, 그 상태의 데이터베이스 덤프 파일을 생성했습니다. Docker Compose 구성에서는 먼저 덤프에서 데이터베이스를 복원한 후 Ghost를 시작하도록 하여, 이 취약점을 테스트하기 위해 이메일 전송 서비스가 필요하지 않습니다. 그러나 제공된 데이터베이스 덤프를 사용하지 않고 깨끗한 설치를 시작하려면 manual-setup 폴더에 있는 Docker Compose를 사용하여 깨끗한 Ghost 설치를 시작할 수 있습니다. 아래는 Mailgun (사용한 이메일 전송 서비스)을 설정하고 Ghost와 함께 작동하도록 하는 단계입니다. 이 설치에서는 로그인에 사용할 관리자 및 기여자 자격 증명이 다음과 같습니다.

  • 관리자:
    • 이메일: [email protected]
    • 비밀번호: ZtXfMq2FaRHGm@!
  • 기여자:
    • 이메일: [email protected]
    • 비밀번호: ZtXfMq2FaRHGm@!

Mailgun을 사용한 수동 설치

시작하려면 Mailgun 계정을 만들어야 합니다. 계정을 만든 후 SMTP 자격 증명을 얻으십시오. 자격 증명을 얻은 후 config.example.json 파일에 표시된 것과 동일한 형식으로 config.development.json 파일에 넣으십시오.

다음은 단계별 가이드입니다.

  1. Mailgun에서 Mailgun 계정을 만듭니다.
  2. Mailgun 대시보드의 SMTP 자격 증명 섹션으로 이동합니다.
  3. SMTP 자격 증명을 복사합니다.
  4. config.example.json 파일을 복사하여 config.development.json으로 이름을 바꿉니다.
  5. config.development.json 파일에 SMTP 자격 증명을 입력합니다. 이렇게 하면 개발 환경이 Mailgun을 통해 이메일을 보내도록 올바르게 구성됩니다.
  6. Mailgun 계정을 만든 경우 기본 Mailgun 도메인은 샌드박스 도메인이므로, 기여자 초대 링크를 받을 기여자 이메일을 승인해야 합니다. 이는 Mailgun 대시보드(왼쪽 사이드바)의 Send > Sending > Overview에서 수행할 수 있습니다. 샌드박스 도메인을 사용할 때 Mailgun은 승인된 수신자에게만 이메일을 보냅니다. 승인된 수신자를 추가하면 승인을 확인하는 이메일을 받게 됩니다. 승인을 확인하면 Ghost가 이제 Mailgun을 통해 해당 수신자에게 이메일을 보낼 수 있습니다.
  7. http://localhost:3001/ghost를 방문하여 Ghost에서 소유자 계정을 만들고 Mailgun의 승인된 수신자 목록에 기여자 이메일을 추가한 후, http://localhost:3001/ghost/#/settings/staff에서 Mailgun을 통해 해당 이메일로 기여자 초대 링크를 보낼 수 있습니다.
  8. 이제 이메일로 받은 초대 링크를 사용하여 기여자 계정을 만들 수 있습니다. 그 후 데이터베이스 복원을 사용하는 설정과 동일한 구성을 갖게 됩니다.

공격 테스트 방법

선택한 설치를 다음 명령으로 시작할 수 있습니다.

root@kitploit:~
docker-compose up

공격을 테스트하려면 다음 단계를 따르세요.

  1. generate-malicious-svg.py 스크립트를 사용하여 악성 SVG 프로필 사진을 생성합니다. 이를 위해 [USERNAME]과 [PASSWORD]를 생성한 기여자 계정의 자격 증명으로 바꾸어 다음 명령을 실행합니다.
root@kitploit:~
python generate-malicious-svg.py -u [USERNAME] -p [PASSWORD] -t http://localhost

자동 설치의 경우 명령은 다음과 같습니다.

root@kitploit:~
python generate-malicious-svg.py -u [email protected] -p ZtXfMq2FaRHGm@! -t http://localhost

이 명령은 현재 디렉터리에 tenant-takeover.svg라는 이름의 악성 SVG 파일을 생성합니다.

  1. 생성한 기여자 계정의 자격 증명을 사용하여 Ghost 관리 인터페이스에 로그인합니다. 이를 위해 http://localhost:3001/ghost를 방문하여 기여자 계정으로 로그인합니다.

  2. 화면 왼쪽 하단의 프로필 사진을 클릭한 다음 "Your profile" 버튼을 클릭하여 프로필 수정 페이지로 이동합니다.

  3. 프로필 아이콘을 클릭하여 프로필 사진을 변경합니다. 1단계에서 생성한 악성 SVG 파일을 선택합니다.

  4. "Save & close" 버튼을 클릭하여 변경 사항을 저장합니다. 페이지를 새로고침하여 프로필 사진이 변경되었는지 확인할 수 있습니다.

  5. 이제 기여자 계정에서 로그아웃하고 관리자 계정으로 로그인할 수 있습니다. http://localhost:3001/ghost/#/settings/staff?tab=contributors에서 기여자의 프로필 사진이 변경된 것을 볼 수 있습니다. 프로필 사진을 마우스 오른쪽 버튼으로 클릭하고 새 탭에서 이미지를 열면 공격이 트리거됩니다. 이제 http://localhost:3001/ghost/#/settings/staff로 돌아가면 기여자가 블로그의 소유자가 되었고 당신은 관리자가 되었음을 확인할 수 있습니다.

🎥 설명 동영상

CVE를 구현하는 전체 과정과 필요한 단계를 자세히 설명하는 동영상을 제작했습니다. 이 동영상은 당사의 접근 방식과 수행된 작업을 더 잘 이해할 수 있는 시각적 가이드 역할을 합니다.

동영상 링크: 여기를 클릭하여 동영상을 시청하세요

프로젝트에 대한 전체 개요와 수행된 기술적 단계를 확인하려면 이 동영상을 참조하세요.

도구 다운로드