2022-04-28 16:01:33 +00:00
< details >
2023-04-25 18:35:28 +00:00
< summary > < a href = "https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology" > < strong > ☁️ HackTricks Cloud ☁️< / strong > < / a > -< a href = "https://twitter.com/hacktricks_live" > < strong > 🐦 Twitter 🐦< / strong > < / a > - < a href = "https://www.twitch.tv/hacktricks_live/schedule" > < strong > 🎙️ Twitch 🎙️< / strong > < / a > - < a href = "https://www.youtube.com/@hacktricks_LIVE" > < strong > 🎥 Youtube 🎥< / strong > < / a > < / summary >
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS** ](https://github.com/sponsors/carlospolop)をチェックしてください!
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**公式のPEASS& HackTricksのグッズ** ](https://peass.creator-spring.com )を手に入れましょう。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**💬** ](https://emojipedia.org/speech-balloon/ ) [**Discordグループ** ](https://discord.gg/hRep4RUj7f )または[**テレグラムグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。**
2022-04-28 16:01:33 +00:00
< / details >
2023-07-07 23:42:27 +00:00
近年、プリンターベンダーは**デバイスにカスタムソフトウェアをインストールする機能**を導入し始めました。このような「プリンターアプリ」の形式はプロプライエタリであり、SDKは一般には利用できません。プリンター上で動作するカスタマイズされたソフトウェアを作成する機能は、リセラーや契約業者向けに意図され、エンドユーザー向けではありません。これにより、プリンターフリートを企業の特別なニーズや業務プロセスに適応させることができます。ドキュメントソリューションプロバイダーは、プリンターを簡単に管理ソフトウェアに統合することができます。一つの人気のある例は、NSi AutoStore [\[1\]](http://hacking-printers.net/wiki/index.php/Software_packages#cite_note-1)で、これは多くのMFPにインストールすることができ、スキャンまたはコピーされたドキュメントを事前定義された場所に自動的にアップロードします。明らかに、プリンターデバイスでカスタムコードを実行する機能は、潜在的なセキュリティの脅威です。さらに、ソフトウェアパッケージのコード署名は、[ファームウェア](http://hacking-printers.net/wiki/index.php/Firmware_updates)よりも難しい可能性があります。なぜなら、ソフトウェアはプリンターメーカーだけでなく、ソフトウェアに署名するための秘密鍵を所有する必要があるさまざまな開発者によって書かれるからです。そのため、開発者プラットフォームからの独占的な利用可能性によって保護されたSDKに秘密鍵を含めることは論理的です。この記事は、ベンダー固有のソフトウェアプラットフォーム/SDKに関する情報を体系的に収集する試みです。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
# ベンダー
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
以下では、主要なプリンターベンダーがデバイスの機能を拡張するために提供するソフトウェアプラットフォームについて概説します。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## HP \(Chai/OXP\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
HPは1999年に「Chai Appliance Platform」プラットフォームを導入し、LaserJetプリンター上でJavaアプリケーションを実行することができるようにしました。最初はSDKが一般に公開されていましたが [\[2\]](http://hacking-printers.net/wiki/index.php/Software_packages#cite_note-2)、後にHPの開発者ネットワークのメンバーに制限されました。Chaiサーブレットは `.jar` ファイルとして提供され、元々はHPによって認証および署名される必要がありました。[\[3\]](http://hacking-printers.net/wiki/index.php/Software_packages#cite_note-phenoelit2002embedded-3)は、デプロイメントプロセスの欠陥を発見しました。HPが提供する代替ローダーソフトウェアであるEZloaderをインストールすることで、彼らは自分自身の署名されていないJavaパッケージをアップロードして実行することができました。HPは後のChaiバージョンでは完全にコード署名を廃止したようです。[\[4\]](http://hacking-printers.net/wiki/index.php/Software_packages#cite_note-mueller2016printers-4)は、ポート9100でリッスンし、受信したドキュメントをFTPサーバーにアップロードしてから印刷するプリンターマルウェアの概念実証を書き込み、実行することができました。彼らのコードは、[\[5\]](http://hacking-printers.net/wiki/index.php/Software_packages#cite_note-5)に基づいており、デバイスを負荷分散するための拡張をサポートするようにデバイスを拡張し、デモンストレーションに必要なSDKファイルとプロプライエタリなJavaライブラリを含めました。ライブラリを使用して、任意のJavaコードを古いHP LaserJetにアップロードすることで、`.jar` ファイルを「隠し」URLにアップロードすることができます: [`http://printer/hp/device/this.loader`](http://printer/hp/device/this.loader)。この攻撃は、埋め込みWebサーバーにまだパスワードが設定されていない場合に実行できます。それ以外の場合、パスワードは最初に `/dev/rdsk_jdi_cfg0` からPostScriptで取得するか( [ファイルシステムアクセス](http://hacking-printers.net/wiki/index.php/File_system_access)を参照)、デバイスを[工場出荷時の設定](http://hacking-printers.net/wiki/index.php/Factory_defaults)にリセットしてバイパスする必要があります。Web攻撃者は、被害者がプリンターの埋め込みWebサーバーにログインしている場合、[CSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery)を使用して`.jar` ファイルをアップロードすることができます。新しいデバイスでは、HPは公開されていないSDKの代わりに、Webサービスベースの「Open Extensibility Platform」 \([OXP ](https://developers.hp.com/oxp/ )\)を使用しています。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Canon \(MEAP\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
キヤノ ンは2003年に「Multifunctional Embedded Application Platform」 \([MEAP ](http://www.developersupport.canon.com/faq/335#t335n18 )\)を導入し、2010年にはイメージランナーシリーズ向けにWebサービスに拡張しました。サードパーティの開発者は、MEAP [SDK ](http://developersupport.canon.com/content/meap-sdk-0 )を5,000ドルで入手することができますが、これは研究目的には範囲外です。
2022-05-01 12:49:36 +00:00
## Xerox/Dell \(EIP\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2006年、XeroxはさまざまなMFP( マルチファンクションプリンタ) 向けに「Extensible Interface Platform」( EIP) を発表しました。このアーキテクチャは、いくつかのリバッジされたDellデバイスでもサポートされており、ウェブサービス技術に基づいています。[SDK](http://www.office.xerox.com/eip/enus.html)は登録された開発者に対して無料で利用できます。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Brother \(BSI\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2012年に、Brotherはスキャナ、コピー機、プリンタ向けにXMLベースのウェブアーキテクチャである「Brother Solutions Interface」( BSI) を発表しました。[SDK](https://www.brother-usa.com/lp/civ/home.aspx)へのアクセスはライセンスを持つ開発者に提供されています。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Lexmark \(eSF\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2006年、LexmarkはMFP向けに「Embedded Solution Framework」( eSF) を発表しました。Javaアプリケーションを開発するためのSDKは「特別に資格のあるパートナー」にのみ提供されています。[\[7\]](http://hacking-printers.net/wiki/index.php/Software_packages#cite_note-7)によると、「これらのアプリケーションは、Lexmarkによって2048ビットRSA署名を使用して採用される前にデジタル署名される必要があります」。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Samsung \(XOA\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2008年、Samsungは「eXtensible Open Architecture」( XOA) を導入し、XOA-E Java仮想マシンとウェブサービスベースのXOA-Webの2つのバリエーションがあります。[SDK](http://xoapartnerportal.com/)はSamsungのリセラーのみが利用できます。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Ricoh \(ESA\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2004年、Ricohは「Embedded Software Architecture」( ESA) を発表しました。Javaベースの[SDK/J](http://www.ricoh-developer.com/content/device-sdk-type-j-sdkj-overview)は、登録後に開発者に提供されます。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Kyocera/Utax \(HyPAS\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2008年、Kyoceraは「Hybrid Platform for Advanced Solutions」( HyPAS) をリリースしました。アプリケーションはJavaまたはウェブサービスに基づいています。[SDK](https://www.kyoceradocumentsolutions.eu/index/document_solutions/HyPAS/hypas_developer_partner.html)は「HyPAS Development Partner Programme」のメンバーにのみ提供され、アプリケーションはKyoceraによって承認される必要があります。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Konica Minolta \(bEST\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2009年、Konica Minoltaはウェブサービスに基づく「bizhub Extended Solution Technology」( bEST) を導入しました。[SDK](https://best.kmbs.us/pages/levels.php)へのアクセスには、開発者プログラムの「プラチナメンバーシップレベル」への有料登録が必要です。これは独立した研究者には範囲外です。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Toshiba \(e-BRIDGE\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2008年、Toshibaは高級MFPをカスタマイズするための「e-BRIDGE Open Platform」( e-BRIDGE) をリリースしました。SDKは一般に公開されていません。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Sharp \(OSA\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2004年、Sharpは「Open Systems Architecture」( OSA) を発表しました。ウェブサービスを開発するための[SDK](http://sharp-partners.com/us/PartnerPrograms/DeveloperProgram/tabid/722/Default.aspx)は有料であり、アプリケーションはSharpによって検証される必要があります。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Oki \(sXP\)
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
2013年、Oki DataはMFPデバイス向けにウェブサービスに基づく「smart eXtendable Platform」( sXP) を発表しました。公式の開発者プログラムや公開されているSDKに関する情報はOkiから提供されていません。
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
# 結果
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
古いHPレーザープリンタでは、任意のJavaバイトコードを実行することができます。セキュリティは埋め込みウェブサーバのパスワードに基づいており、PostScriptで簡単に取得するか、工場出荷時の設定に戻すことでバイパスすることができます。他のソフトウェアプラットフォームのセキュリティについては、SDKへのアクセスや適切な技術文書の不足のため、合理的な判断を下すことは困難です。以下に、プラットフォーム、適用される技術、そして( わかっている場合) ソフトウェアパッケージの展開手順の比較を示します:
2020-07-15 15:43:14 +00:00
2023-07-07 23:42:27 +00:00
| ベンダー | プラットフォーム | 埋め込みJava | ウェブサービス | 展開 |
2020-07-15 15:43:14 +00:00
| :--- | :--- | :--- | :--- | :--- |
2023-07-07 23:42:27 +00:00
| HP | Chai/OXP | ✔ | ✔ | ウェブサーバ |
| Xerox/Dell | EIP | | ✔ | 不明 |
| Canon | MEAP | ✔ | ✔ | 不明 |
| Brother | BSI | | ✔ | 不明 |
| Lexmark | eSF | ✔ | | 不明 |
| Samsung | XOA | ✔ | ✔ | ウェブサーバ |
| Ricoh | ESA | ✔ | | 不明 |
| Kyocera/Utax | HyPAS | ✔ | ✔ | USBドライブ |
| Konica Minolta | bEST | | ✔ | 不明 |
| Toshiba | e-Bridge | | ✔ | 不明 |
| Sharp | OSA | | ✔ | 不明 |
| Oki | sXP | | ✔ | 不明 |
## **この攻撃をテストする方法**
SDKを入手し、自分自身の概念実証アプリケーションを作成するか、すでに望む動作を行う「プリンターアプリ」( たとえば、スキャンしたドキュメントを自動的にFTPにアップロードする) を見つけます。また、デバイスにカスタムソフトウェアをインストールするための保護メカニズムも確認してください。
## **この攻撃を実行できるのは誰ですか?**
ソフトウェアパッケージの展開方法に依存します。