
CVE-2024-47177에 대한 익스플로잇 시도를 탐지하는 PoC 허니팟
이 프로젝트는 CUPS(Common UNIX Printing System)의 취약점에 대한 익스플로잇 시도를 포착하는 허니팟을 구현합니다. 특히 CVE-2024-47177과 관련된 익스플로잇 시도를 모니터링하도록 설계되었습니다. 이 취약점은 PPD 파일의 FoomaticRIPCommandLine 매개변수를 통해 원격 명령 실행을 가능하게 합니다. 이 매개변수에 악의적인 값이 전달되면 사용자 제어 명령으로 실행되어 심각한 보안 위반을 초래할 수 있습니다.
CUPS는 다양한 UNIX 계열 운영 체제에서 널리 사용되는 표준 기반의 오픈 소스 인쇄 시스템입니다. cups-filters 패키지는 비-Mac OS 시스템에서 CUPS 2.x에 필수적인 백엔드, 필터 및 유틸리티를 제공합니다. CVE-2024-47177에서 익스플로잇 되는 주요 결함은 FoomaticRIPCommandLine의 부적절한 처리로, CVE-2024-47176에 설명된 것과 같은 다른 논리 버그와 결합하여 호스트 시스템에서 임의 명령을 실행하는 데 악용될 수 있습니다.
이 허니팟은 들어오는 인쇄 작업 요청을 모니터링하고 의심스러운 속성을 검사하여 익스플로잇 시도를 기록하도록 설계되었으며, 특히 명령을 포함할 수 있는 printer-privacy-policy-uri에 중점을 둡니다.
이 프로젝트는 EvilSocket의 초기 공개에서 영감을 받았으며, 이는 CUPS와 관련된 보안 위험을 강조하고 관련 익스플로잇 기술에 대한 포괄적인 개요를 제공합니다.
이 허니팟을 실행하려면 다음 종속 항목이 설치되어 있는지 확인하십시오.
cups 및 subprocess Python 라이브러리 (표준 Python 설치에 포함됨)install.sh 파일을 다운로드하여 실행하십시오:
curl -sSL https://raw.githubusercontent.com/referefref/cupspot-2024-47177/refs/heads/main/install.sh | bash
허니팟을 실행하려면 다음 명령을 실행하십시오:
python3 cupspot.py <LOCAL_HOST> [TARGET_HOST]
#<LOCAL_HOST>: The local address where the honeypot will listen for incoming print requests.
#[TARGET_HOST]: (Optional) The IP address of a target host to which browsing packets will be sent.
#If omitted, the honeypot will run in passive mode.
허니팟을 실행하고 특정 대상에 패킷을 전송:
python3 cupspot.py 127.0.0.1 192.168.1.100
또는 수동 모드로 실행:
python3 cupspot.py 127.0.0.1