本文讲的是都说打印机不安全,那究竟有多少种黑掉它的姿势呢?,在办公室里,最容易被黑掉的设备是什么呢?

电脑?手机?路由?

不不不,都不是。现在想黑掉这些设备,需要等待机会,比如有一枚特别好使的漏洞(像最近 Windows上的永恒之蓝漏洞)。

有个设备不在关注视线内,但比上面的设备都容易黑多了,那就是打印机。

现代打印机大多具备联网功能,使用安全特性极少的嵌入式系统,内核老旧固件更新很麻烦,是天然的攻击载体。

过去国内外已经出现过多起案例,比如有黑客通过内部打印机入侵银行、运营商网络,进去盗窃。为了提醒大家目前的打印机安全做得很差,有位英国高中生曾经利用公开漏洞黑掉了15万台打印机,打印出一堆字符表情包。

一台打印机到底可以怎样被黑掉呢?嘶吼编辑今天就来给大家科普,以下内容均来自Hacking Printers Wiki,一个汇聚各种打印机安全知识的百科网站。我们主要讲原理,具体代码请自行去百科网站检索。

拒绝服务

打印机的处理资源是有限的,处理器、内存、带宽在内的几大块,只要其中一块资源被过多消耗,它就无法工作。换句话说,只要你可以连接打印机,你便能让别人无法打印。

大多数公司没法使用打印机并不会造成什么严重后果,但印刷厂例外,即使是极短暂的停机,也会遭受经济损失。

方法一:传输通道

大多数打印机都是队列处理,每次只能处理一个任务。如果一个任务总不发结束信号,就能一直占据打印通道,直到触发超时。

向打印机的9100/tcp端口群发请求,建立连接后不发送关闭请求,便可以耗尽打印机的带宽资源。

在局域网内寻找打印机

缓解方法:为打印机设置较高的超时时间

方法二:文档处理

在打印文档的描述语言中添加无限循环之类需要耗费大量计算资源的代码,让打印机的图像处理功能始终处于忙碌状态。

使用PostScript、PJL语言都可以做到,极少数具有监督机制的打印机会在十分钟后自动重启,一部分会在30分钟后中断掉任务,大多数打印机需要手动去关闭任务。

缓解方法:重启

方法三:物理损坏

打印机的存储介质是NVRAM(包括EEPROM和闪存),使用寿命有限,厂商保证大约是10万次擦写次数。使用重复擦写命令可以快速消耗掉打印机的存储介质寿命。

经测试20台激光打印机,有8台设备在24小时内有损坏。

提权攻击

本类别主要介绍绕过打印机的保护机制、扩展攻击者能力的方法。

方法一:重置为默认状态

将打印机重置为出厂默认状态是一项很有用的技巧,它可以去除用户保护密码这类安全机制。一般来说,在打印机上操作组合键可以将其重置为出厂默认状态,但这个难度颇高,得物理接触。

然而,打印机厂商的实现偏差让在线重置成为可能。使用SNMP、PJL、PostScript等命令,都有可能重置一台打印机。只需要你连上它的9100/tcp端口,发送命令即可。

方法二:绕过审计系统

由于执行打印配额、安全风险等原因,一些复印店、学校、安全公司会使用审计系统限制内部成员使用打印机,

通常有两种手段,一种是特制的打印机驱动程序,这里不做讨论;另一种是搭建独立的审计系统服务器,打印请求经过该系统审查,然后转发给打印机。

常见的打印作业系统有LPRng、CUPS,它们两的某个版本都存在绕过漏洞。如果你可以连接上打印服务器,执行测试命令便可以绕过了。

绕过限制后可以干什么呢?无限制的打印文档、假冒其他人名义打印特殊文档以及更进一步攻击都可以。

方法三:访问传真机和扫描仪

多功能打印机上,大多附带传真机和扫描仪两个功能。如果你能访问它们,便能有更多获得敏感信息的机会。

传真功能基本都有标准化命令,不同品牌打印机使用不同命令。安装好相应型号的驱动程序,连上打印机执行命令即可。

扫描仪功能没有标准化命令,似乎只有少数厂商公布过相关的PJL命令,公共文档缺失。你可以在这个网站上找自己型号的命令。操作和传真功能一样。

访问打印队列

一台打印机上,最有价值的数据是打印队列里的文档。这些文档平常都被严密保护,而在打印机里,你可以自由查看编辑。

方法一:获取打印队列的文档

少数打印机会在Web服务器里存储打印的文档,比如惠普DesignJet Z6100ps,但大部分是没有的。

