概述
该项目实现了一个用于捕获针对CUPS(Common UNIX Printing System)漏洞的利用尝试的蜜罐。具体而言,它旨在监控与CVE-2024-47177相关的利用尝试。此漏洞允许通过PPD文件中的FoomaticRIPCommandLine
参数进行远程命令执行。如果向此参数传递恶意值,它将作为用户控制的命令执行,可能导致严重的安全漏洞。
CUPS和CVE-2024-47177
CUPS是一个基于标准的开源打印系统,广泛应用于各种类UNIX操作系统。cups-filters
包提供了CUPS 2.x在非Mac OS系统上的关键后端、过滤器和实用程序。CVE-2024-47177中利用的关键缺陷是不当处理FoomaticRIPCommandLine
,这可以与其他逻辑错误(如CVE-2024-47176中描述的那些)结合使用,以在主机系统上执行任意命令。
此蜜罐设计通过监控传入的打印作业请求并检查其中的可疑属性来记录利用尝试,特别是关注可能包含命令的printer-privacy-policy-uri
。
特别说明
该项目灵感来源于EvilSocket的初始披露,该披露强调了与CUPS相关的安全风险,并提供了详细的利用技术概述。
特性
-
被动监控:蜜罐可以以被动模式运行,监听传入的打印作业请求,而不会主动针对特定主机。 -
利用检测:通过检查打印作业请求的属性,捕获并记录针对CUPS漏洞的利用尝试。 -
随机打印机配置:自动选择随机打印机驱动程序并使用系统上可用的PPD生成随机打印机名称。 -
UDP数据包发送:可选地,它可以向指定的目标主机发送浏览数据包,模拟网络打印机广告。
需求
要运行此蜜罐,请确保已安装以下依赖项:
-
Ubuntu 23.x(已测试) -
系统上已安装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>: 蜜罐将监听传入打印请求的本地地址。
#[TARGET_HOST]: (可选)将发送浏览数据包的目标主机的IP地址。
#如果省略,蜜罐将以被动模式运行。
示例
运行蜜罐并向特定目标发送数据包:
python3 cupspot.py 127.0.0.1 192.168.1.100
或以被动模式运行:
python3 cupspot.py 127.0.0.1
https://github.com/referefref/cupspot-2024-47177
原文始发于微信公众号(独眼情报):CUPS(通用 UNIX打印系统) 蜜罐
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论