PaperCut CVE-2023-27350 深入探讨和入侵指标
2023-4-30 14:31:37 Author: Ots安全(查看原文) 阅读量:25 收藏

概述

2023 年 3 月 8 日,PaperCut 为其企业打印管理软件发布了新版本,其中包含两个漏洞的补丁:CVE-2023-27350 和 CVE-2023-27351。PaperCut 安全公告将 CVE-2023-27350 详细描述为一个漏洞,可能允许攻击者实现远程代码执行以破坏 PaperCut 应用程序服务器。PaperCut 在该公告中还详细说明了他们是从零日计划 (ZDI) 中了解到它的。ZDI 案例ZDI-CAN-18987将该漏洞详细描述为导致代码执行的身份验证绕过。

2023 年 4 月 19 日,PaperCut 意识到该产品在野外被利用,并发布了更多详细信息,包括一些危害指标,例如日志文件条目、已知恶意域和用于检测观察到的恶意活动的 YARA 规则。

Huntress于 2023 年 4 月 21 日发布了详细说明此漏洞的后续研究,包括利用细节和其他危害指标。

在这篇文章中,我们将介绍根据安全建议发现漏洞的方法,查看根本原因,分析补丁,并开发漏洞利用概念验证。

定位漏洞

检查 ZDI 案例会在漏洞详细信息中揭示有价值的信息:

特定缺陷存在于 SetupCompleted 类中。该问题是由于访问控制不当造成的。攻击者可以利用此漏洞绕过身份验证并在 SYSTEM 上下文中执行任意代码。

我们发现包含此 SetupCompleted 类的 JAR 在C:\Program Files\PaperCut NG\server\lib\pcng-server-web-19.2.7.jar.

反编译 JAR 可以通过多种方式完成,在本例中我们使用CFR。CFR 是一个有用的实用程序,它可以通过命令行将 Java 反编译为人类可读的代码,这些代码可以用作差异工具的输入。

java -jar cfr-0.152.jar v19.2.7/web-jar/pcng-server-web-19.2.7.jar --outputdir v19.2.7/web-jar/decompiled/

查看反编译的类./biz/papercut/pcng/web/setup/SetupCompleted.java,我们看到在提交表单时,它在第 48 行为 Admin 用户调用 performLogin()。

可以在 找到 performLogin() 函数./biz/papercut/pcng/web/pages/Home.java。 

通常仅在用户通过登录流程验证其密码后,才会在整个软件中调用此功能。但是,在 SetupCompleted 流程中,逻辑意外地验证了匿名用户的会话。这种类型的 Web 应用程序漏洞称为Session Puzzling

将 v19.2.7 中易受攻击的 SetupCompleted 类与带有Meld的 v21.2.11 中的补丁版本进行比较,我们看到如果设置已经完成,访问该页面现在将重定向到“主页”页面——消除了会话令人费解的逻辑缺陷。

确认 GUI 中的身份验证绕过,我们浏览到页面  http://10.0.40.56:9191/app?service=page/SetupComplete并单击“登录”。

开发漏洞

Huntress 的博客详细介绍了一种通过滥用打印机内置“脚本”功能来获取远程代码执行的方法。检查设备脚本页面,我们看到它使管理员能够开发挂钩来自定义整个企业的打印。

这些脚本是用 JavaScript 编写的,并在 PrintCut 服务的上下文中执行——该服务NT AUTHORITY\SYSTEM在 Windows 部署中运行。

开发一个与站点交互的脚本通常是非常简单的,但是 PaperCut 网络应用程序使用基于最后请求的动态表单字段——所以它稍微不那么简单。

要开发漏洞利用概念验证,您必须使用会话并像通过用户界面一样单独请求每个页面,以确保正确填充表单字段。

我们完整的概念验证漏洞可以在我们的GitHub上找到。https://github.com/horizon3ai/CVE-2023-27350

妥协指标

PaperCut 一直在汇编从野外开发中观察到的指标,并将成为所有值得关注的指标的最佳来源。本节列出了使用我们的概念验证利用此漏洞时观察到的指标。

在日志 -> 应用程序日志选项卡中导航到本机应用程序日志,可以观察到几个指标。虽然大多数指标会在正常使用中出现,但应特别注意不熟悉的源 IP 地址、时间以及所有这些快速连续发生的事件。

身份验证绕过指示器:

User "admin" logged into the administration interface.

设置更改指示器(RCE 的前身):

User "admin" updated the config key "<A>" to "<B>".

具体来说和.print.script.sandboxedprint-and-device.script.enabled

远程代码执行指示器:

Admin user "admin" modified the print script on printer "<printer>".

互联网曝光

查询Shodan显示大约1700个暴露在互联网上的PaperCut服务器。http.html:"papercut" http.html:"print"

PaperCut应用程序在州,地方和教育(SLED)类型的组织中很受欢迎,其中仅教育就占了其中的450个结果。

(五一)夏季消费节

国际劳动节又称“五一国际劳动节”“国际示威游行日”(英语:International Workers' Day,May Day),是世界上80多个国家的全国性节日。定在每年的五月一日。它是全世界劳动人民共同拥有的节日" 夏日消费节 ",进一步促进消费,助力实体。


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247497465&idx=2&sn=f58e3e450eeac441f18f1e552c788d55&chksm=9badbfb2acda36a4a94229d239c6fdcb338e0d14d398c11fcf3dfc18059860be21bdc24d340c#rd
如有侵权请联系:admin#unsafe.sh