取证工作:怎样解锁 LUKS2 加密磁盘?

对于 LUKS2 密码进行恢复,Elcomsoft Distributed Password Recovery (简称 EDPR) 软件可以构建高性能集群,以更快地破解密码。EDPR 软件提供零开销的可扩展性,并支持 GPU 加速,以加快恢复速度。EDPR 可帮助在取证服务中用最少时间来破解最复杂的密码和强大的加密密钥。

LUKS2 是 LUKS 的更新、更好、更安全的版本。根据开发人员的说法,LUKS2 以更灵活的方式存储元数据、冗余信息以在元数据区域损坏的情况下提供恢复,从而扩展了 LUKS。它还引入了一个接口来存储外部管理的元数据,以便与其他工具集成。更重要的是 LUKS2 实现默认密钥派生函数 (KDF) 的方式的更改。LUKS2 开发人员没有将哈希轮数无限增加到数百万,而是决定使用 Argon2,这是一个关键派生函数,被选为 2015 年密码哈希竞赛的获胜者。新的默认 KDF 在最大限度地抵御 GPU 破解攻击。LUKS2 通过新的密钥派生函数使 Linux 磁盘加密更加安全,在攻击 LUKS2 卷时有效禁止 GPU 加速。这反过来只能让我们利用计算机的 CPU 而不是更快的 GPU 来攻击受 argon2id 保护的 LUKS2 磁盘。下面就对 LUKS2 密码恢复思路进行介绍:

  1. 使用Elcomsoft Forensic Disk Decryptor或Elcomsoft System Recovery从加密设备或磁盘映像中提取加密元数据。
  2. 使用提取的元数据(一个小文件)通过 Elcomsoft Distributed Password Recovery 对密码发起攻击。
  3. 找到密码后,挂载磁盘卷或解密数据。

使用 Elcomsoft Forensic Disk Decryptor 提取加密元数据。

  1. 启动Elcomsoft取证磁盘解密器。
  2. 选择“提取/准备数据以进行进一步的密码恢复”。
  3. 打开包含 LUKS2 卷的物理设备或磁盘映像。
  4. EFDD 将显示加密卷列表。选择要从中提取加密元数据的卷。
  5. 单击“下一步”提取加密元数据并将其保存到文件中。

攻击密码。

虽然 LUKS2 密码禁止调用 GPU 能力进行破解,但注册版软件目前支持多达 10,000 台计算机用于使用 Elcomsoft 分布式密码恢复,利用 CPU 暴力攻击单个密码。如果算力资源有限也可以根据获得现有密码内容信息,采用字典加密码突变选项来进行靶向破解。可以参照以下步骤:

  1. 启动Elcomsoft Distributed Password Recovery。
  2. 打开在上一步中使用 Elcomsoft Forensic Disk Decryptor 获得的加密元数据的文件。
  3. 将显示可用的密钥插槽以及哈希迭代次数。指定要攻击的密钥槽。

4、配置并启动攻击。

暴力破解模式,破解时间较长而且需要大规模计算能力。我们可以根据现有资源搭建分布式集群服务器选择“brute force”选项配合字符串,开启高算力的暴力破解模式。

如果已知用户的现有密码是一个很好的起点。这些密码可以从用户的 Google 帐户、macOS、iOS 或 iCloud 钥匙串、Microsoft 帐户中提取,也可以简单地从用户的计算机中提取。我们可以采用字典攻击模式,配合相关密码变体。

如果我们想要破解强密码,需要配合突变选项“Mutations”,如下图例,选择级别和突变类型。

  • 大小写突变(Case):程序检查密码中任何字符的大写/小写字母的所有变体。
  • 顺序突变(Order):字符顺序颠倒(即密码变成drowssap),一个单词重复几次(passwordpassword);反转的单词可以添加到普通单词 (passworddrowssap) 中。
  • 元音突变(Vowels):元音可以省略 (psswrd) 或变大/变小 (pAsswOrd、PaSSWord)。
  • 剥离突变(Strip):删除一个字符,就像在 assword 或 pssword 中一样。
  • 交换突变(Swap):角色交换和改变位置(例如psasword)。
  • 重复突变(Duplicate):某些字符重复(ppassword、paassword)。

