破解LastPass:即时解锁密码库
2020-07-28 11:15:00 Author: www.4hou.com(查看原文) 阅读量:388 收藏

chromelastpass_1200x630.jpg

Lastpass是一个在线密码管理器和页面过滤器,采用了强大的加密算法,自动登录/云同步/跨平台/支持多款浏览器。

LastPass的功能有:

1. 创建强密码,只需用主密码登录一次;

2. 自动填写表格,节省你的时间;

3. 你经常访问的网站只需一次点击 ,无需重复输入密码;

4. 无缝访问和管理来自多台计算机的数据;

5. 与朋友分享登录和让别人分享你的登录信息;

6. 使用一次性密码,屏幕和键盘时,可保持你的连接安全;

7. 支持IE浏览器,并将与使用的其他浏览器保持同步,支持多台计算机;

8. 支持Firefox ,Opera,谷歌浏览器,Safari浏览器,iPhone,Opera Mini(通过bookmarklets)

9. 支持导入其他密码管理器,如RoboForm ,Keepass,PasswordSafe,MyPasswordSafe,Sxipper,TurboPasswords,PassPack,Firefox和IE 内置的密码管理;

10. 导出你的可用数据包括插件和网站,甚至回到Firefox浏览器;

11. 在Windows 中,可以帮助你恢复存储在计算机上丢失的密码;

12. 捕获密码,其他密码管理器不会捕捉像AJAX的登录工作的,例如美国银行登录的步骤,像用'保存所有输入的数据'功能的荷兰银行的网站;

13. 使移动到一个新的计算机或使用多台电脑更容易;

