工作电脑被偷的 30 分钟后,公司内网就进人了。
不仅拥有活动目录上的基本特权,还能在内部文件中来去自如!
可我那保护重重的 Windows 防火墙呢?
我那可以生成和存储各种密钥的 TPM 芯片呢?
黑客到底是怎么越过这些阻碍的?
绕过 TPM
好,现在请出我们的受害者 ——
一台 Windows 10 系统的联想笔记本电脑。
使用的是微软的 BitLocker,通过微软的可信平台模块(TPM)加密。
这时,要提取驱动器解密密钥进而入侵内网,就需要从 TPM 入手:
不过这是一种结构高度复杂,且含有许多篡改检测和保护的硬件。直接攻击可能会花费大量时间。
因此,我们可以关注一下 TPM 周围的依赖关系和内容。
比如…… 并没有使用 TPM 2.0 标准的加密通信特性的 BitLocker。
这意味着从 TPM 发出的数据都是以明文形式游走在 SPI 总线上的,包括 Windows 的解密密钥。
如果能抓住那个密钥,就能够解密驱动器,获得 VPN 客户端配置的访问权限,进而有访问内部网络的可能。
可现在问题又来了。
要抓取 SPI 总线上的数据,就要将引线或探针连接到 TPM 的引脚上。
而这个“引脚”只有 0.25 毫米宽,0.5 毫米间隔,还是一个平放在芯片面上,难以用物理方式连接的伪・引脚。
那有没有更大,更好连接的呢?
还真有:
这是与 TPM 共享一个 SPI 总线的 CMOS 芯片,它的引脚非常清晰分明。
好,Saleae 逻辑分析仪,连接!
从预登陆功能的“后门”入侵
现在,探测仪已经连接,开始启动电脑。
我们现在需要在数以百万计的 SPI 字节中,找到一个正在被发送的 BitLocker 解密密钥。
先用高级分析器(HLA)进行事务分析:
经过几天的故障排除和比较之后,我们发现了 TPM 命令包的不同位掩码的组合,以及用于寻找密钥的不同正则表达式。
再用 bitlocker-spi-toolkit 解析这些请求,钥匙就拿到了!
接下来让我们用钥匙解密固盘(SSD),看看里面到底有什么。
拔出固态硬盘,安装在一个适配器上,然后插上:
在做了一个磁盘镜像之后,我们使用 Dislocker 工具集来解密驱动器:
现在就可以离线访问内容的明文了!
此外,我们还发现了正在使用的 VPN 客户端: Palo Alto 的全球保护(GP)。
GP 有一项预登陆(Pre-logon)功能,会对端点(而不是用户)进行身份验证,并允许域脚本或其他任务在端点启动后立即运行。
这样,我们就可以使用粘滞键后门(Sticky Keys Backdoor),在不需要任何凭证的的前提下访问 VPN。
有了后门访问之后,我们需要将解密后的 Windows 映像引导为虚拟机。
因此,先创建一个 VMDK,将解密 BitLocker 分区和加密映像的起始扇区映射到适当的 VM 分区:
再使用 VMDK 和粘滞键后门的 WIndows 镜像,创建并启动虚拟机,按下 WIndows + U:
△全球保护状态:已连接
然后就可以在域中运行基本的 SMB 命令了。
比如查询如用户、组、系统等网域控制器的各种类型的领域信息。
或者列出并查看中小企业内部共享的文件内容:
还可以通过访问这个电脑帐户来发动内部攻击。
比如将一个文件写入内部文件服务器,并将其读回:
至此,我们已经获得了内部网络的访问权限 ——
包括在活动目录上的基本特权,以及对内部文件共享的访问权限。
而以此开始做 LNK 攻击或 trojaned pdf 等入侵,最终致使数据泄露也就有了可能。
Windows11 更新强制要求设备有 TPM2.0
当然,上述的所有过程都不是真的黑客攻击。
而是美国的一家网络安全公司 Dolos Group 面对客户疑惑的回应:
你能用偷来的笔记本干什么?能进入我们的内网吗?
因此,Dolos Group 团队就展示了如何使用一台“被盗”的公司笔记本电脑,将几个漏洞链接在一起,最后进入公司内网。
而让人注意的是,Dolos Group 团队在入侵的最开始就提到:
BitLocker 没有使用 TPM 2.0 标准的加密通信特性。
这不禁让人想到了 Windows11 更新时强制要求设备有 TPM2.0 的措施:
所以,2.0 版本对比 1.X 标准都增加了哪些功能?
简单来说,TPM 2.0 大幅增加了模块内置加密算法的种类和安全性。
因此兼容的软件和场景更多,生成的密码更长更难破解。
结合上文对适用了旧版本 TPM 的电脑的入侵,微软会将 TPM2.0 列入 Windows 11 的必须硬件配置列表中,似乎也就不难理解了。
不过,也有网友对此表示:
为了避免这种问题,你应该有一个必要的外部密码来解锁硬盘,而非 TPM。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/37473.html