首页 > 系统相关 > KAL1 LINUX 官方文档之usb live版本 --- 将加密持久性添加到 Kali Linux Live USB 驱动器(更新于2022)

KAL1 LINUX 官方文档之usb live版本 --- 将加密持久性添加到 Kali Linux Live USB 驱动器(更新于2022)

时间:2022-10-07 11:24:44浏览次数:115  
标签:加密 usb Kali 分区 Linux dev kali USB

将加密持久性添加到 Kali Linux Live USB 驱动器

在本次研讨会中,我们将研究从 USB 设备启动 Kali Linux 时可用的各种功能。我们将探索诸如持久性、创建 LUKS 加密持久性存储等功能,甚至涉足我们的 USB 驱动器的“LUKS Nuking”。默认的 Kali Linux ISO(从 1.0.7 开始)支持 USB 加密持久性。

0x01 - 首先将 Kali ISO 映像到您的 USB 驱动器上(我们的是 /dev/sdb)完成后,您可以使用parted /dev/sdb print检查 USB 分区结构:

为了方便使用,请使用root帐户。这可以通过“sudo su”来完成。

kali@kali:~$ dd if=kali-linux-2022.3-live-amd64.iso of=/dev/sdb conv=fsync bs=4M

0x02 - 在 USB 驱动器上创建并格式化一个附加分区。在我们的示例中,我们在 Kali Live 分区上方的空白空间中创建了一个持久分区。

kali@kali:~$ fdisk /dev/sdb <<< $(printf "n\np\n\n\n\nw")

当 fdisk 完成时,新分区应该已经创建在/dev/sdb3; 这可以通过命令来验证lsblk

0x03 - 使用 LUKS 加密分区:

kali@kali:~$ cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3

0x04 - 打开加密分区:

kali@kali:~$ cryptsetup luksOpen /dev/sdb3 my_usb

0x05 - 创建一个 ext3 文件系统并标记它

kali@kali:~$ mkfs.ext3 -L persistence /dev/mapper/my_usb
kali@kali:~$ e2label /dev/mapper/my_usb persistence

0x06 - 挂载分区并创建您的 persistence.conf 以便更改在重新启动后持续存在:

kali@kali:~$ mkdir -p /mnt/my_usb
kali@kali:~$ mount /dev/mapper/my_usb /mnt/my_usb
kali@kali:~$ echo "/ union" | sudo tee /mnt/my_usb/persistence.conf
kali@kali:~$ umount /dev/mapper/my_usb

0x07 - 关闭加密分区:

kali@kali:~$ cryptsetup luksClose /dev/mapper/my_usb

现在您的 USB 驱动器已准备好插入并重新启动到 Live USB Encrypted Persistence 模式。

多个持久性存储

此时我们应该有如下分区结构:

kali@kali:~$ parted /dev/sdb print

我们可以向 USB 驱动器添加额外的持久性存储,无论是否加密……并在启动时选择我们要加载的持久性存储。让我们再创建一个非加密存储。我们会给它贴上标签并称之为“工作”。

0x01 - 创建一个额外的第四个分区,它将保存“工作”数据。我们再给它 5GB 的空间:

kali@kali:~$ parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: SanDisk SanDisk Ultra (scsi)
Disk /dev/sdb: 31.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  2988MB  2988MB  primary               boot, hidden
 2      2988MB  3050MB  64.9MB  primary  fat16
 3      3050MB  10.0GB  6947MB  primary

(parted) mkpart primary 10000 15000
(parted) quit
Information: You may need to update /etc/fstab.

0x02 - 格式化第四个分区,将其标记为“工作”

kali@kali:~$ mkfs.ext3 /dev/sdb4
kali@kali:~$ e2label /dev/sdb4 work

0x03 - 挂载这个新分区并在其中创建一个 persistence.conf:

kali@kali:~$ mkdir -p /mnt/usb
kali@kali:~$ mount /dev/sdb4 /mnt/usb
kali@kali:~$ echo "/ union" > /mnt/usb/persistence.conf
kali@kali:~$ umount /mnt/usb

启动计算机,并将其设置为从 USB 启动。当启动菜单出现时,编辑 persistence-label 参数以指向您首选的持久性存储!

Kali 中数据的紧急自毁

作为渗透测试人员,我们经常需要随身携带存储在笔记本电脑上的敏感数据。当然,我们尽可能使用全盘加密,包括我们的 Kali Linux 机器,它往往包含最敏感的材料。让我们配置一个 nuke 密码作为安全措施:

kali@kali:~$ sudo apt install -y cryptsetup-nuke-password
kali@kali:~$ dpkg-reconfigure cryptsetup-nuke-password

配置的 nuke 密码将存储在 initrd 中,并可用于您可以在启动时解锁的所有加密分区。

备份你的 LUKS 密钥槽并加密它们:

kali@kali:~$ cryptsetup luksHeaderBackup --header-backup-file luksheader.back /dev/sdb3
kali@kali:~$ openssl enc -e -aes-256-cbc -in luksheader.back -out luksheader.back.enc

现在启动您的加密存储,并提供 Nuke 密码,而不是真正的解密密码。这将使加密存储中的任何信息都变得无用。完成此操作后,验证数据确实不可访问。

现在让我们恢复数据。我们将解密 LUKS 密钥槽的备份,并将它们恢复到加密分区:

kali@kali:~$ openssl enc -d -aes-256-cbc -in luksheader.back.enc -out luksheader.back
kali@kali:~$ cryptsetup luksHeaderRestore --header-backup-file luksheader.back /dev/sdb3

我们的插槽现已恢复。我们所要做的只是重新启动并提供我们正常的 LUKS 密码,系统就会恢复到原来的状态。


更新日期:2022 年 8 月 10 日
作者: g0tmi1k

标签:加密,usb,Kali,分区,Linux,dev,kali,USB
From: https://www.cnblogs.com/GKLBB/p/16759290.html

相关文章