我在具有域名并且可从公司网络外部访问的高级办公打印机上进行了 nmap 扫描。令人惊讶的是,我发现了许多开放端口,例如 http:80、https:443 和 svrloc:427 等。操作系统指纹在某处说:“...x86_64-unknown-linux-gnu...”,这可能表明这是某种嵌入式 Linux,运行某些服务器软件以实现打印机的功能。
我如何知道这台打印机是否增加了网络上的攻击面?例如,是否可以通过远程提权漏洞利用它。然后对网络中的其他主机发起隧道攻击?
我在具有域名并且可从公司网络外部访问的高级办公打印机上进行了 nmap 扫描。令人惊讶的是,我发现了许多开放端口,例如 http:80、https:443 和 svrloc:427 等。操作系统指纹在某处说:“...x86_64-unknown-linux-gnu...”,这可能表明这是某种嵌入式 Linux,运行某些服务器软件以实现打印机的功能。
我如何知道这台打印机是否增加了网络上的攻击面?例如,是否可以通过远程提权漏洞利用它。然后对网络中的其他主机发起隧道攻击?
您可以在玩打印机、复印机和其他此类设备(甚至是 UPS)时获得一些真正的乐趣。安全通常充其量只是事后的想法,如果不是完全不存在的话。
我见过的东西:
这就是事情变得更加有趣的地方。使用打印机后,您通常可以从 SMB 握手中获取用户名和其他有趣的信息。您还经常会发现打印机 Web 控制面板的密码被重新用于其他网络凭据。
但是,归根结底,打印机是网络上的内部机器。这意味着您可以使用它对网络上的其他机器进行隧道攻击。有几次我设法将 gcc 和 nmap 放到复印机上,然后我将其用作操作的基础。
解决方案是什么?首先,您需要认识到打印机和复印机通常是成熟的计算机,通常在 ARM 处理器上运行嵌入式 Linux。其次,您需要锁定它们:
0.0.0.0
,因此它们可以很容易地潜入 WAN。总而言之,如果它是插入您网络的设备,它可能是pwnable 的,并且应该成为您风险管理的一部分。
这里的主要问题是您的打印机可以从网络外部访问。我从未见过需要从网络外部访问打印机的情况,我的意思是永远!我建议你尽快解决这个问题!
打印机的功能比大多数人意识到的要多,但是可以通过保持更新、关闭 http 等不安全的选项以及更改管理员密码来管理风险。
打印机通常会维护打印文档的日志,有时包含可以远程下载的文档本身的副本。即使文档本身不是敏感的元数据,有时也会泄露文件服务器名称、发送它的计算机、用户名等信息……
通常,打印机是许多网络中看不见且无法缓解的风险。我们倾向于不将它们视为计算机,但事实上几乎所有现代网络打印机都有一个相当复杂的打印服务器,通常运行某种形式的嵌入式 linux,而且很少考虑安全性。由于他们有一个成熟的微控制器,理论上可以通过计算机或网络上的开放网络插孔进行的任何攻击也可以通过打印机进行。
在接近直接连接到网络的打印机时,我首先会问为什么它需要在那里而不是通过其他类型的打印服务来请求将文档排队到它。如果有一个令人信服的理由让它存在于您的网络外部,是否有理由需要允许它进入网络?如果它可用于 Internet,则内部用户可以通过 Internet 连接到它,就像网络外部的人一样。这也可以提供一些隔离。