通过打印机的USB接口攻击打印机

通过打印机的USB接口攻击打印机

一、攻击方式

  • BadUSB:

BadUSB是一种计算机安全攻击,使用编程的USB设备进行恶意软件攻击。例如:USB闪存驱动器可以包含一个可编程的Intel 8051微控制器,该微控制器可以被重新编程,将USB闪存驱动器变成一个恶意设备。这种攻击通过编程假USB闪存驱动器来模拟键盘,一旦插入计算机,就会自动被识别并允许与计算机交互,然后可以启动一系列按键操作,打开命令窗口并发出命令下载恶意软件。

  • RubberDucky攻击:

这是一种伪装成通过可移动磁盘的击键注入工具。计算机会将其识别为常规的键盘,并自动接受其预先编程的击键Payload。

  • Cactus WHID:

这是一种硬件通过添加无线接入点,将攻击能力提升到了一个新的水平,可以远程控制硬件和击键。

  • Teensy攻击:

攻击者在定制攻击设备时,会向USB设备中置入一个攻击芯片,此攻击芯片是一个非常小而且功能完整的单片机开发系统,它的名字叫TEENSY。通过TEENSY你可以模拟出一个键盘和鼠标,当你插入这个定制的USB设备时,电脑会识别为一个键盘,利用设备中的微处理器与存储空间和编程进去的攻击代码,就可以向主机发送控制命令 ,从而完全控制主机。

打印机应该针对USB接口做了防护,即除了U盘和PC以外的设备皆不支持,所以无法更改设备描述符来模拟键盘或鼠标。

既然只有U盘和PC能被允许接入打印机,那么通过U盘和PC分别都能对打印机做什么?

请添加图片描述

很明显,它们都只能对打印机进行打印操作。那么恶意文件如何让打印机获取到并执行?

打印机在打印文件时必定要向U盘或PC获取打印文件,那么在获取文件时是否存在恶意文件绕过?

二、思路分析

值得注意的是,当PC连接到带存储功能的打印机时,PC是可以访问打印机的内部存储器的。那么是否可以将U盘伪装成PC来获取打印机内部存储器的数据?

首先介绍一下U盘的内部结构:

img

USB设备通常有一个独立的主控芯片,以及一个大容量的可重写存储芯片用于存储实际数据。控制芯片是一种嵌入式芯片,它通过从片内Flash存储区加载基本的引导程序来启动,类似于笔记本电脑的硬盘驱动器包含一个隐藏的主引导记录(MasterBoot Record)。存储芯片用于存储部分配置信息和数据信息。

当USB设备插入时,主机接收设备会获取设备描述符,USB设备将自身的设备描述符返回给主机。主机通过这种方式来识别插入的USB设备身份。

既然这样,我们就可以更改U盘的设备描述符信息,将其伪装成PC。将更改好的程序烧录进U盘的微控制器中就可以达到欺骗打印机的效果。

微控制器MCU同样具备处理器、RAM、ROM、内置晶振。可以理解为不带任何外设的、性能很低的PC主机。

因此,当U盘成功伪装成PC后,可以和PC一样执行一些自动化脚本,如:将打印机存储器内的数据复制到自身内部的闪存中。

三、利用

1. 数据远程发送

可以给U盘内部加装一个小型的Wifi模块,将获取到的数据主动发送至指定的目标中供查看。

2. 驻留

市面上相当一部分打印机都采用Linux操作系统,通过恶意软件(也称为rootkit)通常需要长期驻留于目标操作系统以达到获利目的。

传统的rootkit就是指这类恶意软件,对于Linux rootkit来说,最有效的方法就是把自己作为kernel module加载,因为大多数Linux目标都是允许动态加载kernel module的。

在kernel space里运行恶意代码的好处显而易见,由于大部分审计工具都在user space运行,管理员通常很难发现恶意软件的存在,这就带来了上面的方法所不能达到的隐蔽性。

可以参考:https://www.freebuf.com/articles/system/188211.html

四、其他参考链接

https://www.secrss.com/articles/24416

https://zhuanlan.zhihu.com/p/58377372

https://en.wikipedia.org/wiki/BadUSB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值