关于 Jonathan Brossard 的Hardware Backdooring 是2012 年 Def Con 20 的实用演讲:
开发人员所说的“payload is booted via Networkboot”是什么意思?
bootkit(Kon-Boot 的修改版)如何远程感染连接的硬盘?
这是否意味着服务器上某处有一个引导分区,而 Rakshasa 连接到该分区并使其成为受害者 PC 上物理连接的硬盘驱动器的引导分区?
关于 Jonathan Brossard 的Hardware Backdooring 是2012 年 Def Con 20 的实用演讲:
开发人员所说的“payload is booted via Networkboot”是什么意思?
bootkit(Kon-Boot 的修改版)如何远程感染连接的硬盘?
这是否意味着服务器上某处有一个引导分区,而 Rakshasa 连接到该分区并使其成为受害者 PC 上物理连接的硬盘驱动器的引导分区?
Rakshasa 的创建者的目标是避免将任何可能被防病毒软件标记的恶意软件存储在机器的任何位置(无论是在硬盘上、固件中还是其他任何地方)。
为了实现这一点,Jonathan Brossard(以他的名字称呼创造者)按照以下原则实现了罗刹:
所以,如果我回到你的问题:
bootkit [...] 如何远程感染连接的硬盘?
这里没有发生远程感染。
实际上,创作者在最初的污染步骤上走得非常快,这超出了他的演示范围。他提到,最初的污染可能是由硬件供应商自己造成的,在交付过程中被扣押的包裹,或由任何可以物理接触机器的人造成的(即使某些基于 TPM 的安全措施可能会使这种情况持续下去)再难一个)。
通过恶意软件进行污染也应该是可能的,但这里又出现了防病毒检测问题,因为尝试刷新 BIOS 和网卡固件不是通常的软件行为的一部分......
无论如何,本演示文稿的大部分内容都考虑了一台已经被感染的机器。这意味着:
这是否意味着服务器上某处有一个引导分区,而Rakshasa连接到该分区...
它不是真正的引导分区。它只是一个启动映像,实际上是标准文件(为了示例,演示者甚至使用.pdf扩展名来命名它们)包含要在机器启动期间下载和执行的二进制代码。
如前所述,您通常会在公司环境中为瘦客户端、信息亭计算机和作为救援系统实施此类系统:此类系统不会从本地硬盘读取引导指令,而是从下载的文件中读取指令。
...并且可以这么说受害者电脑上物理连接的硬盘驱动器的引导分区?
在上面提到的企业示例中,将使用下载的引导映像而不是硬盘,因为可能根本没有任何硬盘(瘦客户端、kiosk 计算机)或者因为硬盘可能没有不再可启动,需要重新映像(企业网络救援系统)。
因此,此类引导映像包含一个完整的操作系统,专用于它应该用于什么。
Rakshasa 使用了标准的方式,相反,并不意味着要完全取代原来的操作系统:它希望对用户尽可能透明。
因此,下载的引导映像将不包含完整的操作系统,其代码将仅:
作为旁注(我不记得在演示过程中是否提到过),虽然这个“第一个可引导分区”通常是硬盘,但如果机器所有者从CD 而不是硬盘。这具有一定的重要性,因为这意味着从 Live-CD 引导(通常建议避免恶意软件和后门程序)不会为此类威胁带来任何安全性。
是的,你已经正确地推断出 Rakshasa 正在做什么,除了硬盘本身从未被感染,也没有任何妥协的证据。这种妥协只作为非恶意代码存在于 BIOS 中,它从只存在于 RAM 中的网络服务器加载恶意代码。
那是一段很长的视频供我们观看和回顾,所以我只是跳过了一堆并阅读了 DarkReading的文章,因此可能错过了一些关键。如果是这样,请注意与您的问题相关的时间范围。
我正在查看12:22有关使用iPXE的幻灯片,这是一个网络引导系统,维基百科指出“可用于使没有内置 PXE 支持的计算机从网络引导,或扩展现有的 PXE 客户端实现因此它支持其他协议。”
iPXE 用于通过网络引导系统,从远程主机拉取 bootkit。在16:29,演讲者Jonathan Brossard指出:
bootkit 从不接触磁盘,也没有嵌入到您的 PCI 扩展 ROM 或 BIOS ROM 中。
这是一个完整的网络引导系统。如另一张幻灯片 (at 16:09) 中所述,“恶意软件:在启动时获取,仅存储在 RAM 中”。 KON-BOOT是用于绕过密码(erm,“恢复”)的可启动 Live CD,是本地操作系统(无论是 Windows、OS X 还是 Linux)的包装器,无需密码即可授予 root/管理员访问权限。Rakshasa 的修改为这个受感染的系统引入了更多的恶意软件。
有了完全的 root 访问权限以及受损的 BIOS 和受损的内核,Rakshasa 几乎可以做任何事情。Brossard 选择妥协一些 CPU 指令并引入异常,从而导致进一步的欺骗。
关于 Linux: 似乎 Linux 支持已从 KON-BOOT 文档中删除,但我怀疑它仍然存在。使用启动盘进入 Linux 实际上很简单:启动任何 Linux Live CD,挂载/etc,然后更改 root 用户的密码哈希/etc/shadow。这甚至可以使用UnionFS之类的东西非破坏性地完成,而无需接触本地磁盘。
但是,这只是获得root访问权限的方法。
为了做 Rakshasa 似乎做的事情,需要一个自定义内核(或自定义内核模块?)。支持每一个 Linux 内核是不切实际的,除非我们谈论的是高度针对性的攻击,所以我想一个攻击框架只能支持像 Ubuntu LTS 和 Red Hat Enterprise 这样的系统,它们都不会随着时间的推移而变化很大(而且两者都有其中很受欢迎)。
如果/etc是加密的,那么您的shadow文件不太可能被弄脏,尽管 UnionFS 理论上可以胜过它而无需读取它。也就是说,加载流氓内核(或流氓内核模块)将允许无限领域的事物,并且根本不需要该shadow文件。