长亭百川云 - 文章详情

BitLocker锁屏绕过

木星安全实验室

57

2024-07-13

BitLocker是一种现代数据保护功能,已与Windows内核深度集成。它的加密功能可用于保护公司机密。Microsoft建议使用受信任的平台模块来完成一些繁重的加密任务。

绕过BitLocker的6个步骤

在Windows 10系统没有加密、硬盘驱动器受BitLocker保护的情况下,可以执行以下操作来添加管理员帐户:

  • 在登录页面上,选择“忘记密码”。

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

  • 插入带有.exe和连接文件夹的U盘。

  • 运行可执行文件。

  • 移除U盘,然后再重新插进电脑,进入主页面。

  • 启动Narrator,执行之前植入的DLL有效载荷。

添加了一个名为hax的用户帐户,其密码为“ hax”,拥有管理员身份。用需要登录的帐户更新列表,单击“忘记密码”,然后返回主页面。

绕过

锁屏

首先,选择“忘记密码”。这个选项会启动一个附加会话,并根据需要创建/删除帐户。用户个人资料服务把它当作默认帐户。它的第一个名称为defaultuser1,defaultuser100000,defaultuser100001,以此类推。

要绕过锁定就必须用“Narrator”,因为如果我们设法启动某些内容,我们是看不到这些内容的,但用“Narrator”,我们将能够对其进行操控。但是,如何启动我们想要的内容?

如果我们连续快速地按5次shift键,就会弹出一个打开“设置”应用程序的链接,该链接实际上是有效的。我们看不到已启动的“设置”应用程序。点击链接,程序启动后,点击其可以看得到的地方。最简单的方法就是,每秒点击两次该链接。粘滞键窗口会消失。继续点击!然后,“设置”应用程序就会出现的屏幕中央,现在,你可以停止点击了。

现在,用CapsLock +左箭头操作“设置”应用程序,按着直到回到“主页”。回到“主页”后,按住CapsLock,再按Enter。用CapsLock +右箭头操作“设置”,页面锁定后,按CapsLock + Enter进入“设备”。

进入“自动播放”页面,点击CapsLock + Enter,然后选择“打开文件夹查看文件(文件资源管理器)”。现在插入准备好的U盘,等待几秒钟,Narrator告知驱动器已打开,窗口已锁定。选择Exploit.exe文件,用CapsLock + Enter执行。这是任意代码执行,且无需任何密码。但是,我们只能运行默认配置文件。

由于无法截屏,所以我用手机录了个视频。

特权提升

挂载U盘后,BitLocker会在“System Volume Information”文件夹中创建一个名为ClientRecoveryPasswordRotation的目录,并将权限设置为:

NT AUTHORITY\Authenticated Users:(F)

重定向创建操作,需要在NT名称空间中使用符号链接,因为它能让我们控制文件名,且该链接的存在并不会终止操作。

所以,用USB驱动器,把\System Volume Information作为挂载点,挂载\RPC Control。然后编写一个符号链接\RPC Control\ClientRecoveryPasswordRotation指向\??\C:\windows\system32\Narrator.exe.local。如果重新插入U盘,会创建一个C:\windows\system32\Narrator.exe.local文件夹,我们有权限在文件夹里创建子目录:

amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.657_none_e6c5b579130e3898

删除子目录里一个叫comctl32.dll的有效载荷DLL 。下次触发Narrator时,它会加载DLL。顺便说一句,我选了Narrator,因为在登录页面,它可以作为系统服务触发,且不会自动加载,所以就算出现任何问题我们仍然可以启动。

结合

ClientRecoveryPasswordRotation开发工作需要用到\RPC Control的符号链接。USB驱动器上的可执行文件用对DefineDosDevice进行两次调用,创建链接,让该链接成为永久链接,可以随时注销/登录。

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

  • 尝试创建子目录。

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

我们可以清楚地看到循环何时运行,因为Narrator会移动焦点框,且每秒显示一次“访问被拒绝”。现在,我们可以使用RPC Control创建的链接。拔掉U盘,然后重新插入。在System32创建可写入目录;在下一个循环迭代会植入有效载荷,退出exploit.exe。若要测试漏洞利用程序是否成功,请重启“Narrator”。

如果Narrator不起作用,那是因为已植入DLL,且Narrator执行了该DLL,但是由于它以defaultuser1的身份启动,所以无法添加帐户。植入有效载荷后,要点击返回登录页面,启动“Narrator”。接着会发出3声哔哔声,一个消息框弹出来,显示SYSTEM,说明已加载DLL。帐户已创建,但不在列表中。点击“忘记密码”,然后单击返回,更新列表。

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

制作

恶意的U盘

按照以下步骤保护USB设备:

C:\Users\jonas>format D: /fs:ntfs /q

把新的磁盘插入D驱动:

准备好后按ENTER键

-----

文件系统: NTFS.

快速格式化 30.0 GB

卷标 (32 字符, 直接按ENTER键)?

创建文件系统结构

格式化完成

30.0 GB磁盘空间

30.0 GB全部可用

现在,我们需要升级为管理员,删除System Volume Information。

C:\Users\jonas>d:

然后会变成

SUCCESS: The file (or folder): "D:\System Volume Information" now owned by user "DESKTOP-LTJEFST\jonas".

接着我们可以

D:\>icacls "System Volume Information" /grant Everyone:(F)

用James Forshaw的工具创建挂载点。

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

然后把附件的exploit.exe复制进去。

D:\>copy c:\Users\jonas\source\repos\exploitKit\x64\Release\exploit.exe .

复制一个文件。

补丁

我上报了这个漏洞,分配到的序列号是CVE-2020-1398。它的补丁是https://msrc.microsoft.com/update-guide/en-us/vulnerability/CVE-2020-1398。

木星安全实验室(MxLab),由中国网安·广州三零卫士成立,汇聚国内多名安全专家和反间谍专家组建而成,深耕工控安全、IoT安全、红队评估、反间谍、数据保护、APT分析等高级安全领域,木星安全实验室坚持在反间谍和业务安全的领域进行探索和研究。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2