14. 你的敏感数据加密采用AES加密在本地,然后上传,在其他电脑或其他浏览器调用(IE浏览器也支持浏览器同步;

15. 支持绑定第三方验证工具 如Google Authenticator。

像LastPass这样的密码管理器是从头开始设计的,以抵御对密码数据库的强力攻击。通过使用加密和数千次哈希迭代,可以降低访问包含用户所有存储密码的加密保险库的速度。在本文中,我们将演示如何在不进行长度攻击的情况下即时解锁LastPass密码库。

破解LastPass密码库是否可行?

从技术上讲,LastPass将所有密码和其他身份验证凭据保存在一个SQLite数据库中。数据库由密码保护,而密码又用于生成加密密钥,根据平台的不同,加密密钥需要经过大约5000到100000轮的哈希操作。

出于安全原因,台式机平台可提供最佳保护。我们从Windows计算机获得的LastPass数据库受到100100次哈希迭代的保护。直接攻击数据库将导致以下速度:

1.png

使用GeForce 2070 GPU每秒攻击15500个密码的速度是平均水平,如果用户设置一个长而复杂的主密码,而不是基于字典上的单词组合,则可以为密码数据库提供合理的保护。

由于大多数客户是使用移动设备访问账户和打开文档,LastPass也在iOS和Android平台上提供移动应用程序。这些平台的共同特点是触摸屏。与物理键盘不同,触摸屏没有“运动学习”功能。因此,在输入长而复杂的密码时,它们并不是最佳选择。这使得经常选择在移动设备上解锁其受保护保险库的用户选择的主密码更为简单。虽然Touch ID或Face ID确实有助于避免输入主密码,但是仍需要不时使用主密码进行身份验证。

LastPass密码数据库也可以从Android和iOS设备中获得(文件系统级访问需要通过unc0ver或无根提取)。在Android上,LastPass仅使用5000轮哈希来使用较弱的保护。相应地,与Windows版本相比,攻击速度要高得多。但是获得root访问权限或对Android设备的文件系统进行映像可能很困难或不可能。

如果使用单一的NVIDIA GeForce 2070 GPU,从Android设备获得的LastPass密码数据库的强力速度可以达到每秒309000个密码。我们认为这个速度比较高,每秒攻击309000个密码,可以在合理的时间内恢复复杂的主密码。例如,一个7个字符的密码包含一些数字、小写字母和大写字母,但没有特殊字符(移动设备的典型特征),可以在不到3个月内恢复,而破解一个更短的6个字符的密码则需要不到3天的时间。

然而,有一种特殊情况,不需要暴力破解就可以解锁受保护的保险库。

使用Chrome扩展

LastPass可以作为扩展安装在谷歌Chrome和新的基于Chrome的Microsoft Edge浏览器中。

2.png

浏览器扩展程序可以说是自动填充网页密码的最便捷方法,由于大多数密码都会保护在线资源,因此许多用户会跳过桌面应用程序,而只使用Chrome扩展程序。

LastPass在Chrome扩展程序中发布了相同级别的安全性保护用户密码数据库:

1. 只有你知道你的主密码,只有你可以进入你的保险库。

2. 你的主密码从未与LastPass共享,这就是为什么数以百万计的人和企业相信LastPass会保护他们的信息安全。

但事实上,LastPas并不安全

但安全专家发现情况并不总是如此,事实上,LastPas并不安全从来都没有安全过。如果用户安装了Chrome扩展并使用主密码保护了密码库,那么如果用户选择“记住密码”复选框,扩展可能会将用户的主密码缓存到主数据库中。

3.png

为什么要使用“记住密码”选项?与其他密码管理器类似,LastPass将要求用户通过输入保险库密码对每个会话进行身份验证。按照设计,保险库密码应该非常长且复杂。将保险库密码存储在保险库中是一种避免输入的自然方法,然而,如果选择“记住密码”选项,LastPass似乎不能充分保护主密钥。该漏洞(asLastPass-Vul-1)存在于LastPass主密码记忆机制的不安全设计中。如图2所示,LastPass甚至可以将用户的主密码(使用BCPM用户名)保存到本地SQLite[40]数据库tableLastPassSavedLogins2中,从而允许用户在再次使用LastPass时自动进行身份验证。

目前,这个漏洞仍然存在于所有最新版本的LastPass Chrome扩展中。研究人员在谷歌Chrome 80.0.3987.146中使用了LastPass 4.44.0,该漏洞目前还运行在Windows 10 x64中。因此,取证专家可能能够即时提取并解密密码库,而不需要暴力破解主密码,但前提是用户选择了“记住密码”复选框。

未使用Windows数据保护API

有人可能会说,提取由Google Chrome浏览器存储的密码与使用第三方工具(例如Elcomsoft Internet Password Breaker)的方法类似。 但Chrome和LastPass密码存储之间的区别在于Chrome使用Microsoft的Data Protection API,而LastPass不使用。

实际上,Google Chrome浏览器确实存储了用户的密码。与第三方密码管理器类似,Chrome浏览器的Windows版本在存储时会加密密码。默认情况下,加密数据库不受主密码保护;相反,Chrome使用Windows 2000中引入的数据保护API(DPAPI)。DPAPI使用AES-256加密密码数据。为了访问密码,必须使用用户的Windows凭据(使用登录名和密码,PIN码或Windows Hello进行身份验证)登录。因此,Google Chrome密码存储具有与用户Windows登录相同的保护级别。

这样知道用户的登录名和密码或劫持当前会话的人就可以访问存储的密码,而这正是我们在Elcomsoft Internet Password Breaker中提取密码的原理。

4.png

然而,为了从Chrome或Microsoft Edge等Web浏览器中提取密码,必须拥有用户的Windows登录名和密码,否则就会劫持经过身份验证的会话。在不知道用户密码的情况下分析“冷”磁盘映像将无法访问Chrome或Edge缓存的密码。

这与LastPass的Chrome扩展不同,对于LastPass数据库,攻击者不需要macOS帐户密码的用户Windows登录凭证。需要的只是包含加密密码数据库的文件,这可以很容易地从取证磁盘映像获得该数据库。既不需要Windows凭据,也不需要主密码。

macOS具有内置的安全存储,即所谓的钥匙串。 Mac版本的Chrome不使用本机钥匙串来存储用户的密码,iOS版本也是如此。然而,Chrome确实将主密码存储在相应的macOS或iOS钥匙串中,从而有效地提供与系统钥匙串相同级别的保护。只要知道用户的登录凭据或单独的钥匙串密码,Elcomsoft Password Digger就可以解密macOS钥匙串。

提取LastPass主密码

为了提取保护LastPass密码数据库的用户主密码,我们将使用Elcomsoft Distributed Password Recovery是一款电脑密码解密软件,也被称为雷神分布式密码破解系统,该工具能对密码进行破解,尤其是WPA2无线网络密码也可以运算,局域网多主机联合运算,非常给力。

1. LastPass Chrome扩展程序将受保护的保管库存储在以下路径(Windows 10)中:

Windows: %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\databases\chrome-extension_hdokiejnpimakedhajhdlcegeplioahd_0

2. 启动Elcomsoft散列提取器(ElcomSoft Distributed Password Recovery的部分功能)并打开上面引用的文件。重要提示:你可以访问当前登录用户的文件,也可以从磁盘映像中提取信息。

6.png

3. 该工具将自动提取哈希文件,保存* .esprlp2(多个帐户)或* .esprlp(单个帐户)哈希文件,然后在ElcomSoft Distributed Password Recovery中打开该文件。注意:只有在主密码被保存时,才能进行即时恢复。

4. 选择要从中提取密码的帐户。

7.png

5. 开始破解:

8.png

6. 无论主密码有多长、有多复杂,ElcomSoft Distributed Password Recovery将在几秒钟内找到并显示主密码。

9.png

本文翻译自:https://blog.elcomsoft.com/2020/04/breaking-lastpass-instant-unlock-of-the-password-vault/如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/0Xlv
如有侵权请联系:admin#unsafe.sh