Your printer is not your printer ! - Hacking Printers at Pwn2Own Part I
印表机近年来已成为企业内网中不可或缺的设备之一,功能也随着科技的发展日益增多,除了一般的传真及列印之外,也开始支援AirPrint 等云端列印服务,让列印更加方便,直接使用行动装置就可以轻松列印,更成为了IoT 中,不可或缺的一环,正因为其便利,也常被用于列印公司内部机敏文件,使得在企业中印表机的安全性更加的重要。
而前年我们也在Canon 及HP 的印表机中发现了Pre-auth RCE 的漏洞( CVE-2022-24673及CVE-2022-3942 ) 及Lexmark 发现漏洞( CVE-2021-44734 ),并在Pwn2Own Austin 2021 中取得了Canon ImageCLASS MF644Cdw、 HP Color LaserJet Pro MFP M283fdw 及Lexmark MC3224i 的控制权,而成功获得Pwn2Own 中骇客大师(Master of Pwn) 的点数,这篇研究将讲述Canon 及HP 漏洞的细节及我们的利用方式
印表机近年来已成为企业内网中不可或缺的设备之一,功能也随着科技的发展日益增多,除了一般的传真及列印之外,也开始支援AirPrint 等云端列印服务,让列印更加方便,直接使用行动装置就可以轻松列印,更成为了IoT 中,不可或缺的一环,正因为其便利,也常被用于列印公司内部机敏文件,使得在企业中印表机的安全性更加的重要。
而前年我们也在Canon 及HP 的印表机中发现了Pre-auth RCE 的漏洞( CVE-2022-24673及CVE-2022-3942 ) 及Lexmark 发现漏洞( CVE-2021-44734 ),并在Pwn2Own Austin 2021 中取得了Canon ImageCLASS MF644Cdw、 HP Color LaserJet Pro MFP M283fdw 及Lexmark MC3224i 的控制权,而成功获得Pwn2Own 中骇客大师(Master of Pwn) 的点数,这篇研究将讲述Canon 及HP 漏洞的细节及我们的利用方式
早期在使用印表机时,往往会需要使用IEEE1284 或是USB 的Printer cable 来将印表机接上电脑,并且在使用时会额外装上厂商所附的驱动程式。而现今的印表机已可以接上网路,并多了各式各样的功能,通常只要将印表机接上区网,区网中的电脑就可以轻易地发现你所新安装的印表机。
目前市面上的印表机预设都开了非常多的服务,不外乎就是为了让列印更加方便,像是FTP、AirPrint、Bonjour 等等服务。
Motivation
为何要研究印表机呢?
红队内网需求
过去我们团队在执行红队演练过程中,印表机普遍出现于现代企业内网中,几乎都会有一台以上,但往往是被忽略的一块,也常常没在更新。印表机本身也非常适合作为攻击者的藏身处,通常很难被侦测出来。值得一提的是比较大型的企业也很有可能将其接上AD,成为获取机密资讯的入口。
Pwn2Own Austin 2021
另外一点是印表机在2021 时,首次成为了Pwn2Own Mobile 主要推动的目标之一,而我们刚好当时也准备再次挑战Pwn2Own 舞台,便决定一探究竟
目前市面上的印表机预设都开了非常多的服务,不外乎就是为了让列印更加方便,像是FTP、AirPrint、Bonjour 等等服务。
Motivation
为何要研究印表机呢?
红队内网需求
过去我们团队在执行红队演练过程中,印表机普遍出现于现代企业内网中,几乎都会有一台以上,但往往是被忽略的一块,也常常没在更新。印表机本身也非常适合作为攻击者的藏身处,通常很难被侦测出来。值得一提的是比较大型的企业也很有可能将其接上AD,成为获取机密资讯的入口。
Pwn2Own Austin 2021
另外一点是印表机在2021 时,首次成为了Pwn2Own Mobile 主要推动的目标之一,而我们刚好当时也准备再次挑战Pwn2Own 舞台,便决定一探究竟
通杀HIDS-Linux绕过文件系统向磁盘写入shellcode
此时shellcode已经落地磁盘成功,并且将block标记使用后,该block的数据就是受到保护的,不会被文件系统再使用或者覆盖
此时shellcode已经落地磁盘成功,并且将block标记使用后,该block的数据就是受到保护的,不会被文件系统再使用或者覆盖
字节vArmor客户端代码解读
attachBpfToTracepoint
因为在加载eBPF时需要具体指定对应的时间类型和eBPF相关的代码段,所以这里需要先定义一个attachBpfToTracepoint函数,用于将eBPF代码段和对应的事件类型进行绑定
attachBpfToTracepoint
因为在加载eBPF时需要具体指定对应的时间类型和eBPF相关的代码段,所以这里需要先定义一个attachBpfToTracepoint函数,用于将eBPF代码段和对应的事件类型进行绑定
execLink, err := link.AttachRawTracepoint(link.RawTracepointOptions{
Name: "sched_process_exec",
Program: tracer.objs.TracepointSchedSchedProcessExec,
})
if err != nil {
return err
}
tracer.execLink = execLink
JDK CVE-2023-21939 分析利用
在去年 CS 反制的时候,Beichen 师傅提出了 Java Swing 中存在的潜在漏洞,在配合 Apache XML Graphics Batik 1.16 之前的版本时,某些情况会导致 RCE 漏洞
JLabel 的内容可以输入 HTML 格式,例如下方的 Demo
在去年 CS 反制的时候,Beichen 师傅提出了 Java Swing 中存在的潜在漏洞,在配合 Apache XML Graphics Batik 1.16 之前的版本时,某些情况会导致 RCE 漏洞
JLabel 的内容可以输入 HTML 格式,例如下方的 Demo