搜索
查看: 6266|回复: 0

如何使用Hashcat暴力破解Linux磁盘加密

[复制链接]

714

主题

354

回帖

2669

积分

管理员

本论坛第一帅

积分
2669

热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2018-4-4 19:09:23 | 显示全部楼层 |阅读模式 来自 甘肃

场景分析:你正在使用一台Macbook,macOS系统已经被移除了,你安装的是Debian 9.0。犯罪嫌疑人正在使用LUKS磁盘加密来对你的硬盘进行加密,密码未知,因此我们需要一种可靠的取证方法来访问磁盘数据。

那么接下来,就让我们直奔主题。

工具要求

1. Hashcat3.5.0+:【参考

2. FTKimager(可选):【参考

3. EnCase(可选)

一、制作Macbook磁盘镜像并加载进EnCase

获取硬盘镜像可以通过雷电接口、连接其他Mac电脑、或者以目标磁盘模式来实现,这个步骤比较简单,我们这里不进行赘述。

当我们将镜像文件(取证文件)加载进EnCase之后,我们就可以直接看到启动分区,但是hda2似乎是一个“未分配的卷蔟”,格式为EXT2分区。

dfb5e90e22d343d24aaaf30531de460a.jpg

但是,我们可以直接在下方区域查看到LUKS头信息,而这段信息告诉我们它使用的是XTS-plain64的AES加密。

二、导出加密分区

为了解密并加载这个分区,我们首先需要以原始镜像的形式导出这个加密分区。我发现,这一步使用FTK Imager实现起来最简单,但是你也可以用EnCase来将这个分区以模拟磁盘的形式进行加载,但是FTK Imager更简单一些。

加载成功之后,右键点击已加密的分区,并选择“导出磁盘镜像”(Export Disk Image),然后把fragmentation设置为0。

三、分区头-hashcat ‘hash’文件

接下来,到hashcat(一款支持Windows和Linux平台的密码破解软件)上场了。一般来说,hashcat是用来破解密码哈希的,所以我们需要加载一个哈希值或者在文本文件中写入多个哈希。

但是对于LUSK来说,我们则需要对整个分区运行hashcat,因为LUKS会在整个磁盘区域内存储用于解密数据的主密钥。幸运的是,hashcat只需要大约2MB来破解密码,因此我们就可以使用FTK Imager来创建一个2MB的Header,然后使用运行下列命令:

  1. sudo dd if=LUKS_Partition.001 of=LUKS_Header.dd bs=512 count=4079
复制代码

FTK方法:

Fragmentation设置为2,如果你想用dd命令的话,请参考上面给出的方法。

四、Hashcat

这一步可以在Windows或Linux上进行,但是为了方便起见,我这里选择使用Linux来解密并加载分区。

下载hashcat 3.5+【点我下载】,hashcat的破解密码选项有非常多,但最常用的就是暴力破解,不过这种方法效率就非常低了,有可能你花了几个月的时间都破不了一个密码。这里我们需要使用的是字典攻击(自定义字典),你可以从【这里】下载各种非常强大的密码字典。

当你将分区镜像文件以及header镜像拷贝到Linux并设置好了hashcat之后,你需要切换到镜像文件所在目录并在终端运行下列命令(使用了一个名叫“Dictionary.txt“的字典文件):

  1. ./hashcat-3.5.0/hashcat64.bin-m 14600 -a 0 -w 3 LUKS_Partition.001 Dictionary.txt -o luks_password.txt
复制代码

常用的hashcat语句如下:

  1. hashcat <METHOD> <HASH> <DICTIONARY> <OUTPUT>
复制代码

我们的场景配置如下:

  1. -m =哈希算法 - 14600 为 LUK加密
  2. -a =破解方法 - 0 为标准字典破解 (3 为暴力破解)
  3. -w =r资源分配 - 3 为‘高’
  4. LUKS_Partition.001= Encrypted partition
  5. Dictionary.txt= dictionary
  6. -o =output luks_password.txt
复制代码

如果一切顺利的话,你就可以查看到密码的破解结果了。

五、解密分区

我们现在已经得到了密码,我们就可以使用cryptsetup来解密这个‘容器’了!运行下列命令:

  1. sudo cryptsetup luksopen LUKS_Partition.001 Decrypted_partition
复制代码

输入你的管理员密码,然后输出hashcat给你提供的LUKS密码。该命令将会创建一个解密分区文件,文件路径为/dev/mapper/Decrypted_partition。接下来,你就可以使用ls命令来查看文件了。

六、挂载分区

首先,你需要创建一个需要挂载镜像文件的位置:

  1. sudo mkdir /mnt/Decrypted_partition
复制代码

如果你使用下列命令实现挂载的话:

  1. sudo mount /dev/mapper/Decrypted_partition /mnt/Decrypted_partition
复制代码

你可能会得到一条错误提示:“mount: Unknown Filesystem type”

如果出现的话,你可以运行下列命令解决该问题

  1. sudo apt-get install lvm2
复制代码

这样一来,你就可以查看到解密分区的逻辑卷了,接下来使用下列命令挂载root分区:

  1. sudo mount /dev/macdeb-vg/root /mnt/Decrypted_partition –r
复制代码

注:-r,即只读!

我们还可以使用相同的mkdir以及mount命令来挂载swap分区。

七、浏览数据

我们可以直接浏览/mnt/Decrypted_partition,并查看我们之前的隐藏数据了!

八、制作解密分区镜像

现在,我们就可以直接使用“dd”或“dc3dd”命令来为解密后的数据制作镜像了,请确保你将其设置为指向/dev/mac-deb-vg。我建议大家使用下列命令:

  1. sudo dc3dd if=/dev/macdeb-vg/root of=/media/Patrick/KINGSTON/decrypted_partition.dd
复制代码

九、在EnCase中查看磁盘数据

得到解密后的分区镜像后,我们就可以把它加载进EnCase(或其他工具),然后你就会发现所有的数据都是直接可读的了。



有志者,事竟成,破釜沉舟,百二秦关终属楚. 苦心人,天不负, 卧薪尝胆 ,三千越甲可吞吴
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表