【0-背景说明】:

1)为什么想要把Kali Linux系统安装到U盘?

之前学习渗透测试的时候,有安装过虚拟机,在虚拟机上安装Kali Linux系统,但是因为是在现有系统上安装虚拟机又安装kali Linux系统,电脑运行速度很受影响,不仅仅是占用了原有电脑中的内存,而且在虚拟机上运行系统,感觉特别慢,特别卡,所以想有没有更好的方式,于是查阅相关资讯,了解到Kali Linux系统可以安装到U盘,于是就很感兴趣的研究起来。

【1-安装前准备】:

制作U盘系统前,需要准备一些软件和内容:

1.1先下载好【iso】格式的kali安装系统:通过官网

进入官网,有下载入口,如图:

Kali官网入口

点击 下载 后,进入界面,往下翻页,找到“Live Boot”选项,点击它,如下图:

点击后会跳转到下载的连接,下载的格式有32位和64位,也有apple的格式,如下图:

在此特别提醒,下载的内容有三种类型

everything:几乎包含kali系统中全部的渗透测试和安全的软件,大小约12G

Kali 2022.3:这个就是发行的稳定版本系统,也是大家普遍下载安装的格式,大小约3.5G

weekly Image:这个是每周定期更新的系统版本,可以理解成最新的测试版本,大小约3.7G

在此,我们选择发行的稳定版本 Kali 2022.3,因为文件较大,建议通过专业的下载软件下载。

下载后的软件,如下:

1.2 刻录U盘工具/烧制U盘工具

这类工具的主要目的就是把下载的kali系统,iso格式的文件,刻录到U盘中,这样U盘才能作为一个系统启动,不同的教程会采用不同的工具,我个人认为没有好坏之分,都能达到我们想要的目的,看个人的喜好,哪个方便就用哪个。

这里,我使用的是:Rufus 4.1.2045

剩下的就是耐心等待完成~

2.1 Kali Linux 启动选项中不同模式的说明

完成了上述步骤,我们就可以通过U盘启动进入Kali Linux系统了

电脑关机,开机选择进入不同的系统,不同的电脑,如果有多个系统选择的话,进入的方式会不同,可以根据自己电脑网上查询即可,我的是苹果电脑安装的双系统,所以开机长按”option“键就会进入不同系统选择的界面:

第一次看到这个界面会比较困惑,不知道选择哪个,即使按照教程指导选择了,也不知道为什么选择,所以对于这个界面,重点说明,其实通过这个界面中的不同选择项的了解,对后续系统的操作有很大的帮助。

  • Live system (amd64)

这是最简单的模式,就是前面说过的,启动系统,直接进入 Kali,在系统中的所有的操作和设置都会在下次重启时失效。这意味着,当你终止/关闭你的笔记本电脑时,你在 Kali 中保存/编辑的所有东西都会丢失。因此,如果你在桌面上创建了一个文件,那么当你重新启动时,该文件将丢失。这种模式的特点是,运行系统的时候,数据直接写入内存,而不是硬盘。

  • Live system (amd64 fail-safe mode)

这种模式与 Live (amd64) 类似,只不过它可以更好的保护硬件的安全。当 Live 系统发生故障时,不会对硬盘上的文件或者硬件产生较大影响。

  • Live system (amd64 forensic mode)

在此模式下,Kali 永远不会接触内部硬盘驱动器,并且会禁用设备的自动安装。在设备上执行取证时(例如,恢复敏感文件,在犯罪现场获取证据等)时,可以使用此功能。

  • Live system with USB Persistence

该模式下可将在系统中新建的文件,改过的配置等信息,保存在 USB 设备中,这样就不会发生断电重启的现象。

这个就是我们前面提到的”持久化“,就是说能留存下操作的资料和数据,而不是每次都从0开始。

  • Live system with USB Encrypted Persistence

这个模式是在上一个模式上的加强,就是如果对自己留存的敏感数据加密,就可以使用此模式,可以将保存在 USB 上的数据进行加密。

后面两种模式,就是接下来重点要说明的两种模式。

2.2 系统U盘中数据持久化

选择第一种模式”Live system (amd64)“进入系统

打开命令界面,通过以下指令进行作业:

特别提醒,以下指令都必须是在root权限下面操作完成,否则会提醒错误,无法访问和读取数据

  1. 通过【fdisk -l】命令,查看分区

找到要持久化的分区,其中 sda2 就是我们要操作的磁盘区域,不同的电脑显示的磁盘标号不同,这个要看每个人具体的情况,不能完全照搬,特别是后面代码中操作的对象。(我这边的分区是 /dev/sda2 )

```
fdisk -l
```

2. 通过【mkfs.ext4 -L persistence /dev/sda2】命令,为分区创建ext4文件系统,并命名为persistence

```
mkfs.ext4 -L persistence /dev/sda2
```

