13 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを発見しましょう。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはテレグラムグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
-
ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリにPRを提出してください。
近年、プリンターベンダーはデバイスにカスタムソフトウェアをインストールする機能を導入し始めました。このような「プリンターアプリ」の形式はプロプライエタリであり、SDKは一般には利用できません。プリンター上で動作するカスタマイズされたソフトウェアを作成する機能は、リセラーや契約業者向けに意図され、エンドユーザー向けではありません。これにより、プリンターフリートを企業の特別なニーズや業務プロセスに適応させることができます。ドキュメントソリューションプロバイダーは、プリンターを簡単に管理ソフトウェアに統合することができます。一つの人気のある例は、NSi AutoStore [1]で、これは多くのMFPにインストールすることができ、スキャンまたはコピーされたドキュメントを事前定義された場所に自動的にアップロードします。明らかに、プリンターデバイスでカスタムコードを実行する機能は、潜在的なセキュリティの脅威です。さらに、ソフトウェアパッケージのコード署名は、ファームウェアよりも難しい可能性があります。なぜなら、ソフトウェアはプリンターメーカーだけでなく、ソフトウェアに署名するための秘密鍵を所有する必要があるさまざまな開発者によって書かれるからです。そのため、開発者プラットフォームからの独占的な利用可能性によって保護されたSDKに秘密鍵を含めることは論理的です。この記事は、ベンダー固有のソフトウェアプラットフォーム/SDKに関する情報を体系的に収集する試みです。
ベンダー
以下では、主要なプリンターベンダーがデバイスの機能を拡張するために提供するソフトウェアプラットフォームについて概説します。
HP Chai/OXP
HPは1999年に「Chai Appliance Platform」プラットフォームを導入し、LaserJetプリンター上でJavaアプリケーションを実行することができるようにしました。最初はSDKが一般に公開されていましたが [2]、後にHPの開発者ネットワークのメンバーに制限されました。Chaiサーブレットは .jar
ファイルとして提供され、元々はHPによって認証および署名される必要がありました。[3]は、デプロイメントプロセスの欠陥を発見しました。HPが提供する代替ローダーソフトウェアであるEZloaderをインストールすることで、彼らは自分自身の署名されていないJavaパッケージをアップロードして実行することができました。HPは後のChaiバージョンでは完全にコード署名を廃止したようです。[4]は、ポート9100でリッスンし、受信したドキュメントをFTPサーバーにアップロードしてから印刷するプリンターマルウェアの概念実証を書き込み、実行することができました。彼らのコードは、[5]に基づいており、デバイスを負荷分散するための拡張をサポートするようにデバイスを拡張し、デモンストレーションに必要なSDKファイルとプロプライエタリなJavaライブラリを含めました。ライブラリを使用して、任意のJavaコードを古いHP LaserJetにアップロードすることで、.jar
ファイルを「隠し」URLにアップロードすることができます:http://printer/hp/device/this.loader
。この攻撃は、埋め込みWebサーバーにまだパスワードが設定されていない場合に実行できます。それ以外の場合、パスワードは最初に /dev/rdsk_jdi_cfg0
からPostScriptで取得するか(ファイルシステムアクセスを参照)、デバイスを工場出荷時の設定にリセットしてバイパスする必要があります。Web攻撃者は、被害者がプリンターの埋め込みWebサーバーにログインしている場合、CSRFを使用して.jar
ファイルをアップロードすることができます。新しいデバイスでは、HPは公開されていないSDKの代わりに、Webサービスベースの「Open Extensibility Platform」 (OXP)を使用しています。
Canon MEAP
キヤノンは2003年に「Multifunctional Embedded Application Platform」 (MEAP)を導入し、2010年にはイメージランナーシリーズ向けにWebサービスに拡張しました。サードパーティの開発者は、MEAP SDKを5,000ドルで入手することができますが、これは研究目的には範囲外です。
Xerox/Dell EIP
2006年、XeroxはさまざまなMFP(マルチファンクションプリンタ)向けに「Extensible Interface Platform」(EIP)を発表しました。このアーキテクチャは、いくつかのリバッジされたDellデバイスでもサポートされており、ウェブサービス技術に基づいています。SDKは登録された開発者に対して無料で利用できます。
Brother BSI
2012年に、Brotherはスキャナ、コピー機、プリンタ向けにXMLベースのウェブアーキテクチャである「Brother Solutions Interface」(BSI)を発表しました。SDKへのアクセスはライセンスを持つ開発者に提供されています。
Lexmark eSF
2006年、LexmarkはMFP向けに「Embedded Solution Framework」(eSF)を発表しました。Javaアプリケーションを開発するためのSDKは「特別に資格のあるパートナー」にのみ提供されています。[7]によると、「これらのアプリケーションは、Lexmarkによって2048ビットRSA署名を使用して採用される前にデジタル署名される必要があります」。
Samsung XOA
2008年、Samsungは「eXtensible Open Architecture」(XOA)を導入し、XOA-E Java仮想マシンとウェブサービスベースのXOA-Webの2つのバリエーションがあります。SDKはSamsungのリセラーのみが利用できます。
Ricoh ESA
2004年、Ricohは「Embedded Software Architecture」(ESA)を発表しました。JavaベースのSDK/Jは、登録後に開発者に提供されます。
Kyocera/Utax HyPAS
2008年、Kyoceraは「Hybrid Platform for Advanced Solutions」(HyPAS)をリリースしました。アプリケーションはJavaまたはウェブサービスに基づいています。SDKは「HyPAS Development Partner Programme」のメンバーにのみ提供され、アプリケーションはKyoceraによって承認される必要があります。
Konica Minolta bEST
2009年、Konica Minoltaはウェブサービスに基づく「bizhub Extended Solution Technology」(bEST)を導入しました。SDKへのアクセスには、開発者プログラムの「プラチナメンバーシップレベル」への有料登録が必要です。これは独立した研究者には範囲外です。
Toshiba e-BRIDGE
2008年、Toshibaは高級MFPをカスタマイズするための「e-BRIDGE Open Platform」(e-BRIDGE)をリリースしました。SDKは一般に公開されていません。
Sharp OSA
2004年、Sharpは「Open Systems Architecture」(OSA)を発表しました。ウェブサービスを開発するためのSDKは有料であり、アプリケーションはSharpによって検証される必要があります。
Oki sXP
2013年、Oki DataはMFPデバイス向けにウェブサービスに基づく「smart eXtendable Platform」(sXP)を発表しました。公式の開発者プログラムや公開されているSDKに関する情報はOkiから提供されていません。
結果
古いHPレーザープリンタでは、任意のJavaバイトコードを実行することができます。セキュリティは埋め込みウェブサーバのパスワードに基づいており、PostScriptで簡単に取得するか、工場出荷時の設定に戻すことでバイパスすることができます。他のソフトウェアプラットフォームのセキュリティについては、SDKへのアクセスや適切な技術文書の不足のため、合理的な判断を下すことは困難です。以下に、プラットフォーム、適用される技術、そして(わかっている場合)ソフトウェアパッケージの展開手順の比較を示します:
ベンダー | プラットフォーム | 埋め込みJava | ウェブサービス | 展開 |
---|---|---|---|---|
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にアップロードする)を見つけます。また、デバイスにカスタムソフトウェアをインストールするための保護メカニズムも確認してください。
この攻撃を実行できるのは誰ですか?
ソフトウェアパッケージの展開方法に依存します。