惠普打印软件JetDirect漏洞致多款网络打印机受威胁
本月中,西班牙研究人员Guerrero研究发现惠普打印软件JetDirect存在漏洞,使攻击者可以绕过生物或刷卡的安全保护,访问部分打印文档,或通告网络对存在漏洞的网络打印机造成拒绝服务攻击。 JetDirect虽然是惠普设计的,但是众多打印机都使用该软件,包括Canon、Lexmark、Samsung和Xerox。该软件负责处理通过网络提交的打印请求。网络打印机通过JetDirect协议,侦听,接收打印请求数据,如下图所示是通过nmap扫到网络打印机的监听端口: 当连接到网络打印机后,JetDirect会添加额外的信息使得打印机能够解析打印任务。此处涉及3个关键概念。 UEL (Universal Exit Language ) ,这些命令通常在发往打印机的数据包的头和尾,语法形如%-12345X,0x1B表示ESCape PJL (Printer Job Language ),用于告诉打印机执行什么动作,是对PCL的额外支持。 PCL (Printer Control Language ),用于规范格式化页面的基本语言。看是去无害的,但却成为大多数解析器和解释器的漏洞利用代码。 如下图所示为典型的打印任务数据包 由于研究者是用西班牙语写的,注释只能凑合着看了,想了解具体意思恐怕要看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密码 但事实上通过往打印机的网络端口发送如上所说的特殊数据包,即可绕过认证使用网络打印机。 结果如下所示: 分析发往打印机的文档可发现两个重要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的值。(此处小编理解为使用排队中的任务号,打印自己修改的内容) 漏洞三:制造拒绝服务攻击 如上数据包所示,发送到打印机的数据信息,包括决定文档样式,文档格式结构,打印机动作参数等,都是值得关注的地方。这些值都会被打印机解析器解释。因此在这些点上传入一个不被期望的值,则可造成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的单元数 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |