【0-背景说明】:
1)为什么想要把Kali Linux系统安装到U盘?
之前学习渗透测试的时候,有安装过虚拟机,在虚拟机上安装Kali Linux系统,但是因为是在现有系统上安装虚拟机又安装kali Linux系统,电脑运行速度很受影响,不仅仅是占用了原有电脑中的内存,而且在虚拟机上运行系统,感觉特别慢,特别卡,所以想有没有更好的方式,于是查阅相关资讯,了解到Kali Linux系统可以安装到U盘,于是就很感兴趣的研究起来。
2)为什么想要整理一篇这样的文章说明教程?
看了网上很多教程,都是很片面的部分信息,特别是对初学者来说,让人看了很困惑。
比如,安装教程,有的是通过虚拟机来操作将系统安装到U盘,有的不用虚拟机,直接用现有系统制作U盘即可,作为我个人来说,电脑没有虚拟机,为了安装一个U盘系统,再安装一个虚拟机,感觉很是麻烦,所以还是希望不通过虚拟机来制作Kali的U盘系统,毕竟也是为了方便才用U盘的。
比如,不同的安装教程,教的安装内容不同,比如制作U盘系统,制作U盘可持久化的系统,制作U盘加密可持续化的系统。
很多教程都是就事论事,教导一步一步跟着操作,但是很多该说明的内容都没有说明,比如制作U盘系统后,会有不同的系统启动模式,这些模式之间有什么差别?很多都没有讲全面。
我自己安装学习,踩过很多坑,遇到过很多问题,前前后后安装Kali的U盘系统接近10次,通过每一次的安装学习,也从中知道了很多原理和问题解决的方法,所以想把自己的经验做一个梳理总结,也希望那些对此感兴趣的知友可以参考,避免不必要的弯路。
【1-安装前准备】:
制作U盘系统前,需要准备一些软件和内容:
1.1先下载好【iso】格式的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盘才能作为一个系统启动,不同的教程会采用不同的工具,我个人认为没有好坏之分,都能达到我们想要的目的,看个人的喜好,哪个方便就用哪个。
在此,我使用的是:Universal-USB-Installer
以下是百度百科对该工具的介绍:
Universal USB Installer[1](通用USB安装程序)是一个自启动Linux U盘创建工具,您可从大量精选的Linux发行版中挑选一个安装到您的U盘上。通用USB安装程序使用方便,只需选择自启动Linux发行版,ISO文件,和您的U盘,单击“安装”即可。其他功能包括,持续保存(如果可用的话),以FAT32格式格式化U盘(推荐)确保一个干净的安装。安装完成后,您即拥有了一个安装了您所喜欢的Linux版本的自启动U盘。
这款软件的下载,各位可以网上查找即可,在此不再展开
1.3 磁盘分区工具
为什么需要磁盘分区工具,不用磁盘分区工具可以吗?
其实是可以的,但是前提是你只是简单的使用kali系统,不下载更多的软件,不会保持更多的资料,仅仅是使用现有的系统,不进行个人的定制化。
磁盘分区工具的主要目的,就是为了kali系统U盘持久化和U盘加密持久化。对于需要留存的内容,需要在原有U盘系统之外,增加一个分区,后续的安装中会讲到,就是persistence分区,也就是持久化的分区。
在此,我使用的磁盘分区工具:MiniTool Partition Wizard
以下是对这款软件的说明:功能也很强大。
MiniTool Partition Wizard官方版是一个完整的高级Windows分区管理工具,可帮助您在Windows分区上执行许多驱动器管理功能,如复制,合并,扩展,擦除,删除,格式化或切割。终极软件为您提供完全控制,并为您的硬盘提供了很大的灵活性,组织和管理驱动器。Windows操作系统永远不会给用户提供如此大的灵活性来请求硬盘驱动器,但是,很少有最新版本有一些例外,但并不是说Linux用户可以通过使用命令行终端在硬盘上执行
其实,软件只是实现目的的一个手段,重要的是明白要做什么,为什么要做,明白了这些,采用不同的工具,都能达到我们想要的目的。
同样,这款软件的下载和安装,各位可以网上查找即可,在此不再展开,都是一些很简单的安装过程,跟着指导安装即可。
1.4 准备作为系统安装的U盘
这里说的U盘,其实是一种代称,不局限于我们常说的那种U盘,它是指的可便携的存储工具,比如可移动的硬盘,U盘的大小,肯定是越大越好,毕竟只是一个系统文件就3.5G,而且上面也有说到,kali系统全部的软件下载完整的话都是接近12G的,所以保险期间,选一个大一些的U盘。
我在选择过程中,看到移动的固态U盘,具有移动硬盘大容量的特点,也有U盘便携的特点,所以我选择了一款移动固态U盘,256G,就是下面这款,同时考虑到它还有Type-C接口,苹果电脑也可以用。
当然,也有更高存储的,最高达到2T,但是价格也更高,个人感觉256G足够了
(说明:下面的操作过程,我是以16G的U盘为例)
以上四个内容准备好了,就可以开始正式安装了。
【2-将kali系统安装到U盘-实际操作】
2.1 制作启动盘:也就是将系统文件刻录到U盘中
打开Universal-USB-Installer,会看到如下界面,点击“I Agree”即可
点击同意后,会看到如下界面:一共有三步,依次选择即可
Step1:选择要刻录的系统格式,下拉菜单中有很多,选择“kali Linux”,在比较靠后的位置,如下:
Step2:选择下载好的iso文件,通过浏览文件,找到已经下载好的系统文件,选定即可,如下:
Step3:选择刻录的U盘,同时还有U盘的格式,如下图:(不知道为什么16G的U盘现实有14G)
点击“Create”,会跳出如下界面:因为是刻录U盘,要先全部删除U盘内容,所以会有一个警示的提醒,点击“是”即可
点击后,会看到又一次的警示提醒(如下图),继续点击“是”即可
点击后,就会进入正式的U盘刻录的进程,如下,会跳出两个界面,一个是整体进度,一个是可以看到系统iso文件刻录的具体进度和预估时间
在此就安心的等待结束即可,不同的U盘,看读写速度的不同,时间也不同,如果U盘读写速度快,比如固态U盘,时间就很快。结束后会看到以下界面:
到此结束,点击关闭窗口即可。
2.2 磁盘分区
前面提到过,其实到了上面,刻录U盘后就可以使用kali Linux系统了,之所以还要进行磁盘分区,是为了后面系统安装后的持久化以及加密持久化做准备的。
打开软件:MiniTool Partition Wizard
看到如下界面:其中的Disk2就是我们刚刚刻录好的启动U盘
选中U盘,右击,选择“Move/Resize”,会看到如下界面,可以选项设置分区的大小
在此,给系统盘选择6G大小,调整如下:然后点击“OK”
点击“OK”后,回到主界面,会看到Disk2已经有两个分区了
对于剩余的磁盘,如果想分区,可以继续分区,右击选择“Creat”即可,如果你的U盘足够大,理论上是可以分很多磁盘分区的
在此我们就用一个,作为持久化的分区。
都选择调整完毕后,点击左下角的“Apply”,就会进入正式的磁盘分区作业
点击“appy”之后,会跳出警示的提醒,如下,点击“YSE”继续即可
软件会进入磁盘分区,如下图,等待完成即可
完成后,系统跳出提醒成功的提示:
同时电脑系统会跳出一个警示框,询问是否将U盘格式化,在此,一定要点“取消”或者关闭,一定不能格式化,否则前面做过的都作废了
系统之所以会跳出这个提醒,是因为U盘刻录及分区后,现有的电脑操作系统已经无法识别U盘,因为U盘格式内容都已经改变了,所以系统才会询问是否将U盘格式化。
到此,系统安装到U盘,已经完成了80%,接下来就是如何进行系统在U盘中的持久化操作
2.3 Kali Linux 启动选项中不同模式的说明
完成了上述步骤,我们就可以通过U盘启动进入Kali Linux系统了
电脑关机,开机选择进入不同的系统,不同的电脑,如果有多个系统选择的话,进入的方式会不同,可以根据自己电脑网上查询即可,我的是苹果电脑安装的双系统,所以开机长按”option“键就会进入不同系统选择的界面:
右侧的橘色的2个,表示的就是U盘,左边三个是表示的电脑硬盘,在此选择右边数的第二个选项,确认进入,会看到如下界面,这个界面就是Kali Linux 启动选项中不同模式
第一次看到这个界面会比较困惑,不知道选择哪个,即使按照教程指导选择了,也不知道为什么选择,所以对于这个界面,重点说明,其实通过这个界面中的不同选择项的了解,对后续系统的操作有很大的帮助。
以下不同的模式的说明,参考以下文章:对说明的内容进行的调整和精简,更便于理解
1)Live system (amd64)
这是最简单的模式,就是前面说过的,启动系统,直接进入 Kali,在系统中的所有的操作和设置都会在下次重启时失效。这意味着,当你终止/关闭你的笔记本电脑时,你在 Kali 中保存/编辑的所有东西都会丢失。因此,如果你在桌面上创建了一个文件,那么当你重新启动时,该文件将丢失。这种模式的特点是,运行系统的时候,数据直接写入内存,而不是硬盘。
2)Live system (amd64 fail-safe mode)
这种模式与 Live (amd64) 类似,只不过它可以更好的保护硬件的安全。当 Live 系统发生故障时,不会对硬盘上的文件或者硬件产生较大影响。
3)Live system (amd64 forensic mode)
在此模式下,Kali 永远不会接触内部硬盘驱动器,并且会禁用设备的自动安装。在设备上执行取证时(例如,恢复敏感文件,在犯罪现场获取证据等)时,可以使用此功能。
4)Live system with USB Persistence
该模式下可将在系统中新建的文件,改过的配置等信息,保存在 USB 设备中,这样就不会发生断电重启的现象。
这个就是我们前面提到的”持久化“,就是说能留存下操作的资料和数据,而不是每次都从0开始。
5)Live system with USB Encrypted Persistence
这个模式是在上一个模式上的加强,就是如果对自己留存的敏感数据加密,就可以使用此模式,可以将保存在 USB 上的数据进行加密。
后面两种模式,就是接下来重点要说明的两种模式。
2.4 系统U盘中数据持久化
选择第一种模式”Live system (amd64)“进入系统,看到如下界面
打开命令界面,通过以下指令进行作业:
特别提醒,以下指令都必须是在root权限下面操作完成,否则会提醒错误,无法访问和读取数据
1)通过【fdisk -l】命令,查看分区
找到要持久化的分区,如下图,其中”sdb2“就是我们要操作的磁盘区域,不同的电脑显示的磁盘标号不同,这个要看每个人具体的情况,不能完全照搬,特别是后面代码中操作的对象。
2)通过【mkfs.ext4 -L persistence /dev/sdb2】命令,为分区创建ext4文件系统,并命名为persistence
EXT4是第四代扩展文件系统(英语:Fourth extended filesystem,缩写为 ext4)是Linux系统下的日志文件系统,是ext3文件系统的后继版本
为什么命名为”persistence“?
因为这是Linux系统的要求,通过这个关键字才能识别需要持久化的区域,同时这个单词表示的就是”持续存在“
3)通过以下四个命令,挂载/dev/sdb2分区系统,并写入persistence.conf文件
mkdir -p /mnt/usb mount /dev/sdb2 /mnt/usb echo "/ union" > /mnt/usb/persistence.conf umount /mnt/usb
以上四条命令,依次执行,执行完成即可,系统不会有任何提示,但到此就是完成了持久化的操作。
对于这一步,要特别说明,因为这是最重要,也是最难理解的地方:
什么是挂载?
指的就是将设备文件中的顶级目录连接到Linux根目录下的某一目录,访问此目录就等同于访问设备文件,使它们成为一个整体。
为什么要挂载?
当U盘插入Linux后,系统会给U盘分配一个目录文件(比如:sdb2)。
位于/dev/sdb2,但是无法通过/dev/sdb2/直接访问U盘数据。
只要执行mount(挂载)操作后就可以访问U盘数据了。
为什么要访问U盘数据?
访问U盘,就是为了写入persistence.conf这个文件,这个是持久化的配置文件,特别是硬件驱动相关程序内容。
重新启动,进入Linux的启动模式选项,选择”Live system with USB Persistence“
进入系统后,创建一个文件,保存,然后重新启动,再次进入,看之前创建的文件是否还存在,如果存在,就表示系统U盘中相关资料可以留存,也就是持久化。
2.5 系统U盘中数据加密持久化
在持久化的基础上进行加密处理,听起来感觉是多上面持久化的加密处理,逻辑上是对的,但是不能在上面的持久化磁盘区域直接加密,就等于加密持久化了,加密持久化与单独的持久化操作代码上会有一些差别。
首先先倒车回到sdb2区域未持久化之前,就是回到最初进入”Live system (amd64)“的状态中
1)通过【fdisk -l】命令,查看分区(和上面一样,不再赘述)
2)使用luks命令为sdb2分区加密:再次提醒,一定要在root权限下执行
cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb2
执行命令后,会提示选择,一定要大写的”YES“,然后输入自己设定的密码,密码在屏幕上不会有任何显示,输入确认后,会再提示确认密码,确认后,就表示sdb2加密成功。
3)使用luksOpen命令进入加密分区,并创建可挂载的逻辑分区,为分区创建ext4文件系统,并命名为persistence
cryptsetup luksOpen /dev/sdb2 mnt
mkfs.ext4 -L persistence /dev/mapper/mnt
4)接下来就是在加密分区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是一种从逻辑设备到物理设备的映射机制。
5)完成持久化操作后,退出luks加密分区,命令如下:
cryptsetup luksClose /dev/mapper/mnt
接下来就是关机重启,验证是否加密持久化,选择”Live system with USB Encrypted Persistence“模式进入,等待屏幕载入进程,一会到如下界面,会提示要输入密码,这里就是当时加密分区的时候设定的密码,输入密码,进入系统,验证是否可持续化的方式和上面一样,创建文件,保持,重启进入,看原来的文件是否还存在。
【3-U盘持久化后的kali系统调整与完善】
3.1 如何将kali系统从英文切换到中文
安装后的kali系统,默认的是英文,对于初学者来说,可能会有一些难度,可以将英文切换到中文
进入系统,打开命令操作,进入root权限,执行以下代码:
dpkg-reconfigure locales
执行后,会跳出如下界面:
往下选择,找到前面带【*】的地方,如下,按空格键取消【*】:
取消【*】后,继续往下翻看,大概是最后的位置,找到”zh“开头的,如下,按空格键,标注【*】:
点击确认后,会看到如下界面,点击确认即可,就完成了调整:
调整完成后,需要重启系统,重启系统后,会看到如下界面,根据个人偏好,可以选择是否更新名称:
确认更新名称后,再去看kali系统下面的菜单,就会看到中文了,如下,有些软件名称还是保留了英文,但是不影响我们的使用:
3.2 如何调整鼠标与电脑触控版的设置
系统安装后,发现我电脑的触控版,双击以及轻点单击都没有效果,和之前习惯使用的操作不同,只能单击摁下触控板才行,很不方便.
上面已经把kali系统调整成中文了,这方便了我们很多操作,从系统菜单中找到”鼠标和触摸板“
点击进入后,调整触摸板配置,轻点触摸板点击,OK
以上,就是kali系统安装到U盘过程中,我的一些经验和分享,希望对大家有所帮助。
安装过程中,如有不明白的地方,可以咨询交流
关于kali Linux相关的其他文章参考:
诡刺:手把手教你安装VMware workstation虚拟机(最新版本15.5)诡刺:更简单的方式:在虚拟机上安装Kali Linux诡刺:手把手教你安装Metasploitable虚拟机