• 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密码,然后系统恢复到原始状态。

  • 相关阅读:
    PCB 规则引擎之脚本语言JavaScript应用评测
    PCB 挺有意思的基数排序----C#代码实现
    PCB NOSQL MongoDb MI流程指示数据存储结构
    PCB javascript解析Gerber274X格式实现方法
    PCB javascript解析钻孔(Excellon)格式实现方法
    PCB 围绕CAM自动化,打造PCB规则引擎
    PCB Genesis拼SET画工艺边 实现方法(一)
    约瑟夫环的三种解法
    Microsoft edge真香!
    商城规格参数
  • 原文地址:https://www.cnblogs.com/GKLBB/p/13582850.html
Copyright © 2020-2023  润新知