0

    一秒盗走你的密码 你电脑安全措施就是摆设

    2023.06.01 | admin | 216次围观

    Chrome浏览器26亿台设备的默认浏览器,吃下了全球65.2%的浏览器市场份额。基于chromium开源项目开发,同一浏览器更是一只手都数不过来。

    我相信呢,这些个浏览器你肯定用过其中一款,但是它们中的每一款都不安全。因为他们都继承了一个谷歌2013年就已知晓的代码设计缺陷,而这个缺陷只花一秒钟的时间就可以盗走了我们的密码

    便利是有代价的

    不可否认,在 Chrome 中保存密码很方便。它可以帮助您自动登录您的网站,同时确保您的密码已加密。犯罪者访问您的加密网站密码的唯一方法是获取您的笔记本电脑用户名和密码。

    在 Windows 登录提示中输入您的用户名和密码以解密网站密码

    错误的安全感

    老实说,Windows 登录提示是一个薄弱的安全功能。您有没有想过 Chrome 是如何在没有任何提示的情况下自动填写密码字段的?这是因为 Chrome 已将您的密码保存在应用程序的其他位置。

    值得注意的是,他们没有保存在安全的位置。

    就像前一阵朋友电脑下了个假的GoogleChrome一样。周末的时候朋友的邮箱炸了,先是几个网站发邮件过来提示说有人试图修改他的密码,然后是看着略蹩脚勒索邮件,说是控制他电脑上的摄像头,要把他脑袋p到裸照上,他电脑哪来的摄像头调用。软件里边钓鱼可还行,然后接着呢,最让人意外的来了,我晚些时候跟他聊天没设置过访问限制密码,我的邮件也说有人在修改他账号的密码。并且也收到了勒索邮件。

    不过好在我的大部分网络账号都有两步验证,对面尝试几次修改密码无功,而反钓鱼软件也没人回应。之后呢,又过了两三天也就没动静了。但是它电脑是怎么把我的账号密码也搞走了呢?一番回忆之后呢?想起来一个事儿,之前帮朋友安装conda的时候,在Chrome浏览器里边登录过其他的帐号,保存过密码。他电脑呢,登陆了Google账号,并且开启了云同步,里面的密码同步外加上收到了一堆,有人试图更改密码。那么一定是病毒被激活的时候,在后台把Chrome浏览器保存的密码给打包撬走了。

    等等,不对!我记得好些年前就有人说过,浏览器保存的密码是加密的呀,明文保存在本地。世界上最安全的浏览器怎么可能干这个事儿啊?不信邪的,我自然就开始顺着这条线找资料,试图证明锅不在框,结果发现锅还真在Chrome。

    我们一步一步捋哈,首先Chrome的用户数据目录里边有一个名叫default文件夹啊,具体是下面这个位置,这个文件夹里边呢,有一个名叫login data文件

    它是一个SQ lite数据库,你保存的每一个密码都在里面,但假如你想直接读它的话,你会发现这是不可读的,因为这个文件被AES算法加密过,暴力破解呢,需要破到天荒地老,到这一步是完全没问题的,Chrome整的很安全。但是假如你往前返回一个目录,就是它的上层user目录里边有一个名叫local state文件,

    这是一个纯文本文件,我们用记事本就可以直接打开,打开之后假如我们使用搜索功能,搜索encrypted字样

    会找到一行,后面跟着一大串状似乱码内容,你们知道这堆乱码是什么吗?是密钥,是解开需要几百年才能暴力破解它保存了我们所有登录密码的login data文件的AES加密的密钥串,就直接把密钥串复制粘贴出来,拿脚本一跑,只需要一秒钟,到这里我血压满了你知道吗?这个事儿里面有一个点很讽刺。就是这串密钥串是通过Windows本身的密码生成工具生成的,是和我们这台电脑唯一绑定的,加解密都需要在这台电脑上进行,也就是说呢,即使这个密钥串谷歌给保存到云端了,或者说我们打印出来保存在别的设备上,黑客拿到手了也都没用,但是谷歌就直截了当的把这串密钥明文保存在了我这台电脑的本地,就只要病毒入侵进来了,这串密钥串加Windows系统内置的解密工具说一秒就一秒,绝对不需要第二秒,这谷歌Chrome干的这什么事儿啊,他们是用最强力的咒语把宝箱给封印了,然后把封印的咒语写在了纸条上,再把纸条毫不掩饰的贴在了宝箱上。更离谱的是呢,虽然我不用pro,但是我平常也有在用新的edge和brave,这俩浏览器呢,都是基于chromium项目开发的,然后我就抱着侥幸心理试了一下,也一个没跑掉,全都把解码保存的密码文件的密钥铭文写在了local state文件里边,这叫什么事啊?

    于是我一不做二不休,索性又找到市面上常见的几个基于chromium项目或者内置了chorme模式浏览器挨个看了一下,结果除了猎豹浏览器和2345加速浏览器这两款没有明文保存密钥,剩下八个浏览器包括华为,包括极速版和标准版360,包括QQ浏览器,只要你在极速模式里边保存个密码,那么OK,你加密密钥都被明文写在了目录里,无一幸免。虽然360浏览器标准版和Opera浏览器调整的目录结构,但最终殊途同归,脱裤子放屁了。真的不知道该说什么了。

    不过我完全没有推荐你们用猎豹2345的意思,就这俩玩意儿的广告弹窗合起来比我家门口电线杆子贴的还多。问题还是得往上游找,Chrome知不知道这个逻辑缺陷?当然知道!每过一段时间,国内外都会有媒体发文章提这个事儿,谷歌也会用过。我能找到的最早一次回应是2013年,但是当时谷歌表示说,假如黑客已经入侵了您的计算机了,那么您的密码终究难逃一劫,我们加不加密无所谓了。

    听听,这是人话吗?确实,除了直接从Chrome里边扒保存的密码,不法分子还可以用植入键盘记录器的方式盗密码。没错,但这不是你直接躺平摆烂的理由吧?尤其现在越来越多的网站和客户端都默认使用扫码登录了,十几年前用处比较大的键盘接录器,放到现在根本记录不到什么密码。用户是应该养成好习惯,不让电脑轻易中毒,但已经中毒了,但是Chrome是不是也应该想着怎么帮用户减轻损失?可你Chrome现在倒好,保险箱也直接大开,就让人敞开了看敞开了偷。

    很多人都说电脑中毒了,任何密码管理都白搭。对比一下,需要手动输入解密密钥的密码管理,和直接把解密密钥保存在本地固定路径,攻击面不同,难度完全不一样。前者 malware 需要读取你的内存获取密码,而后者,任何程序只要加两行代码,都可以在你不知情的情况下读取解密并上传你的 chrome 密码。你能保证你电脑上运行的所有程序都是有过代码审查的吗?

    可以说这安全性还比不上在本地 txt 文件里保存密码,至少 malware 不知道你的路径还需要扫盘,而你还可以决定你保存密码的方式。而 chrome 在本地保存的密码文件,解密密钥路径,还有储存格式都是固定不变的。只要往程序里加两行固定的代码,你就可以读取所有运行你程序的电脑上 chrome 保存的密码,可以说肯定有人会(已经)这样做。你能保证你电脑运行的文件都是善意的,还是你只编译运行你自己代码审查过的程序?你只能乐观地希望所有程序开发人员都是有道德的,相当于你自己把家门敞开,地址告诉所有人,然后希望没人会做小偷,至少给自己家上把锁吧?虽然锁也会被暴力撬开,但是难度能一样吗?

    虽然我也清楚,当自己家门被攻破后,任何防护方法或许都不能做到 100% 的安全,但同样是做不到绝对的安全。有的人的逻辑就是,中毒了你就完蛋了,什么措施都没有用,所以明文保存还是存内存里都一样,没有办法实现绝对的安全,那干脆裸奔算了。这种逻辑我就不一一反驳了,你家门锁专业的随便能开,以后你家就敞开大门就是了,反正没区别对吧。

    别的厂商也在尝试各种不同的办法来保护大家。MacOS 选择用钥匙链保护大家的隐私,通过额外的加密来保护用户的密码。而且我还真不是针对Chrome,它的两个死对头火狐苹果Safari全都支持给保存密码,再额外设置一层解锁密钥,为的就是应付这种情况。

    对比Chrome只支持默认密钥串还明文放在电脑里的做法,属实是天上地下的。有一说一,谷歌在安全上面翻车也不是第一次了,去年还传出一个bug,只用一张SIM卡就可以在一分钟内破解安卓的锁屏密码,假如手机被人偷了,分分钟解锁屏幕没设置过访问限制密码,把个人信息扒干净。然而就这么一个严重的bug,谷歌都拖了四个月才修真的可以。

    目前。我们也可以想用几个办法来自救,提前规避可能的密码泄露,首先是换用一个第三方的密码管理器,像1password、lastpass、Dashlane这样的,然后把你浏览器里密码一键导入进去,不过这个软件不付费的话,一般会有密码保存数量限制,或者呢,靠你智商爆表用脑袋把密码牢牢记住,当然忘了别赖我啊,或者换用firefox,不过不管你采用什么方案,最好在做完上面操作之后返回到Chrome当中,把已经保存的密码给清空掉。

    以上科普内容文章到这里就结束。下文为解析如何解密进行查看密码。

    要动作是:批量选品、上架商品。由于进场时间晚自然流半个月没出一单,后面挑选部分商品进行补单和评价维护,发现出了一些单

    解密 Chrome 密码的步骤

    1.找到加密密钥

    2.找到加密的密码

    3.了解 AES 密码学

    4.解密保存的密码

    第 1 步:找到加密密钥

    (1) 加密密钥存储在一个 JSON 文件中,您可以在 Windows PC 上的以下位置找到该文件。

    C:\\Users\\<PC 你的电脑名称>\\AppData\\Local\\Google\\Chrome\\User Data\\Local State

    打开文件后,搜索“encrypted_key”一词,如下图所示:

    使用记事本编辑器,您可以轻松找到您的加密密钥

    瞧!您已找到解密已保存密码的密钥。

    第 2 步:找到加密的密码

    加密的密码存储在 SQLite 数据库中,该数据库位于 Windows PC 的以下位置

    C:\\Users\\\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Login Data

    要提取加密密码,您需要一个 SQLite3 数据库连接。运行以下代码来提取它。

    #Chrome 用户名密码文件路径chrome_path_login_db = "C:\\Users\\ \\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Login Data"shutil.copy2(chrome_path_login_db, "Loginvault.db")#连接到sqlite数据库sqlite3.connect("Loginvault.db")cursor = conn.cursor()#Select语句检索信息cursor.execute("SELECT action_url, username_value, password_value FROM logins")for index,login in enumerate(cursor.fetchall()):    url = login[0]    username = login[1]    ciphertext= login [2]    print("Url:",url)    print("用户名",username)    print("密文",ciphertext)


    代码执行后,您将能够检索到三个关键信息:

    网址

    用户名

    密文

    在密文中,包含了AES解密所需的两个重要子信息:

    初始化向量

    加密密码

    初始化向量存储在第4到20个字符之间,而加密后的密码存储在第21到N-16个字符之间(即总字符数减去16)。

    初始化向量和加密密码的位置

    第 3 步:了解 AES 密码学

    为了解密密码,我们首先需要了解AES密码学,它是Chrome用来加密和解密密码的对称密钥算法。

    AES 使用加密密钥并执行复杂的数学行运算(例如加法、减法、混合和移位)来加密密码。

    为了提高其安全性,可以添加一个初始化向量(随机数据串),使犯罪者更难破解密码,因为他必须同时找到加密密钥和初始化向量才能执行 AES 加密。

    以下是显示 AES 加密机制的框图:

    AES加密流程图

    AES 之后,加密密钥**存储在本地状态文件中,****而加密密码与初始化向量连接并作为密文存储到SQLite3 数据库中。

    加密密钥和密文存储位置

    第四步:解密保存的密码

    知道 AES 是对称密钥密码术,它使用相同的密钥进行加密和解密。我们可以使用我们发现的加密密钥和初始化向量来使用 AES 密码术解密密码。

    #Step 1:从密文中提取初始化向量initialisation_vector = ciphertext[3:15]#第二步:从密文中提取加密后的密码encrypted_password = ciphertext[15:-16]#Step 3:构建AES算法解密密码cipher = AES.new(secret_key, AES.MODE_GCM, initialisation_vector)decrypted_pass = cipher.decrypt(encrypted_password)decrypted_pass = decrypted_pass.decode()#Step 4:解密密码打印(decrypted_pass)


    结果

    代码执行后,您将能够从 Chrome 检索 URL、用户名和密码。

    好了,本期内容到此为止。我是郭旺,目前在筹备AI社群产品以及延伸内容变现,有兴趣的小伙伴可以联系我的私人微信号646297

    每期为你分享最新一些赚钱项目,信息差,学习心得,点击名片关注我的公众号,你将获得实战一线互联网实战干货,每篇文章都会分享干货让你有收获,惊喜,真正让你互联网落地赚钱,如果觉得文章对你有价值,记得给我一个点赞和在看,一个分享,算是对我最大的支持!

    本文仅做学习参考,让大家避免密码泄露引起的不必要损失。如果您喜欢这篇文章或者觉得有用,麻烦您动动手分享给身边朋友!我们在此热衷感谢!

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论