bitlocker加密后未锁(加密盘BitLocker爆锁屏绕过严重漏洞)

bitlocker加密后未锁(加密盘BitLocker爆锁屏绕过严重漏洞)(1)

BitLocker Windows内置现代设备级数据加密保护功能,BitLocker与Windows内核深度集成。有大量的企业和个人使用BitLocker加密自己关键数据,以防止数据泄密。BitLocker作为一种安全手段其本身也常常是安全测试和渗透的目标之一,也暴露过一些问题.

最近安全研究者Jonas Lykkegård发现了BitLocker的锁屏绕过高危漏洞CVE-2020-1398,可以绕过BitLocker的密码安全认证过程,影响的系统包括Windows 10,windows server等多个windows操作系统。

bitlocker加密后未锁(加密盘BitLocker爆锁屏绕过严重漏洞)(2)

概述

通过6个简单的步骤绕过BitLocker。对给定未知密码和受BitLocker保护的硬盘驱动器Windows 10系统,可以通过执行以下操作来添加管理员帐户:

登录屏幕上,选择"我忘记了密码"。

绕过锁定并启用可移动驱动器的自动播放。

插入带有特别制作的.exe和连接文件夹的USB记忆棒。

运行可执行文件。

卸载驱动器,然后再放回去,进入主屏幕。

启动讲述人,将执行之前植入的dll有效负载。

就会,自动添加了一个名为hax的用户帐户,其密码为"hax",该用户具有Administrators成员身份。要使用要登录的帐户更新列表,请单击我忘记密码,然后返回主屏幕。

锁定屏幕绕过

首先,选择"我忘记了密码/PIN"。此选项将启动一个附加会话,可根据需要创建/删除一个帐户。用户个人资料服务将其称为默认帐户。它的第一个可用名称为defaultuser1,defaultuser100000,defaultuser100001等。

要绕过锁定,必须使用讲述人(Narrato),因为该上下文中设法启动某些内容,也无法看到它,如果使用讲述人,将能够对其进行导航。

bitlocker加密后未锁(加密盘BitLocker爆锁屏绕过严重漏洞)(3)

如果我们连续快速地按了5次,则会出现一个打开设置应用程序的链接,该链接实际上可用。但是无法看到启动的设置应用程序。对重点关注已启动的应用程序,单击链接,然后单击可以在正确的时间显示启动的应用程序的位置。

最简单的方法是,每秒大约两次单击链接,粘滞键窗口将会消失。继续点击,将在屏幕中间看到一个焦点框。那是设置应用程序,当获得焦点时马上停止单击。

现在,可以使用CapsLock 向左箭头导航设置应用程序,按此按钮直至到达"主页"。

当主页具有焦点时,按住Caps Lock并按Enter。使用CapsLock 向右箭头导航到设备,然后在焦点对准CapsLock Enter时输入。

bitlocker加密后未锁(加密盘BitLocker爆锁屏绕过严重漏洞)(4)

导航至自动播放,单击CapsLock Enter,然后选择"打开文件夹以查看文件(文件资源管理器)"。

然后,插入准备好的USB驱动器,等待几秒钟,讲述人将宣布驱动器已打开,并且窗口已聚焦。

选择文件Exploit.exe并使用CapsLock Enter执行。这样无需使用任何密码,可以实现任意代码执,。但是,受限制为默认配置文件。

特权提升

安装USB记忆棒后,BitLocker将在"系统卷信息"中创建一个名为ClientRecoveryPasswordRotation的目录,并将权限设置为:

NT AUTHORITY\Authenticated Users:(F) NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)

要重定向创建操作,需要在NT名称空间中使用符号链接,利用它可以控制文件名,并且链接的存在并不会导致报错退出。

使用USB驱动器并以\System Volume Information为\RPC Control挂载点。然后做出一个\RPC Control\ClientRecoveryPasswordRotation符号链接指向\??\C:\windows\system32\Narrator.exe.local。

如果重新插入USB记忆棒,C:\windows\system32\Narrator.exe.local则会创建具有允许创建子目录的权限的文件夹:

amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.657_none_e6c5b579130e3898

在该子目录中,删除了一个名为comctl32.dll的有效负载DLL。下次触发讲述人时,它将加载DLL。顺便说一句,选择了讲述人,因为它可以实现从登录屏幕作为系统服务触发,并且不会自动加载,因此,如果出现任何问题,仍然还可以启动。

结合起来

ClientRecoveryPasswordRotation利用需要的符号链接到\RPC Control。USB驱动器上的可执行文件用两次调用来创建链接DefineDosDevice,从而让该链接成为永久链接,以便它们可以在需要时注销/登录。

然后启动一个循环,其中可执行文件将执行以下操作:

尝试创建子目录。

将有效负载comctl32.dll植入其中。

很容易看到循环何时运行,因为讲述人将移动其焦点框并每秒说一次"访问被拒绝"。现在,可以使用在中创建的链接RPC Control。拔下USB记忆棒,然后重新插入。可写目录将在中创建System32;在下一个循环迭代中,将会植入有效负载,并退出exploit.exe。若要测试漏洞利用程序是否成功,请关闭讲述人,然后尝试重新启动它。

如果讲述人不起作用,那是因为DLL已植入,并且讲述人执行了该DLL,但是由于它以defaultuser1启动,因此无法添加帐户。植入有效负载后,将需要单击返回登录屏幕并启动讲述人。会发出3声哔哔声,并显示一个消息框,说明已加载DLL。帐户已创建,但是并没有显示在列表中。

按"我忘记了密码",然后单击返回以更新列表。

应该会出现一个名为hax的新帐户,密码为hax。

制作利用的USB

按照以下步骤设置USB记忆棒:

C:\Users\jonas>format D: /fs:ntfs /q Insert new disk for drive D: Press ENTER when ready... ----- File System: NTFS. Quick Formatting 30.0 GB Volume label (32 characters, ENTER for none)? Creating file system structures. Format complete. 30.0 GB total disk space. 30.0 GB are available.

接着,需要将admin提升为delete System Volume Information。

C:\Users\jonas>d: D:\>takeown /F "System Volume Information"

结果:

SUCCESS: The file (or folder): "D:\System Volume Information"

然后

D:\>icacls "System Volume Information" /grant Everyone:(F) Processed file: System Volume Information Successfully processed 1 files; Failed processing 0 files D:\>rmdir /s /q "System Volume Information"

使用James Forshaw的工具(附带)创建安装点。

D:\>createmountpoint "System Volume Information" "\RPC Control"

然后将附件的exploit.exe复制

D:\>copy c:\Users\jonas\source\repos\exploitKit\x64\Release\exploit.exe . 1 file(s) copied.

总结:

爆锁屏绕过和权限提升漏洞CVE-2020-1398,被评定为一个严重漏洞,微软已经提供了了,对应的升级补丁,请使用BitLocker功能的用户及时修补。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页