文章目录

  • 前言
  • 0x01、漏洞原理
  • 0x02、漏洞利用
    • 1.预备知识
    • 2.Nmap端口扫描
    • 3使用PRET-master进行渗透测试
  • 0x03、修补建议

前言

提示:文章阅读大概需要15分钟:

现在网络打印机已经不仅仅是一台打印机,由于自己也有IP地址,更像是一台电脑。可以进行端口扫描、读写上传恶意文件、反弹shell,相当于一台服务器。物联网时代,任何暴露在公开网络上的设备都会受到攻击。攻击者可以利用漏洞来控制这台设备,或者如果不需要身份验证,他们也可以直接连接到暴露的端口。这使得被入侵的设备常常成为恶意软件、僵尸网络、勒索软件的帮凶,或者成为突入大型企业网络的攻击入口,甚至成为隐蔽的后门。打印机正在成为此类攻击目标。如今打印机功能丰富,打印、传真、电子邮件以及无线网络,这使得它更容易成为攻击目标。简单归类,打印机的安全问题主要表现为直接暴露,导致敏感信息泄露;漏洞频发,容易成为网络攻击入口;管控不力,形成防御盲区。相关攻击事件表现出了伪造、篡改、信息泄露、拒绝服务、提升权限等常见的威胁和风险。企业/组织网络内的打印机不仅仅是失泄密的重点,而且正逐步变为网络失陷的入口和跳板。


免责声明:本文章仅提供学习和参考,因用于其他用途而产生不良后果,作者不承担任何法律责任。

0x01、漏洞原理

PCL代表打印机控制语言(Printer Control Language),由惠普公司开发,并被广泛使用的一种打印机协议。关于另一种页面描述语言,应该提一提由Adobe设计的PostScript(PS),它可以将更为复杂的事情交由绘图仪/打印机处理。PJL (Printer Job Language,打印机作业语言)作为PCL的扩展,用于指导打印机行为,比如更改设备设置、传输文件等。

打印机系统9100端口开启时,若连上该端口通过PJL指令发送设备名称请求并得到打印机的响应,说明可以未授权访问打印机,PJL保护机制的密钥由2个字节(16比特)的存储单位存储,可以进行暴力破解攻击,从而得到目标打印机的完全访问权限。


0x02、漏洞利用

1.预备知识

在研究打印机前有必要熟悉打印语言,网上各种介绍打印机语言,大家看的会比较混乱,比如有时候是打印机描述语言,有时候又叫打印机控制语言。其实打印机语言按分类是有两类,一种是页面描述语言(PDL),另一种是嵌入式语言(Escape码语言),而HP的PCL控制语言和PostScript(以下简称 PS)都属于PDL页面描述语言。

9100端口
也被称为“raw printing”,因为它使用TCP 9100端口进行网络打印操作,通常在CUPS和Windows系统中使用。与LPD,IPP和SMB协议需要使用打印机控制语言才能执行打印操作相比,通过9100端口发送的所有数据都由打印设备直接处理,并直接将打印结果反馈到客户端,包括状态和错误消息。

2.Nmap端口扫描


Nmap的扫描结果显示主机不但开启了9100端口,80,443端口也开着,入侵也就多了一些其他的方式。


3使用PRET-master进行渗透测试

我们使用 PRE工具来进行渗透测试。这个用python写成的黑客工具有简单的命令行交互界面,专门用来破解PLJ接口的打印机,获取打印机的环境变量、文件系统和重要目标文件。

可以看到这里探测出了设备类型为惠普的M880彩色打印机。成功连接到该打印机
不同的语言pret会提供不同的命令可用。所以在刚开始使用pret时,可以先使用help查看可用命令。除此之外也可以使用help+命令来显示某命令的详细用法。

Put:可以将文件上传到打印机上,向linux打印机上传bot来进行控制。

Mirror: 直接将打印机中的所有文件拷贝的本地,方便进一步的分析,寻找如打印记录的文件。

Destroy: 十分危险的功能,尝试的时候应当慎用,对打印机的NVRAM(一种RAM)造成物理性损坏。

利用pret可以对打印机进行拒绝服务、提权、打印作业越权访问、信息泄露、远程代码执行等测试,具体清单和用法可以参照官方的wiki:PRET-master
使用脚本进行fuzz测试,包括常见敏感目录和文件。

在Jobs路径下可以查看打印机硬盘中存放的所有东西。如果打印机缓存了打印文件,在这里也是可以找到的。
使用上面的get命令可以将相关文件保存到本地进行查看

0x03、修补建议

不使用的服务,如 FTP ,TELNET 服务,应手动关闭。
直接关闭 9100 端口,不允许外网访问。
像打印机,摄像头这种联网类型的设备,目前大家对这方面的安全意识需要进一步加强,最好把设备控制在内网使用。如果需要提供到外网接口,一定要采取一定的安全措施,默认的安全口令也需要修改。增加攻击人员的成本从而使得设备更加安全。

