Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2022-1026 PoC — Kyocera multifunction printers 安全漏洞

Source
Associated Vulnerability
Title:Kyocera multifunction printers 安全漏洞 (CVE-2022-1026)
Description:Kyocera multifunction printers是日本京瓷(Kyocera)公司的一台打印机。 Kyocera multifunction printers存在安全漏洞,该漏洞源于通过未充分保护的通讯簿导出功能无意中暴露敏感用户信息,包括用户名和密码。
Description
An unauthenticated data extraction vulnerability in Kyocera printers, which allows for recovery of cleartext address book and domain joined passwords
Readme
# kyocera-cve-2022-1026
An unauthenticated data extraction vulnerability in Kyocera printers, which allows for recovery of cleartext address book and domain joined passwords.


## Vulnerability Overview
Back in 2021 while on a pen test, I was tinkering with Kyocera's thick client application used to remotely administer printers. While proxying traffic from the application, I discovered that Kyocera's SOAP API on port 9091/TCP did not properly handle authentication when performing sensitive actions. Kyocera MFPs can be configured to with bind credentials for company domains, FTP credentials, fileshare credentials, etc. Unauthenticated, it is possible to retrieve all credentials stored by the MFP, in cleartext.

My full writeup can be found on Rapid7's blog: https://www.rapid7.com/blog/post/2022/03/29/cve-2022-1026-kyocera-net-view-address-book-exposure/

## Exploit overview
I do not believe this is currently fixed in all models and remains a 0-day, despite reports to the vendor. I was only able to test on a couple of models identified over the years, but whenever I find a Kyocera printer, this still works.

The python script connects to the MFP on TCP port 9091 and issues a SOAP request to create a new address book export. The printer responds with the address book object number, and then the script sleeps for a few seconds while the book is finished being created. Finally, the book is retrieved via another SOAP request. Within the book you'll find all configured credentials in cleartext. 

Feel free to submit a PR with improved parsing, as I never came back around to beautifying the output or exploit process.

### Usage:
`python3 getKyoceraCreds.py <printerip>`




File Snapshot

[4.0K] /data/pocs/7e8ede60106840e901e526d73b571cdfcaf4fd71 ├── [3.3K] getKyoceraCreds.py └── [1.7K] README.md 0 directories, 2 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.