
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