这时你可以使用标准PJL命令或者专有PostScript命令开启文档保留功能,它们保存在内存中,可以通过控制面板再次打印。这类的限制较高,需要你物理接触打印机把留存的文档打印出来。

方法二:编辑打印的文档

如果攻击者能修改打印的结果,是否从根本上破坏了打印机的信任?下边将介绍两种基于PostScript的技巧。

第一种是内容覆盖,PCL命令可以在文档顶部叠加内容,但仅限当前的打印文档,无法长久保持。使用PostScript去重新定义页面操作,能在打印文档上叠加任意的图形文字,比如加个恶搞的表情,把某段内容变成空白,这在商战中防不胜防。

在打印文档上添加表情

第二种内容替换的成功率不是太好,和第一种方法类似,但更麻烦。该方法在LaTeX文档上测试成功过,其它格式还在努力研究中。

信息泄漏

除了打印文档外,打印机还可以泄漏其它敏感信息。

方法一:访问内存

如果攻击者可以访问打印机内存,就有可能获得密码或打印文档等敏感信息。如果拥有写入权限,还可能导执行任意命令。

Brother、施乐等品牌的打印机曾曝光过此类漏洞。

方法二:访问文件系统

打印机一般无法直接访问文件系统,但少数型号为了提升打印质量,开放了访问权限,用户可以下载字体、图形放进去。

这类打印机一旦联网,将存在严重安全隐患,可以检索敏感信息、查看打印队列等,甚至引发远程命令执行。

惠普LaserJet系列、柯尼卡美能达bizhub MFP系列、OKI激光打印机等产品都曾曝光过类似漏洞。

方法三:爆破密码

打印机出厂默认状态下通常没有密码或通用密码,用户需主动设置密码才能保护设备。

但这类设备对爆破没有任何防护,16位key(二进制)的密码,最多6小时就能解开。少数早期惠普打印机存在密码泄漏漏洞,发送一条请求即可获知密码。

代码执行

任何计算设备都可能存在代码执行漏洞,打印机也不例外。目前大部分打印机支持两种外部代码执行方式:固件更新、安装其它软件包。

方法一:缓存区溢出

像打印机这类嵌入式设备,通常没有ASLR、NX/DEP、用户态等保护机制,因此所有代码都是以root用户运行。

CVE-2010-0619:影响利盟激光打印机

LPD守护进程缓存区溢出:影响惠普LaserJet系列、戴尔3110cn、京瓷FS-C5200DN和三星MultiPress 6345N等打印机

方法二:固件更新安全

由于历史原因,打印机的固件更新要求权限极低,普通打印者就可操作。后来各家厂商慢慢意识到危险,开始要求固件更新检查数字签名。

目前惠普、佳能、利盟、施乐使用数字签名进行固件更新验证,理光声称只有维修人员有密码可以执行固件更新,柯尼卡美能达称使用哈希值进行验证,其它品牌尚无公开信息。

方法三:软件包安全

近些年来,打印机厂商开始推出可安装软件的打印机,它们对开发商开放SDK,以便开发定制软件。

打印机上只有带厂商代码签名的软件才能安装,要获得类似签名的可能性极小,但厂商自身的安全开发流程也很重要。

惠普曾经公开过SDK,被用户找到了绕过签名安装软件的方法,后来惠普不再公开SDK,其它厂商的SDK也均不对大众开放。

目前主流打印机软件平台的SDK信息统计

最后

本文旨在科普打印机的安全状况,向大众普及安全意识、引导打印机厂商加强对产品安全性的认识。请大家合理合法利用文中资源,不要干坏事哦。

原文发布时间为:2017年6月15日
本文作者:longye
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
原文链接