EXT4是第四代扩展文件系统(英语:Fourth extended filesystem,缩写为 ext4)是Linux系统下的日志文件系统,是ext3文件系统的后继版本

为什么命名为 persistence

因为这是Linux系统的要求,通过这个关键字才能识别需要持久化的区域,同时这个单词表示的就是 持续存在

  1. 通过以下四个命令,挂载/dev/sda2分区系统,并写入persistence.conf文件

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

以上四条命令,依次执行,执行完成即可,系统不会有任何提示,但到此就是完成了持久化的操作。

对于这一步,要特别说明,因为这是最重要,也是最难理解的地方:

什么是挂载?

指的就是将设备文件中的顶级目录连接到Linux根目录下的某一目录,访问此目录就等同于访问设备文件,使它们成为一个整体

为什么要挂载?

当U盘插入Linux后,系统会给U盘分配一个目录文件(比如:sda2)。

位于/dev/sda2,但是无法通过/dev/sda2/直接访问U盘数据。

只要执行mount(挂载)操作后就可以访问U盘数据了。

为什么要访问U盘数据?

访问U盘,就是为了写入persistence.conf这个文件,这个是持久化的配置文件,特别是硬件驱动相关程序内容。

**重新启动,进入Linux的启动模式选项,选择 Live system with USB Persistence **

进入系统后,创建一个文件,保存,然后重新启动,再次进入,看之前创建的文件是否还存在,如果存在,就表示系统U盘中相关资料可以留存,也就是持久化。

2.3 系统U盘中数据加密持久化

在持久化的基础上进行加密处理,听起来感觉是多上面持久化的加密处理,逻辑上是对的,但是不能在上面的持久化磁盘区域直接加密,就等于加密持久化了,加密持久化与单独的持久化操作代码上会有一些差别。

首先先倒车回到sda2区域未持久化之前,就是回到最初进入 Live system (amd64) 的状态中

  1. 通过【fdisk -l】命令,查看分区(和上面一样,不再赘述)

    fdisk -l
    
  2. 使用luks命令为sda2分区加密:再次提醒,一定要在root权限下执行

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

执行命令后,会提示选择,一定要大写的”YES“,然后输入自己设定的密码,密码在屏幕上不会有任何显示,输入确认后,会再提示确认密码,确认后,就表示sda2加密成功。

  1. 使用luksOpen命令进入加密分区,并创建可挂载的逻辑分区,为分区创建ext4文件系统,并命名为persistence
cryptsetup luksOpen /dev/sda2 mnt
mkfs.ext4 -L persistence /dev/mapper/mnt
  1. 接下来就是在加密分区sdb2中,进行持久化的操作,和上面的操作步骤类似

依次执行以下四行命令:

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

这里持久化的步骤,看起来和上面单独的持久化步骤基本都一样,但是其中的执行命令中有一个细微的差异,那就是在分区挂载中,dev下面增加了 mapper ,而不是直接到mnt,是因为分区加密后,映射逻辑会有不同,所以需要mapper,mapper是一种从逻辑设备到物理设备的映射机制。

  1. 完成持久化操作后,退出luks加密分区,命令如下:
cryptsetup luksClose /dev/mapper/mnt

接下来就是关机重启,验证是否加密持久化,选择 Live system with USB Encrypted Persistence 模式进入,等待屏幕载入进程,一会到如下界面,会提示要输入密码,这里就是当时加密分区的时候设定的密码,输入密码,进入系统,验证是否可持续化的方式和上面一样,创建文件,保持,重启进入,看原来的文件是否还存在。

【3-U盘持久化后的kali系统调整与完善】

3.1 如何将kali系统从英文切换到中文

安装后的kali系统,默认的是英文,对于初学者来说,可能会有一些难度,可以将英文切换到中文

  1. 进入系统,打开命令操作,进入root权限,执行以下代码:
dpkg-reconfigure locales
  1. 执行后,会跳出如下界面:

  1. 往下选择,找到前面带【*】的地方,如下,按空格键取消【*】:

  1. 取消【*】后,继续往下翻看,大概是最后的位置,找到 zh 开头的,如下,按空格键,标注【*】:

  1. 点击确认后,会看到如下界面,点击确认即可,就完成了调整:

  1. 调整完成后,需要重启系统,重启系统后,会看到如下界面,根据个人偏好,可以选择是否更新名称:

  1. 确认更新名称后,再去看kali系统下面的菜单,就会看到中文了,如下,有些软件名称还是保留了英文,但是不影响我们的使用:

3.2 如何调整鼠标与电脑触控版的设置

系统安装后,发现我电脑的触控版,双击以及轻点单击都没有效果,和之前习惯使用的操作不同,只能单击摁下触控板才行,很不方便.

上面已经把kali系统调整成中文了,这方便了我们很多操作,从系统菜单中找到"鼠标和触摸板"

点击进入后,调整触摸板配置,轻点触摸板点击,OK

以上,就是kali系统安装到U盘过程,希望对大家有所帮助。