攻击办公室打印机?

信息安全 tls linux http 漏洞扫描器
2021-08-14 01:14:17

我在具有域名并且可从公司网络外部访问的高级办公打印机上进行了 nmap 扫描。令人惊讶的是,我发现了许多开放端口,例如 http:80、https:443 和 svrloc:427 等。操作系统指纹在某处说:“...x86_64-unknown-linux-gnu...”,这可能表明这是某种嵌入式 Linux,运行某些服务器软件以实现打印机的功能。

我如何知道这台打印机是否增加了网络上的攻击面?例如,是否可以通过远程提权漏洞利用它。然后对网络中的其他主机发起隧道攻击?

4个回答

您可以在玩打印机、复印机和其他此类设备(甚至是 UPS)时获得一些真正的乐趣。安全通常充其量只是事后的想法,如果不是完全不存在的话。

我见过的东西:

  • 随处使用的默认凭据,以及通常在生成的配置文件中以纯文本形式存储密码的基于 Web 的配置面板。我从未见过比普通 MD5 密码更好的东西,在一种情况下,我看到了 CRC32。
  • 文档名称和用户名通过 SNMP 泄露,通常是通过对设备的开放式读取访问以及通过不使用传输安全性的 SNMPv1/2。
  • 默认或非常弱的 SNMP 私有命名空间名称(通常是“私有”、“SNMP”或制造商名称),允许您远程重新配置 TCP/IP 设置、向路由表中注入条目等,并且通常有一些方法可以更改无法在控制面板中设置的设置。软砖设备非常简单。
  • 在默认设置中启用设备上的 UPnP,允许更多远程配置的乐趣。通常,您可以打印测试页、硬重置设备、重置 Web 面板凭据等。同样,通常可以修改 TCP/IP 设置和其他网络属性。
  • 非常过时的 2.2.x 和 2.4.x 内核,通常有很多很好的根权限提升漏洞。
  • 系统上编写错误的固件升级脚本,允许您将任意固件闪存到内部微控制器。如果您愿意花费大量时间来开发它,您可以使用它来构建设备,或者安装一个 rootkit。
  • 自定义或旧的 SMB 守护程序,通常容易受到 RCE 的攻击。易于远程pwn。
  • 服务以 root 身份运行,用户组设置不正确,文件权限设置不正确。
  • 打印作业通过执行 shell 脚本异步运行,从而可以轻松地将您的权限提升到守护程序(通常是 root)的权限。
  • 设备内置的 FTP 服务器编写不佳。我敢打赌,fuzzer 可能会使大多数 FTP 守护进程崩溃。
  • 所有常见的 webapp 都会失败,尤其是文件上传漏洞。

这就是事情变得更加有趣的地方。使用打印机后,您通常可以从 SMB 握手中获取用户名和其他有趣的信息。您还经常会发现打印机 Web 控制面板的密码被重新用于其他网络凭据。

但是,归根结底,打印机是网络上的内部机器。这意味着您可以使用它对网络上的其他机器进行隧道攻击。有几次我设法将 gcc 和 nmap 放到复印机上,然后我将其用作操作的基础。

解决方案是什么?首先,您需要认识到打印机和复印机通常是成熟的计算机,通常在 ARM 处理器上运行嵌入式 Linux。其次,您需要锁定它们:

  • 将设备的固件更新到最新版本。
  • 将打印机与 Internet 隔离。这应该很明显,但经常被忽略。基于 TCP/IP 的打印机/复印机通常绑定到0.0.0.0,因此它们可以很容易地潜入 WAN。
  • 如果您可以让打印机仅侦听来自 LAN 的流量,请执行此操作。
  • 在 Web 控制面板上更改默认凭据。同样,很明显,但仍然不经常这样做。
  • 找到设备上运行的任何服务并尝试自己闯入它们。进入后,更改密码并关闭不必要的内容。
  • 为自己获取一个 SNMP 发现工具,并深入了解您的打印机可用的内容。SNMP 有一些学习曲线,但值得一看。
  • 如果您进行内部网络监控,请设置一个规则来观察打印机是否出现任何异常情况。这可以直接减少误报,并为您提供一个很好的指示,了解何时发生了一些狡猾的事情。

总而言之,如果它是插入您网络的设备,它可能是pwnable 的,并且应该成为您风险管理的一部分。

这里的主要问题是您的打印机可以从网络外部访问。从未见过需要从网络外部访问打印机的情况,我的意思是永远!我建议你尽快解决这个问题!

打印机的功能比大多数人意识到的要多,但是可以通过保持更新、关闭 http 等不安全的选项以及更改管理员密码来管理风险。

打印机通常会维护打印文档的日志,有时包含可以远程下载的文档本身的副本。即使文档本身不是敏感的元数据,有时也会泄露文件服务器名称、发送它的计算机、用户名等信息……

通常,打印机是许多网络中看不见且无法缓解的风险。我们倾向于不将它们视为计算机,但事实上几乎所有现代网络打印机都有一个相当复杂的打印服务器,通常运行某种形式的嵌入式 linux,而且很少考虑安全性。由于他们有一个成熟的微控制器,理论上可以通过计算机或网络上的开放网络插孔进行的任何攻击也可以通过打印机进行。

在接近直接连接到网络的打印机时,我首先会问为什么它需要在那里而不是通过其他类型的打印服务来请求将文档排队到它。如果有一个令人信服的理由让它存在于您的网络外部,是否有理由需要允许它进入网络?如果它可用于 Internet,则内部用户可以通过 Internet 连接到它,就像网络外部的人一样。这也可以提供一些隔离。