加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

发布时间:2016-11-21 08:06:22 所属栏目:运营 来源:网络整理
导读:本月中,西班牙研究人员Guerrero研究发现惠普打印软件JetDirect存在漏洞,使攻击者可以绕过生物或刷卡的安全保护,访问部分打印文档,或通告网络对存在漏洞的网络打印机造成拒绝服务攻击。 JetDirect虽然是惠普设计的,但是众多打印机都使用该软件,包括Ca

本月中,西班牙研究人员Guerrero研究发现惠普打印软件JetDirect存在漏洞,使攻击者可以绕过生物或刷卡的安全保护,访问部分打印文档,或通告网络对存在漏洞的网络打印机造成拒绝服务攻击。

JetDirect虽然是惠普设计的,但是众多打印机都使用该软件,包括Canon、Lexmark、Samsung和Xerox。该软件负责处理通过网络提交的打印请求。网络打印机通过JetDirect协议,侦听,接收打印请求数据,如下图所示是通过nmap扫到网络打印机的监听端口:

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

当连接到网络打印机后,JetDirect会添加额外的信息使得打印机能够解析打印任务。此处涉及3个关键概念。

UEL (Universal Exit Language ) ,这些命令通常在发往打印机的数据包的头和尾,语法形如%-12345X,0x1B表示ESCape

PJL (Printer Job Language ),用于告诉打印机执行什么动作,是对PCL的额外支持。

PCL (Printer Control Language ),用于规范格式化页面的基本语言。看是去无害的,但却成为大多数解析器和解释器的漏洞利用代码。

如下图所示为典型的打印任务数据包

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

由于研究者是用西班牙语写的,注释只能凑合着看了,想了解具体意思恐怕要看JetDirect官方手册了:

http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13207/bpl13207.pdf

http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13211/bpl13211.pdf

通过修改传入PCL/PJL解析器的tags,攻击者便可触发DoS攻击。

也许企业想已经有指纹访问,PINs,密码,智能卡等等已经可以有效保护他们的打印机,但事实上,那些企业里经过深度加密的文档,一旦发送到打印机去,便自动失去了保护。攻击者可以直接访问或重新打印打印机内存内的打印任务。研究人员认为以下产品都存在安全漏洞:

Canon, Fujitsu, HP, Konica Minolta, Lexmark, Xerox, Sharp, Kyocera Mita, Kodak, Brother, Samsung, Toshiba, Ricoh, Lanier, Gestetner, Infotek, OCE, OKI

漏洞一:绕过认证

一般企业打印机都有各种认证防止非授权访问打印机,如RFID卡,指纹识别,智能卡,LDAP密码

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

但事实上通过往打印机的网络端口发送如上所说的特殊数据包,即可绕过认证使用网络打印机。

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

结果如下所示:

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

分析发往打印机的文档可发现两个重要label:

1 @ PJL SET JOBNAME = "C: Documents and Settings Divine My Documents TU TDOC cad files kapak.dwg Model (1)"

2 @ PJL SET USERNAME = "AAA"

漏洞二:篡改打印任务Assigning work to system users

进一步利用上面的漏洞,攻击者可以修改分配到打印任务label的值。(此处小编理解为使用排队中的任务号,打印自己修改的内容)

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

漏洞三:制造拒绝服务攻击

如上数据包所示,发送到打印机的数据信息,包括决定文档样式,文档格式结构,打印机动作参数等,都是值得关注的地方。这些值都会被打印机解析器解释。因此在这些点上传入一个不被期望的值,则可造成DoS攻击。

下面以一段PCL打印指令为例说明:

1 ^[&l7H^[&l-1M^[*o5W^M^C^@^G?^[*o-2M^[*o5W^M^B^@^@^A^[*o5W^K^A^@^@^@^[*o5W^N^C^@^@^E^[*o5W^N^U^@^@^@^[&l110A^[&u600D^[*o5W^N^E^@^S`^[*o5W^N^F^@^[g^[*r4724S^[*g12W^F^_^@^A^BX^BXg # W——配置栅格数据命令,如上面的g12W,负责设置颜色深度,垂直和水平分辨率等。

o # W ——配置驱动命令,如上面o5W,通常用于执行设置打印机的指令,具体可参见每个打印机的配置表单。

& L7H——设定纸张源,本例子代表自动

& L-1M——Media Type Bond

& L110A——结合PCL_JENV_CHOU3宏代码定义纸张的高度

& U600D——表示每英寸PCL的单元数

修改任意以上的参数为未预期值,都可能造成打印机掉线或直接迫使它们需要人工reset。如下图所示:

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

漏洞四:触摸屏

其中一个现代打印机的先进之处就是有一个触摸屏,通过触摸屏可以控制一些配置页面,例如下图修改FTP服务的配置。

(原文还有一处通过输入超长字符串造成DoS攻击效果)

惠普打印软件JetDirect漏洞致多款网络打印机受威胁

SANS上周已经就此发出安全警告,以此提醒企业对网络打印机安全的重视。

【编辑推荐】

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!