hacktricks/network-services-pentesting/pentesting-printers/software-packages.md
2023-07-07 23:42:27 +00:00

13 KiB
Raw Blame History

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

近年、プリンターベンダーはデバイスにカスタムソフトウェアをインストールする機能を導入し始めました。このような「プリンターアプリ」の形式はプロプライエタリであり、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にアップロードするを見つけます。また、デバイスにカスタムソフトウェアをインストールするための保護メカニズムも確認してください。

この攻撃を実行できるのは誰ですか?

ソフトウェアパッケージの展開方法に依存します。