Kyocera 打印机中存在一个未认证的数据提取漏洞,该漏洞允许恢复明文形式的通讯录和域绑定密码。
早在 2021 年的一次渗透测试中,我在摆弄 Kyocera 用于远程管理打印机的胖客户端应用程序。在对该应用程序的流量进行代理时,我发现 Kyocera 在 9091/TCP 端口上的 SOAP API 在执行敏感操作时未正确处理身份验证。Kyocera MFP 可以配置用于公司域绑定的凭据、FTP 凭据、文件共享凭据等。在未认证的情况下,可以以明文形式检索 MFP 存储的所有凭据。
我的完整分析文章可在 Rapid7 的博客上找到:https://www.rapid7.com/blog/post/2022/03/29/cve-2022-1026-kyocera-net-view-address-book-exposure/
我不认为该问题目前在所有型号中都已修复,尽管已向厂商报告,它仍然是一个 0-day。多年来我只能对少数几个识别出的型号进行测试,但每当我发现一台 Kyocera 打印机时,这个漏洞仍然有效。
该 Python 脚本通过 TCP 端口 9091 连接到 MFP,并发出一个 SOAP 请求以创建新的通讯录导出。打印机以通讯录对象编号作为响应,然后脚本休眠几秒钟,等待通讯录完成创建。最后,通过另一个 SOAP 请求检索该通讯录。在通讯录中,你会发现所有已配置的凭据均为明文。
欢迎提交改进解析的 PR,因为我从未回头对输出或漏洞利用过程进行美化。
python3 getKyoceraCreds.py <printerip>