KAL1 LINUX 官方文档之USB--- 加密持久化

USB持久性和加密持久性

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

0x01-首先将ka1i ISO映像到U盘(我们是/ dev / sdb)。完成后,您可以使用parted / dev / sdb print检查USB分区结构。

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

dd if=ka1i-linux-2020.3-live-amd64.iso of=/dev/sdb bs=4M

 

0x02-在USB记忆棒上创建并格式化另一个分区。在我们的示例中,我们创建了一个大约7 GB的持久分区:

root@ka1i:~# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print devices
/dev/sda (480GB)
/dev/sdb (31.6GB)

(parted) select /dev/sdb
Using /dev/sdb

(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

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

 

0x04-使用LUKS加密分区:

cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3

 

0x05-打开加密分区:

cryptsetup luksOpen /dev/sdb3 my_usb

 

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

mkfs.ext3 /dev/mapper/my_usb
e2label /dev/mapper/my_usb persistence

 

0x07-挂载分区并创建persistence.conf,以便更改在重新引导后仍然存在:

mkdir -p /mnt/my_usb
mount /dev/mapper/my_usb /mnt/my_usb
echo "/ union" > /mnt/my_usb/persistence.conf
umount /dev/mapper/my_usb
cryptsetup luksClose /dev/mapper/my_usb

 

现在您的USB记忆棒已准备就绪,可以插入并重新启动Live USB Encrypted Persistence模式。

多个持久化存储

此时,我们应该具有以下分区结构:

root@ka1i:~#  parted /dev/sdb print

 

我们可以向USB驱动器添加其他持久性存储(无论是否加密),并在启动时选择我们要加载的持久性存储。让我们再创建一个其他非加密存储。我们将其标记为“工作”。

0x01-创建一个附加的第4个分区,该分区将保存“工作”数据。我们会再给它5GB的空间。

root@ka1i:~# 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-格式化第四个分区,将其标记为“工作”。

mkfs.ext3 /dev/sdb4
e2label /dev/sdb4 work

 

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

mkdir -p /mnt/usb
mount /dev/sdb4 /mnt/usb
echo "/ union" > /mnt/usb/persistence.conf
umount /mnt/usb

 

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

紧急自毁

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

root@ka1i:~# apt install cryptsetup-nuke-password
root@ka1i:~# dpkg-reconfigure cryptsetup-nuke-password

 

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

备份您的LUKS键槽并对其进行加密:

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

 

现在启动到你的加密存储中,并给出核弹密码,而不是真正的解密密码。这将使加密存储上的任何信息失去作用。一旦这样做了,请验证数据确实不访问的。

现在就还原数据。我们将解密LUKS键槽的备份,并将它们还原到加密分区:

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

现在,我们的位置已恢复。我们要做的就是简单地重新启动并提供正常的LUKS密码,然后系统恢复到原始状态。

 

 

上一篇:Linux格式化U盘


下一篇:Centos7 parted分区工具