现在数字和特殊字符开始发挥作用:

  • 数字突变(Digit):在单词的开头或结尾添加数字(1passowrd、password2)。
  • 年份突变(Year):将年份添加到单词的末尾 (password2009)。
  • 边框突变(Border):可以在末尾或开头添加常用的数字和特殊符号组合,或两者兼而有之(password123、#password#、password007)。
  • 分隔符突变(Delimiter):在字符之间添加分隔符(例如 p.a.s.s.w.o.r.d、p-a-s-s-w-o-r-d)
  • 怪异的突变(Freak):字母被替换为外观相似的特殊符号,如p@ssw0rd或p@$$word。
  • 缩写突变(Abbreviation):用作单词替代品的常见缩写 (Umean2secure4hackers)。

利用掩码选项破解,是在已知密码字符的情况下,其他未知得字符用掩码掩盖。这样节约破译复杂程度和时间。例如,您知道密码包含8个字符,以“x”开头,以“99”结尾;其他符号是小写字母或大写字母。可以设置的掩码是“x????99”,后面字符集设置为“大写拉丁字母”和“小写拉丁字母”。有了这些选项,*EDPR*将尝试的密码总数将与您使用的5个字符密码相同,而不是包含数字;这比长度设置为8并且选中所有“字符组”复选框的情况要小得多,如下图示。

当然掩码字符是可以自定义,如果已知密码中有“?”字符,你就需要把这个掩码改成别的字符,再进行配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/759278.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

下属无执行力,领导无能为力?用好这3大法则,打造一流行动力

下属无执行力,领导无能为力?用好这3大法则,打造一流行动力 第一个:漏斗法则 在沟通这个领域,有一个漏斗法则,意思就是指:如果你脑袋里面想表达的是100%,那你说出口的会只有80%&…

开发板以电脑为跳板连接互联网

标题 开发板以电脑为跳板连接互联网网络共享方式桥接方式 开发板以电脑为跳板连接互联网 分享下用网线直连电脑的开发板如何以电脑为跳板连接互联网的两个方法。 网络共享方式桥接方式 补充下,我的电脑连接的是无线网络,开发板和电脑是用网线进行连接的…

AI奏响未来乐章:音乐界的革命性变革

AI在创造还是毁掉音乐 引言 随着科技的飞速发展,人工智能(AI)正在逐渐渗透到我们生活的每一个角落,音乐领域也不例外。AI技术的引入,不仅为音乐创作、教育、体验带来了革命性的变革,更为整个音乐产业注入了…

昇思25天学习打卡营第7天|模型训练

模型训练 模型训练一般分为四个步骤: 构建数据集。定义神经网络模型。定义超参、损失函数及优化器。输入数据集进行训练与评估。 前面几天依次学习了前面几个步骤的操作,今天继续学习模型训练。 数据集和神经网络模型这个前面已经有详细的介绍。准确…

生成式AI如何赋能教育?商汤发布《2024生成式AI赋能教育未来》白皮书

生成式AI正在各个行业中展现出巨大的应用前景。在关系国计民生的教育行业,生成式AI能够催生哪些创新模式? 6月28日,商汤科技受邀参加2024中国AIGC应用与发展峰会,并在会上发布《2024生成式AI赋能教育未来》白皮书,提出…

Qt:5.QWidget属性介绍(isEnabled和geometry)

目录 一、 QWidget属性的介绍: 二、Enabled属性: 2.1Enabled属性的介绍: 2.2获取控件当前可用状态的api——isEnabled(): 2.3设置控件当前的可用状态的api—— setEnabled() : 2.4 实例:通过一个按钮&…

【人工智能学习之图像操作(六)】

【人工智能学习之图像操作(六)】 Hough变换直线检测圆检测 图像分割 Hough变换 在图像处理中,霍夫变换用来检测任意能够用数学公式表达的形状,即使这个形状被破坏或者有点扭曲 直线检测 import cv2 import numpy as np image …

Python 基础:用 json 模块存储和读取数据

目录 一、用 json 存储数据二、用 json 读取数据 遇到看不明白的地方,欢迎在评论中留言呐,一起讨论,一起进步! 本文参考:《Python编程:从入门到实践(第2版)》 用户关闭程序时&#…

Redux实现Token持久化

业务背景: Token数据具有一定的时效时间,通常在几个小时,有效时间内无需重新获取,而基于Redux的存储方式又是基于内存的,刷新就会丢失,为了保持持久化,我们需要单独做处理 解决方案: 使用redu…

HTML图片链接缓存问题解决

关于解决HTML使用图片链接出现的缓存问题处理 1、项目上明明替换了图片却没发现更新,得去浏览器设置清除浏览器缓存或者其它一些操作才能解决,这也太麻烦了!加载过一次不会再加载第二次,其实这时候就存在浏览器图片缓存情况&…

1-5题查询 - 高频 SQL 50 题基础版

目录 1. 相关知识点2. 例题2.1.可回收且低脂的产品2.2.寻找用户推荐人2.3.大的国家2.4. 文章浏览 I2.5. 无效的推文 1. 相关知识点 sql判断,不包含null,判断不出来distinct是通过查询的结果来去除重复记录ASC升序计算字符长度 CHAR_LENGTH() 或 LENGTH(…

cpu,缓存,辅存,主存之间的关系及特点

关系图 示意图: ------------------- | CPU | | ------------- | | | 寄存器 | | | ------------- | | | L1缓存 | | | ------------- | | | L2缓存 | | | ------------- | | | L3缓存 | | | ------------- | ----…

2095.删除链表的中间节点

给你一个链表的头节点 head 。删除链表的中间节点 ,并返回修改后的链表的头节点 head。 长度为 n 链表的中间节点是从头数起第 ⌊n / 2⌋ 个节点(下标从 0 开始),其中 ⌊x⌋ 表示小于或等于 x 的最大整数。 对于 n 1、2、3、4 和…

深入理解 Spring MVC:原理与架构解析

文章目录 前言一、MVC二、Spring MVC三、Spring MVC 工作流程四、小结推荐阅读 前言 Spring MVC 是一种基于 Java 的 Web 应用开发框架,它通过模型-视图-控制器(Model-View-Controller, MVC)的设计模式来组织和管理 Web 应用程序。本文将深入…

树莓派3B读写EEPROM芯片AT24C256

AT24C256是一个Atmel公司的EEPROM存储芯片,容量是256K个bit(也就是32K字节),I2C接口,而树莓派正好有I2C接口,如下图蓝框中的4个IO口, 把AT24C256和这4个口接在一起,这样硬件就准备好…

Nginx的11个执行阶段

Nginx的11个执行阶段

ARCGIS添加在线地图

地图服务地址:http://map.geoq.cn/ArcGIS/rest/services 具体方法: 结果展示:

Spring底层原理之bean的加载方式八 BeanDefinitionRegistryPostProcessor注解

BeanDefinitionRegistryPostProcessor注解 这种方式和第七种比较像 要实现两个方法 第一个方法是实现工厂 第二个方法叫后处理bean注册 package com.bigdata1421.bean;import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.…

轻量级仿 SpringBoot 程序

但凡 Java 程序,想必就是 Spring 程序;但凡 Spring 程序,想必就是 SpringBoot 程序——且慢,当今尚有不是 SpringBoot 即 SpringMVC 的程序不?有——老旧的遗留系统不就是嘛~——不,其实只要稍加“调教”&a…

基于SpringBoot漫画网站系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…