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

news2024/12/24 8:36:17

对于 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并且选中所有“字符组”复选框的情况要小得多,如下图示。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kubernetes 之GVR与GVK详解

本文尝试从GVR与GVK对比、常见的GVR和GVK操作、GVK设计精髓、CRD工作流程等方面对GVK和GVR进行详细分析。希望对您有用! 一、Kubernetes 之GVR与GVK对比 在 Kubernetes 中,GVR 和 GVK 是两个重要的概念,用于唯一标识和操作不同的资源类型和…

添加用户页面(Flask+前端+MySQL整合)

首先导入Flask库和pymysql库。Flask用于创建Web应用程序,pymysql用于连接和操作MySQL数据库。 from flask import Flask, render_template, request import pymysql创建一个Flask应用实例。__name__参数告诉Flask使用当前模块作为应用的名称。 app Flask(__name_…

Java代码基础算法练习-判断学生成绩等级-2024.06.28

任务描述: 输入一个学生的成绩(成绩大于等于 0 并小于等于 100),根据成绩判断学生成绩的等级。 60 分以下不及格;60-70 分为及格;70-80 分为中等;80-90 分为良好;90 分以上为优秀。 …

洞察用户喜好:使用TikTok API获取用户喜欢视频列表

一、引言 TikTok,作为全球最受欢迎的短视频社交平台之一,不仅让用户能够展示自我、分享生活,也为品牌和企业提供了深入了解用户喜好的机会。了解用户喜欢哪些类型的视频,不仅有助于品牌更好地把握目标用户群体,还能为…

《Redis设计与实现》阅读总结-4

第 17 章 集群 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移的功能 一、命令 CLUSTER MEET命令:用来连接不同的开启集群支持的 Redis 节点,以进入…

使用鸿蒙HarmonyOs NEXT 开发 快速开发 简单的购物车页面

目录 资源准备:需要准备三张照片:商品图、向下图标、金钱图标 1.显示效果: 2.源码: 资源准备:需要准备三张照片:商品图、向下图标、金钱图标 1.显示效果: 定义了一个购物车页面的布局&#x…

SHELL脚本学习(十二)sed进阶

一、多行命令 概述 sed 编辑器的基础命令都是对一行文本进行操作。如果要处理的数据分布在多行中,sed基础命令是没办法处理的。 幸运的是,sed编辑器的设计人员已经考虑了这个问题的解决方案。sed编辑器提供了3个处理多行文本的特殊命令。 命令描述N加…

提高LabVIEW程序可靠性

​提高LabVIEW程序的可靠性是确保系统稳定运行、减少故障和维护成本的重要措施。以下从多个方面详细分析如何提高LabVIEW程序的可靠性 1. 选择合适的架构 1.1 状态机架构 适用情况: 多状态、多步骤操作。 具体例子:在一个自动测试系统中,…

我在高职教STM32——时钟系统与延时控制(1)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正因如此,才有了借助 CSDN 平台寻求认同感和成就…

44.商城系统(二十五):k8s基本操作,ingress域名访问,kubeSphere可视化安装

上一章我们已经配置好了k8s集群,如果没有配置好先去照着上面的配。 一、k8s入门操作 1.部署一个tomcat,测试容灾恢复 #在主机器上执行 kubectl create deployment tomcat6 --image=tomcat:6.0.53-jre8#查看k8s中的所有资源 kubectl get all kubectl get all -o wide#查看po…

VsCode:配置TypeScript开发环境

一、前提 电脑已经安装了npm 何如安装npm,请点击查看Node.js、npm常用命令、安装多个node版本 提醒:下文讲解操作是在mac 系统进行的,TypeScript简称:ts 二、安装TypeScript 在终端里执行命令:npm install -g typescr…

LLM大模型实战 —— DB-GPT阿里云部署指南

简介: DB-GPT 是一个实验性的开源应用,它基于FastChat,并使用vicuna-13b作为基础模型, 模型与数据全部本地化部署, 绝对保障数据的隐私安全。 同时此GPT项目可以直接本地部署连接到私有数据库, 进行私有数据处理, 目前已支持SQL生…

Swift 6:导入语句上的访问级别

文章目录 前言示例启用 AccessLevelOnImport破坏性变更采用这些更改总结前言 SE-0409 提案引入了一项新功能,即允许使用 Swift 的任何可用访问级别标记导入声明,以限制导入的符号可以在哪些类型或接口中使用。由于这些变化,现在可以将依赖项标记为对当前源文件(private 或…

数据分析三剑客-Matplotlib

数据分析三剑客 数据分析三剑客通常指的是在Python数据分析领域中,三个非常重要的工具和库:Pandas、NumPy和Matplotlib。Pandas主要负责数据处理和分析,NumPy专注于数值计算和数学运算,而Matplotlib则负责数据可视化。这三个库相…

友力科技广州数据中心搬迁

搬迁工作内容 1.搬迁技术工作 1)确定机房搬迁的负责人以及负责人的联系方式,保证在搬迁的过程中统一指挥管理。 2)确定服务器的数量,服务器的型号,服务器的配置等,如有需要,联系相关服务器的供货商或者厂家提供技术支持…

HBuilder X 小白日记01

1.创建项目 2.右击项目&#xff0c;可创建html文件 3.保存CtrlS&#xff0c;运行一下 我们写的内容&#xff0c;一般是写在body里面 注释的快捷键&#xff1a;Ctrl/ h标签 <h1> 定义重要等级最高的(最大)的标题。<h6> 定义最小的标题。 H标签起侧重、强调的作用…

Pinia详解

文章目录 简介特点用法1. 安装Pinia2. 注册Pinia Store3. 创建Pinia Store4. 使用Pinia Store 区别 Vuex详解 Pinia是一个基于Vue 3的状态管理库&#xff0c;专为Vue 3设计。它提供了一种简单、直观且可扩展的方式来组织和访问应用程序的状态。Pinia的设计灵感来源于Vuex&#…

数据资产管理的艺术:构建智能化、精细化的数据资产管理体系,从数据整合、分析到决策支持,为企业提供一站式的数据资产解决方案,助力企业把握数字时代的新机遇

一、引言 在数字化浪潮席卷全球的今天&#xff0c;数据已经成为企业最重要的资产之一。如何高效、安全地管理这些海量数据&#xff0c;从中提取有价值的信息&#xff0c;并将其转化为决策支持&#xff0c;是每个企业都必须面对的挑战。本文将探讨数据资产管理的艺术&#xff0…

中国高分辨率土壤质地数据(1KM)

土壤中各粒级占土壤重量的百分比组合&#xff0c;叫做土壤质地。土壤质地是土壤的最基本物理性质之一&#xff0c;对土壤的各种性状&#xff0c;如土壤的通透性、保蓄性、耕性以及养分含量等都有很大的影响是评价土壤肥力和作物适宜性的重要依据。 中国土壤质地空间分布数据是根…

ChatTTS超真实自然的语音合成模型

项目介绍 ChatTTS是一款专为优化对话场景而生的语音生成模型&#xff0c;尤其匹配大型语言模型&#xff08;LLM&#xff09;的交互需求&#xff0c;以及生成对话式音频、视频旁白等应用场景&#xff0c;无缝覆盖中英文双语。 通过汲取约100,000小时的高质量中英语音数据进行深…