12 KiB
AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください。
- 公式PEASS & HackTricksグッズを入手する
- The PEASS Familyを発見する、私たちの独占的なNFTsのコレクション
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦 @carlospolopmをフォローする。
- HackTricksのPRを提出して、あなたのハッキングのコツを共有する HackTricks と HackTricks Cloud githubリポジトリ。
近年、プリンターベンダーはデバイスにカスタムソフトウェアをインストールする可能性を導入し始めました。このような「プリンターアプリ」の形式は独自のものであり、SDKは一般には公開されていません。プリンターで実行されるカスタマイズされたソフトウェアの機能は、エンドユーザーではなく、リセラーや契約業者を対象として意図されており、予約されています。これにより、プリンターフリートは、会社の特別なニーズやビジネスプロセスに適応できるようになります。ドキュメントソリューションプロバイダーは、プリンターを簡単に管理ソフトウェアに統合できます。一般的な例は、多くのMFPにインストールでき、スキャンまたはコピーされたドキュメントを事前に定義された場所に自動的にアップロードするNSi AutoStore [1]です。明らかに、プリンターデバイスでカスタムコードを実行する機能は、潜在的なセキュリティ脅威です。さらに、ソフトウェアはプリンターメーカーだけでなく、ソフトウェアに署名するための秘密鍵を所有する必要があるより広範な開発者によって書かれているため、ソフトウェアパッケージのコード署名は、ファームウェアよりも潜在的に困難です。したがって、開発者プラットフォームから排他的に利用可能であることによって保護されているSDKに秘密鍵を含めることは論理的です。この記事は、ベンダー固有のソフトウェアプラットフォーム/SDKに関する情報を体系的に収集する試みです。
ベンダー
以下に、主要なプリンターベンダーが提供するソフトウェアプラットフォームの概要を示します。
HP Chai/OXP
HPは1999年にJavaアプリケーションをLaserJetプリンターで実行するための「Chai Appliance Platform」プラットフォームを導入しました。当初はSDKが一般公開されていましたが [2]、後にHPの開発者ネットワークのメンバーに限定されました。Chaiサーブレットは.jar
ファイルとして提供され、元々はHPによって認証および署名される必要がありました。 [3]は、デプロイメントプロセスに欠陥があることを発見しました。HPが提供する代替ローダーソフトウェアであるEZloaderをインストールすることで、署名されていない独自のJavaパッケージをアップロードして実行することができました。HPは後のChaiバージョンでコード署名を完全に廃止したようです。 [4]は、ポート9100でリッスンし、印刷する前に受信したドキュメントをFTPサーバーにアップロードするプリンターマルウェアの概念実証を書いて実行することができました。彼らのコードは、デバイスをロードバランシングをサポートするように拡張し、必要なSDKファイルと独自のJavaライブラリをデモンストレーションに含めた [5]に基づいています。ライブラリを使用すると、任意のJavaコードをコンパイルして、.jar
ファイルを「隠された」URLにアップロードすることで、古いHP LaserJetsで実行できます。http://printer/hp/device/this.loader
。この攻撃は、組み込みWebサーバーにまだパスワードが設定されていない場合に実行できます。それ以外の場合は、パスワードをPostScriptを使用して/dev/rdsk_jdi_cfg0
から取得するか、デバイスを工場出荷時のデフォルトにリセットすることでバイパスする必要があります。Web攻撃者は、被害者が現在プリンターの組み込みWebサーバーにログインしている場合、CSRFを使用して.jar
ファイルをアップロードできます。新しいデバイスの場合、HPはChaiの代わりにWebサービスベースの「Open Extensibility Platform」(OXP)を使用しており、SDKは一般には公開されていません。
Canon MEAP
「Multifunctional Embedded Application Platform」(MEAP)は、Canonが2003年にimageRunnerシリーズ用に導入し、2010年にWebサービスに拡張したJavaベースのソフトウェアプラットフォームです。サードパーティの開発者は、研究目的には範囲外の5,000ドルの料金でMEAP SDKを取得できます。
Xerox/Dell EIP
「Extensible Interface Platform」[EIP](http://www.office.xerox.com/eip/enus.html)
[6]は、Xeroxが2006年に様々なMFP用に宣伝しました。このアーキテクチャは、いくつかのリブランドされたDellデバイスもサポートしており、Webサービス技術に基づいています。SDKは登録された開発者に無料で提供されます。
Brother BSI
「Brother Solutions Interface」(BSI)は、2012年にBrotherがスキャナー、コピー機、プリンター用に立ち上げたXMLベースのWebアーキテクチャです。SDKへのアクセスは、ライセンスを持つ開発者に利用可能です。
Lexmark eSF
「Embedded Solution Framework」(eSF)は、2006年にLexmark MFP用に立ち上げられました。Javaアプリケーションを開発するためのSDKは、「特に資格のあるパートナー」に予約されています。 [7]によると、「これらのアプリケーションは、採用される前にLexmarkによってデジタル署名されなければなりません」2048ビットRSA署名を使用しています。
Samsung XOA
「eXtensible Open Architecture」(XOA)は、2008年にSamsungによって導入されました。XOA-E Java仮想マシンとWebサービスベースのXOA-Webの2つのフレーバーがあります。SDKはSamsungリセラーのみが利用できます。
Ricoh ESA
「Embedded Software Architecture」[ESA](https://www.ricoh.com/esa/)
[8]は、2004年にRicohによって立ち上げられました。JavaベースのSDK/Jは、登録後の開発者に利用可能です。
Kyocera/Utax HyPAS
「Hybrid Platform for Advanced Solutions」[HyPAS](http://usa.kyoceradocumentsolutions.com/americas/jsp/Kyocera/hypas_overview.jsp)
[9]は、2008年にKyoceraによってリリースされました。アプリケーションはJavaまたはWebサービスのいずれかに基づいています。SDKは、「HyPAS Development Partner Programme」のメンバーのみが利用でき、アプリケーションはKyoceraによって承認される必要があります。
Konica Minolta bEST
「bizhub Extended Solution Technology」[bEST](https://best.kmbs.us/)
[10]は、Webサービスに基づいて2009年にKonica Minoltaによって導入されました。SDKへのアクセスには、開発者プログラムの「プラチナメンバーシップレベル」が必要で、料金は4,000ドルで、独立した研究者には範囲外です。
Toshiba e-BRIDGE
「e-BRIDGE Open Platform」(e-BRIDGE)は、2008年にToshibaによってリリースされ、Webサービス技術に基づいて高エンドMFPをカスタマイズするためです。SDKは一般公開されていません。
Sharp OSA
「Open Systems Architecture」[OSA](http://siica.sharpusa.com/Document-Systems/Sharp-OSA)
[11]は、2004年にSharpによって宣伝されました。Webサービスを開発するためのSDKは有料で、アプリケーションはSharpによって検証される必要があります。
Oki sXP
「smart eXtendable Platform」[sXP](http://www.oki.com/en/press/2014/09/z14053e.html)
[12]は、Webサービスに基づいて2013年にOki DataによってMFPデバイス用に立ち上げられました。Okiは公式の開発者プログラムや公開されているSDKに関する情報を公開していません。
結果
古いHPレーザープリンターでは、 [3] と [4] が示したように、任意のJavaバイトコードを実行できます。セキュリティは組み込みWebサーバーのパスワードに基づいており、PostScriptを使用して簡単に取得するか、工場出荷時のデフォルトに復元することでバイパスできます。SDKへのアクセスがないため、他のソフトウェアプラットフォームのセキュリティについて合理的な声明をすることは困難です。以下に、プラットフォーム、適用される技術、および既知の場合はソフトウェアパッケージのデプロイメント手順の比較を示します。
ベンダー | プラットフォーム | 組み込みJava | Webサービス | デプロイメント |
---|