从 ext4 磁盘恢复随机删除的密钥文件

从 ext4 磁盘恢复随机删除的密钥文件

最近,我在未加密的 ext4 USB 记忆棒上存储了 LUKS 加密驱动器的随机密钥文件,因为我在操作系统之间并且需要能够访问它。后来,我安装了新操作系统,我将密钥文件移至装有操作系统的驱动器,并将其从 USB 驱动器中删除。

删除文件一段时间后,操作系统出现故障,我决定重新安装,忘记先备份密钥文件。因此,我认为我唯一的希望是尝试从 USB 驱动器中找到已删除的密钥文件。

我尝试解锁的驱动器包含备份和其他数据,其中最值得注意的是我的密码管理器的文件。我不确定这是唯一的副本,但我的下一个猜测是当前丢失的 SD 卡,我宁愿能够恢复所有数据。

到目前为止,我已尝试通过ext4magic -m在 USB 驱动器的映像上运行来恢复文件。完成后,我查看了application/octet-stream恢复文件的目录,并通过在文件上运行将其范围缩小到一个文件file(大多数文件实际上不是application/octet-stream!),然后vim检查其余文件以查看它们是否看起来像随机数据。我尝试用这个文件解锁磁盘,但失败了。

我还应该做什么来尝试恢复我的密钥文件?

答案1

最坏的情况是,您可以尝试读取 USB 驱动器的每个块,选择适当的长度,然后尝试将其作为密钥。

我不会抱太大希望。删除的数据可能已被“修剪”,从而返回到磨损均衡池中。


命令的起点:

dd if=<device> skip=<block-number> bs=4096 count=1 \
    | dd bs=<key-length> count=1 \
    | cryptsetup open ... --keyfile - ...

然后,这将处于可能的块编号的循环中,并且我不会排除任何内容。

相关内容