关于内网打印机的研究-利用PRET对惠普打印机进行渗透
文章目录
- 前言
- 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对惠普打印机进行渗透相关推荐
- websocket没准备好如何解决_惠普打印机打印没反应如何解决 惠普打印机打印没反应解决方法【详解】...
在我们的生活中经常会看到打印机的存在,它是电脑输出的一种设备,可以将电脑或者手机中的数据通过打印机打印出来.如今市面上的打印机品牌非常的多, 惠普打印机 就是其中一个很不错的品牌,可是在使用的过程中, ...
- 计算机更新后打印机无法使用,升级Win10系统之后惠普打印机无法使用的解决方法...
升级Win10系统之后,发现自家的惠普打印机无法使用了,一般遇到这个问题是因为升级Win10之后相关软件并没有迁移成功,系统会提示"HP ENVY e-All-in-One打印机安装失败&q ...
- 惠普打印机怎么无线连接电脑_惠普打印机打印中突然停止怎么办?
惠普打印机打印中突然停止的原因 一.检查打印机面板指示灯是否异常 1.首先检查打印机内是否有卡纸,如有卡住纸张或纸片,请取出再试. 2. 然后再检查打印机硒鼓是否安好,或者硒鼓是不是好的,如有条件可以 ...
- 联想打印机7256显示更换墨盒_惠普打印机涉嫌垄断?只认自家“昂贵”墨盒,成本太高招架不住...
近日,有人爆料称,所在公司购买的惠普打印机使用原装墨盒时可正常打印,更换其他品牌墨盒后也不能正常使用,因此认为惠普公司有行业垄断的嫌疑. 从细节来看,该公司购买了惠普同一型号但不同批次的两台打印机,一 ...
- 打印机批量扫描显示服务器超时,惠普打印机常见故障及解决方法,27年打印故障经验总结...
原标题:惠普打印机常见故障及解决方法,27年打印故障经验总结 1.问:惠普3030打印普通文档没问题,打印word就出错. 答:故障是word文件出错. 2.问:惠普3030扫描灯一直在原位移动. 答 ...
- 惠普打印机怎么无线连接电脑_惠普打印机连不上无线?怎么解!
打印机有无线功能,但却总连不上路由, 看着高大上的功能用不上,是不是很捉急? 今天总结了5种打印机连接无线的方法, 总有一款适合你~ - 方 1 法 - 在打印机屏幕上配置无线 本方法适用于带有无线网 ...
- 为什么hp打印机一直显示正在打印_惠普打印机为什么一直打印不停
展开全部 原因:可能是在点击打印的62616964757a686964616fe4b893e5b19e31333433636236时候不小心点了很多次,或者是设置了打印多份. 解决具体操作办法如下: ...
- hp打印机怎么连接电脑_hp打印机驱动怎么安装 惠普打印机驱动程序安装方法【详解】...
打印机是办公室必备的办公产品之一,惠普打印机作为一 家具 有多年打印机制造经验的品牌,深受着众多办公人群的喜爱.只是对于惠普打印机驱动的安装,办公新手们会感到有些棘手,为此下面带来hp打印机驱动怎么安 ...
- hp打印机一直显示正在打印中_惠普打印机哪个型号好 安装hp打印机驱动方法【详解】...
一般我们在日常的 办公室 和居室中,基本上都会使用到打印机和复印机这样普遍的办公产品,不过市面上的打印机品牌有很多,比较常见的打印机品牌应该就是爱普生和惠普打印机了,不过惠普打印机从刚开始到现在,已经 ...
- hp打印机没连上计算机,win7电脑连接惠普打印机后文件打印不出来怎么办
打印机是办公中不可缺少的一件设备,有时候会遇到打印机故障问题.win7电脑连接新购买的惠普打印机后文件打印不出来,没有任何响应.有的时候打印多页文档,却只能打出来第一页,其他也再多选上也不打印.把这台 ...
最新文章
- 【转】Linux Oracle服务启动停止脚本与开机自启动
- poj 1200 Crazy Search
- 一个项目经理的一些个人体会
- HTTP协议基础知识总结
- Early Orders
- Mysql配置文件读取顺序
- 解决 | 老司机都无法解决的事情,谁能解决?
- 特斯拉上海工厂开工 Model 3月销量有望破万
- 计算机大赛开场白,比赛主持开场白
- 图像处理——双线性插值(Bilinear Interpolation)
- 前端文档汇总(觉得对您有用的话,别忘了给点个赞哦 ^_^ !)
- C++--第11课 - 类的静态成员
- iotop监视磁盘I/O
- win10英文版系统字体中文乱码
- 二叉树叶子结点个数——C++
- 1. 如何创建python环境
- 数值积分之Gauss求积法五点公式
- Linux系统文件加密与解密应用
- 花了5年时间,用过市面上95%的工具,终于找到这款万能报表工具
- oracle 查询字符代码dump,字符集问题(Linux、oracle、终端等,导入导出数据)
热门文章
- 我的第一个C语言:用点阵显示出我的名字拼音首字母。
- HTML+CSS制作仿制当当网
- Android oem 解锁
- 从武汉远程医疗方案看,5G战“疫”是噱头还是福音?
- Apollo无人驾驶系统基础入门(云服务+感知(一))
- ArcGis-学习笔记1-地图矢量化
- vue 微信公众号支付接口_vue项目中使用微信公众号支付的方法有哪些
- js实现分页并请求ajax,js实现ajax分页完整实例
- Hyperledger Fabric CA中文文档
- 固态硬盘坏块修复工具_坏道和坏块什么区别?硬盘高级修复教程来了