1. 程式人生 > 實用技巧 >KAL1 LINUX 官方文件之USB--- 加密持久化

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密碼,然後系統恢復到原始狀態。