设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 服务器 > 安全 > 正文

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

发布时间:2022-06-27 12:28 所属栏目:53 来源:互联网
导读:在这篇文章中,我将跟大家介绍如何使用hashcat来暴力破解LUK卷,并告诉大家如何挂载一个LUK分区,以及如何在解密之后制作磁盘镜像。 场景分析:你正在使用一台Macbook,macOS系统已经被移除了,你安装的是Debian 9.0。犯罪嫌疑人正在使用LUKS磁盘加密来对你
  在这篇文章中,我将跟大家介绍如何使用hashcat来暴力破解LUK卷,并告诉大家如何挂载一个LUK分区,以及如何在解密之后制作磁盘镜像。
 
  场景分析:你正在使用一台Macbook,macOS系统已经被移除了,你安装的是Debian 9.0。犯罪嫌疑人正在使用LUKS磁盘加密来对你的硬盘进行加密,密码未知,因此我们需要一种可靠的取证方法来访问磁盘数据。
 
  那么接下来,就让我们直奔主题。
 
  工具要求
  1.   Hashcat3.5.0+:【传送门】
 
  2.   FTKimager(可选):【传送门】
 
  3.   EnCase(可选)
 
  一、制作Macbook磁盘镜像并加载进EnCase
  获取硬盘镜像可以通过雷电接口、连接其他Mac电脑、或者以目标磁盘模式来实现,这个步骤比较简单,我们这里不进行赘述。
 
  当我们将镜像文件(取证文件)加载进EnCase之后,我们就可以直接看到启动分区,但是hda2似乎是一个“未分配的卷蔟”,格式为EXT2分区。
 
  但是,我们可以直接在下方区域查看到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,然后使用运行下列命令:
 
  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“的字典文件):
 
  ./hashcat-3.5.0/hashcat64.bin-m 14600 -a 0 -w 3 LUKS_Partition.001 Dictionary.txt -o luks_password.txt
  常用的hashcat语句如下:
 
  hashcat <METHOD> <HASH> <DICTIONARY> <OUTPUT>
  我们的场景配置如下:
 
  -m =哈希算法 - 14600 为 LUK加密
  -a =破解方法 - 0 为标准字典破解 (3 为暴力破解)
  -w =r资源分配 - 3 为‘高’
  LUKS_Partition.001= Encrypted partition
  Dictionary.txt= dictionary
  -o =output luks_password.txt
  如果一切顺利的话,你就可以查看到密码的破解结果了。
 
  五、解密分区
  我们现在已经得到了密码,我们就可以使用cryptsetup来解密这个‘容器’了!运行下列命令:
 
  sudo cryptsetup luksopen LUKS_Partition.001 Decrypted_partition
  输入你的管理员密码,然后输出hashcat给你提供的LUKS密码。该命令将会创建一个解密分区文件,文件路径为/dev/mapper/Decrypted_partition。接下来,你就可以使用ls命令来查看文件了。
 
  六、挂载分区
  首先,你需要创建一个需要挂载镜像文件的位置:
 
  sudo mkdir /mnt/Decrypted_partition
  如果你使用下列命令实现挂载的话:
 
  sudo mount /dev/mapper/Decrypted_partition /mnt/Decrypted_partition
  你可能会得到一条错误提示:“mount: Unknown Filesystem type”
 
  如果出现的话,你可以运行下列命令解决该问题:
 
  sudo apt-get install lvm2
  然后运行:
 
  sudo lvscan
  这样一来,你就可以查看到解密分区的逻辑卷了,接下来使用下列命令挂载root分区:
 
  sudo mount /dev/macdeb-vg/root /mnt/Decrypted_partition –r
  注:-r,即只读!
 
  我们还可以使用相同的mkdir以及mount命令来挂载swap分区。
 
  七、浏览数据
  我们可以直接浏览/mnt/Decrypted_partition,并查看我们之前的隐藏数据了!
 
  八、制作解密分区镜像
  现在,我们就可以直接使用“dd”或“dc3dd”命令来为解密后的数据制作镜像了,请确保你将其设置为指向/dev/mac-deb-vg。我建议大家使用下列命令:
 
  sudo dc3dd if=/dev/macdeb-vg/root of=/media/Patrick/KINGSTON/decrypted_partition.dd
  九、在EnCase中查看磁盘数据
  得到解密后的分区镜像后,我们就可以把它加载进EnCase(或其他工具),然后你就会发现所有的数据都是直接可读的了。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读