关于内网打印机的研究-利用PRET对惠普打印机进行渗透相关推荐

  1. websocket没准备好如何解决_惠普打印机打印没反应如何解决 惠普打印机打印没反应解决方法【详解】...

    在我们的生活中经常会看到打印机的存在,它是电脑输出的一种设备,可以将电脑或者手机中的数据通过打印机打印出来.如今市面上的打印机品牌非常的多, 惠普打印机 就是其中一个很不错的品牌,可是在使用的过程中, ...

  2. 计算机更新后打印机无法使用,升级Win10系统之后惠普打印机无法使用的解决方法...

    升级Win10系统之后,发现自家的惠普打印机无法使用了,一般遇到这个问题是因为升级Win10之后相关软件并没有迁移成功,系统会提示"HP ENVY e-All-in-One打印机安装失败&q ...

  3. 惠普打印机怎么无线连接电脑_惠普打印机打印中突然停止怎么办?

    惠普打印机打印中突然停止的原因 一.检查打印机面板指示灯是否异常 1.首先检查打印机内是否有卡纸,如有卡住纸张或纸片,请取出再试. 2. 然后再检查打印机硒鼓是否安好,或者硒鼓是不是好的,如有条件可以 ...

  4. 联想打印机7256显示更换墨盒_惠普打印机涉嫌垄断?只认自家“昂贵”墨盒,成本太高招架不住...

    近日,有人爆料称,所在公司购买的惠普打印机使用原装墨盒时可正常打印,更换其他品牌墨盒后也不能正常使用,因此认为惠普公司有行业垄断的嫌疑. 从细节来看,该公司购买了惠普同一型号但不同批次的两台打印机,一 ...

  5. 打印机批量扫描显示服务器超时,惠普打印机常见故障及解决方法,27年打印故障经验总结...

    原标题:惠普打印机常见故障及解决方法,27年打印故障经验总结 1.问:惠普3030打印普通文档没问题,打印word就出错. 答:故障是word文件出错. 2.问:惠普3030扫描灯一直在原位移动. 答 ...

  6. 惠普打印机怎么无线连接电脑_惠普打印机连不上无线?怎么解!

    打印机有无线功能,但却总连不上路由, 看着高大上的功能用不上,是不是很捉急? 今天总结了5种打印机连接无线的方法, 总有一款适合你~ - 方 1 法 - 在打印机屏幕上配置无线 本方法适用于带有无线网 ...

  7. 为什么hp打印机一直显示正在打印_惠普打印机为什么一直打印不停

    展开全部 原因:可能是在点击打印的62616964757a686964616fe4b893e5b19e31333433636236时候不小心点了很多次,或者是设置了打印多份. 解决具体操作办法如下: ...

  8. hp打印机怎么连接电脑_hp打印机驱动怎么安装 惠普打印机驱动程序安装方法【详解】...

    打印机是办公室必备的办公产品之一,惠普打印机作为一 家具 有多年打印机制造经验的品牌,深受着众多办公人群的喜爱.只是对于惠普打印机驱动的安装,办公新手们会感到有些棘手,为此下面带来hp打印机驱动怎么安 ...

  9. hp打印机一直显示正在打印中_惠普打印机哪个型号好 安装hp打印机驱动方法【详解】...

    一般我们在日常的 办公室 和居室中,基本上都会使用到打印机和复印机这样普遍的办公产品,不过市面上的打印机品牌有很多,比较常见的打印机品牌应该就是爱普生和惠普打印机了,不过惠普打印机从刚开始到现在,已经 ...

  10. hp打印机没连上计算机,win7电脑连接惠普打印机后文件打印不出来怎么办

    打印机是办公中不可缺少的一件设备,有时候会遇到打印机故障问题.win7电脑连接新购买的惠普打印机后文件打印不出来,没有任何响应.有的时候打印多页文档,却只能打出来第一页,其他也再多选上也不打印.把这台 ...

最新文章

  1. 【转】Linux Oracle服务启动停止脚本与开机自启动
  2. poj 1200 Crazy Search
  3. 一个项目经理的一些个人体会
  4. HTTP协议基础知识总结
  5. Early Orders
  6. Mysql配置文件读取顺序
  7. 解决 | 老司机都无法解决的事情,谁能解决?
  8. 特斯拉上海工厂开工 Model 3月销量有望破万
  9. 计算机大赛开场白,比赛主持开场白
  10. 图像处理——双线性插值(Bilinear Interpolation)
  11. 前端文档汇总(觉得对您有用的话,别忘了给点个赞哦 ^_^ !)
  12. C++--第11课 - 类的静态成员
  13. iotop监视磁盘I/O
  14. win10英文版系统字体中文乱码
  15. 二叉树叶子结点个数——C++
  16. 1. 如何创建python环境
  17. 数值积分之Gauss求积法五点公式
  18. Linux系统文件加密与解密应用
  19. 花了5年时间,用过市面上95%的工具,终于找到这款万能报表工具
  20. oracle 查询字符代码dump,字符集问题(Linux、oracle、终端等,导入导出数据)

热门文章

  1. 我的第一个C语言:用点阵显示出我的名字拼音首字母。
  2. HTML+CSS制作仿制当当网
  3. Android oem 解锁
  4. 从武汉远程医疗方案看,5G战“疫”是噱头还是福音?
  5. Apollo无人驾驶系统基础入门(云服务+感知(一))
  6. ArcGis-学习笔记1-地图矢量化
  7. vue 微信公众号支付接口_vue项目中使用微信公众号支付的方法有哪些
  8. js实现分页并请求ajax,js实现ajax分页完整实例
  9. Hyperledger Fabric CA中文文档
  10. 固态硬盘坏块修复工具_坏道和坏块什么区别?硬盘高级修复教程来了