都说打印机不安全,那究竟有多少种黑掉它的姿势呢?相关推荐

  1. 世界上究竟有多少种云计算?这其实是个伪命题

    世界上究竟有多少种云计算?这其实是个伪命题 两个多月前,阿里云的一句:"中国只有两种云,一种是拿来主义的云,一种是自主可控的飞天云."引发了业界的广泛吐槽,不过很多人嘴上虽然不服气 ...

  2. 冬冬爬楼梯,一步可以1级,也可以爬2级、3级。冬冬很可爱,每到一处楼梯处,他都想知道直完这个楼梯有多少种走法。但由于有的时候楼梯级数太多,可能是个天文数字,很显然,对于还处于小学5年级的冬冬是不太现实

    冬冬爬楼梯,一步可以1级,也可以爬2级.3级.冬冬很可爱,每到一处楼梯处,他都想知道直完这个楼梯有多少种走法.但由于有的时候楼梯级数太多,可能是个天文数字,很显然,对于还处于小学5年级的冬冬是不太现实 ...

  3. 电路中滤波电容和退耦电容_电容在电路中究竟有多少种应用?

    所谓电容,就是容纳和释放电荷的电子元器件.电容的基本工作原理就是充电放电,当然还有整流.振荡以及其它的作用.另外电容的结构非常简单,主要由两块正负电极和夹在中间的绝缘介质组成,所以电容类型主要是由电极 ...

  4. ads design environment_ADS应用技巧3 — 画一个巴伦有多少种方法?

    为什么ADS的Schematic不允许多任务仿真(即如果一个Schematic的仿真任务没完成,就不允许任何Schematic启动新的仿真):而Layout却允许同时运行一大堆EM仿真. 按理说,Sc ...

  5. 大连究竟有多少“软件园”

    第六届软交会,海内外来宾云聚大连.大连软件业十年的积累与成就令人瞩目.但遍地开花.蓬勃发展的软件业,也让很多来宾产生了疑惑:大连究竟有多少个软件园?这些软件园之间以及它们和政府存在怎样的关系?昨日,记 ...

  6. 在中国,究竟有多少人月入过万?

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定! 本文作者:天善智能社区专家黄成明 天善智能社区地址:ht ...

  7. 学计算机的有多少人,究竟有多少人在学习计算机科学技术

    究竟有多少人在学习计算机科学技术 我还是一个仍然在学习的菜菜鸟,而且十分的菜! 不知道曾经是否有人仔细想过这个问题:为什么我们读了很多很多年的"计算机科学与技术系"仍然叫做&quo ...

  8. 正方形分成16份,将1到16填入其中。让行和列都是从大到小。问一共有多少种方法?...

    看了到面试题: 将正方形分成16份,将1到16填入其中.让行和列都是从大到小.问一共有多少种方法? 此题 解法有: 1. 穷举,基本不用考虑 复杂度O(16!). 2. 枚举+剪枝 .代码如下:得到答 ...

  9. 学计算机数据结构重要吗,程序员都说数据结构重要,那么究竟什么是数据结构?...

    原标题:程序员都说数据结构重要,那么究竟什么是数据结构? 大学阶段,如果问大家计算机专业课中哪门课是最重要的?想必有一多半的人都会回答数据结构.既然大家都说数据结构重要,那么究竟什么是数据结构呢?今天 ...

最新文章

  1. c语言编译器bug,关于c语言的一个小bug详解
  2. beanutil 批量copy_Apache Commons Beanutils对象属性批量复制(pseudo-singleton)
  3. Volatile关键字的详解
  4. 消费流程图_SpringBoot+RabbitMQ ,保证消息100%投递成功并被消费(附源码)
  5. 【Elasticsearch】在 Elasticsearch 中每秒存储 5000 万个事件:我们是如何做到的
  6. 一个设置容器和网格布局的小技巧
  7. ELK结合Beats工具的搭建使用(Metricbeat、Filebeat、Topbeat)
  8. Jmeter (二十五)逻辑控制器 之 Random Controller and Random order Controller
  9. 【其他】使win7尽量少占用C盘空间
  10. SSD容量也不宜小,最好1T往上
  11. 人脸识别眨眼张嘴软件_手机端APP活体真活人检测扫描人脸识别SDK之张嘴摇头眨眼点头确认真人非...
  12. 风过无痕 思念的回廊
  13. 高德地图---Poi搜索遇到的坑
  14. NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据
  15. 【虚幻引擎UE】UE5 四步骤实现AI漫游与对话行为(含工程源码)
  16. 国产手机设计业遭遇拐点 萧条期寻觅突围路
  17. 【PCL自学:Filtering】PCL中的各类滤波器介绍与使用 (持续更新)
  18. 三星 Galaxy Tab Pro T320 root 过程分享
  19. 软考各级别考试难度对比
  20. 贝加莱伺服驱动器电源维修ACOPOS multi C0320

热门文章

  1. House of storm学习总结
  2. 树莓派sd卡格式化_树莓派安装免费IP电话系统3CX
  3. java-手写ArrayList集合
  4. 运算放大器工作原理是什么?
  5. discoverer连接问题
  6. windows提示电脑已经关机了但主机还在运行
  7. 如何进行学术文献翻译?
  8. 微信「订阅号助手」 App 正式上线,请尽情吐槽!
  9. 手机信号测试软件 电脑版,PC端和移动端通杀 神器SpeedTest_网络设备无线网络和技术-中关村在线...
  10. 计算机简明教程实验总结,《大学物理实验简明教程》.pdf