Kali Linux是一个包含了上百种为目标用户(***测试人员和其它安全专家们)量身定做软件工具的Linux分发版。它也包含安装程序,可以把Kali Linux作为计算机上的主操作系统来进行安装设置。这一点很像所有的其它Linux分发版,但Kali有其它不一样的特点,很多都是为了***测试人员的特殊需求而量身定制的。让我们来看看这些特点。

1.4.1 一个Live系统

相比于大多数Linux分发版,从Kali网站上下载的ISO镜像不仅仅只是专门用来安装操作系统的,它还可以作为一个可引导的Live系统来使用。换句话说,你可以在不安装Kali Linux的情况直接使用它,要做的工作只是从下载的ISO镜像引导而已(通常情况下,会把这个ISO镜像做到USB上后进行)。

Live系统包含了***测试人员通常会使用的工具,即使你每天主要使用的系统不是Kali,你也可以简单地插入光盘或U盘,并重新启动到Kali。需要注意的是,ISO镜像的默认配置是在重启系统后不保存运行时所做的修改。如果你使用U盘来进行持久化(见9.4节 “使用U盘来持久化Live系统“ ),那么你根据你的喜好来调整系统(比如修改配置文件,保存报表,升级软件,安装其它的软件包),并把这些调整保存下来,即使重启系统后也还在。

1.4.2 取证模式

通常情况下,当我们在一个系统上进行取证工作时,无论什么情况,你都想要避免对所分析系统的数据进行任何修改。然而不幸的是,现代桌面环境会试图自动挂载任何检测到的磁盘,从而干扰这一目标。为了避免这种行为,Kali Linux有一种取证模式(可以从引导菜单使能)可以禁用上述的特点(自动挂载)。

Live系统对于取证目标特别有用,因为可以在不访问或修改计算机硬盘的情况下把计算机重启到Kali Linux系统中。

1.4.3 定制的Linux内核

Kali Linux通常都基于Debian非稳定版提供了最新的Linux内核。这将确保稳固的硬件支持,特别是对于众多的无线设备。由于很多无线安全评估工具依赖于无线注入特性,内核通过补丁添加了对无线注入功能的支持。

由于很多硬件设备要求最新的固件(可以在/lib/firmware/找到),Kali默认情况下安装了所有的设备固件,包括Debian非免费一节中描述的有效固件。这些固件在Debian中默认是不安装的,因为这些固件是闭源的,不符合Debian的开源精神。

1.4.4 完全可定制

虽然Kali Linux是由***测试人员为***测试人员打造的,但是我们认为不是所有人都会同意我们的设计决策,或者是我们在Kali中默认所包含的那些选取的工具。为此,我们始终确保Kali Linux是很容易基于你自己的需求和喜好进行定制的。为了实现这个目的,我们发布的live-build配置用于构建官方版Kali镜像,因此你可以基于你的喜好来定制。得益于live-build,从发布的配置开始进行定制是很容易的,可以实现你所需的各种要求。

Live-build包含了很多特性,比如修改安装系统,安装增补的文件,安装额外的软件包,运行任意的命令,甚至是修改debconf中的预先设定的种子值(注:debconf用于静默安装)。

1.4.5 可信的操作系统

安全分发的用户理所当然地希望知道所用的分发版是可以被信任的,并且它是在公开的状态下开发的,允许任何人检查源代码。

Kali Linux是由一个知识丰富的开发小团队通过透明的工作和遵循最佳安全实践来构建的:他们上传签名源码包,然后在专用的构建进程中进行构建。之后,软件包进行校验,并作为签名库的一部分进行分发。

在软件包上所做的工作可以通过Git软件仓库(包含有签名标签)进行完整的检查,Git软件仓库被用于构建Kali源码包。每个软件包的演进也能通过Kali包跟踪器进行追踪。

1.4.6 适用于广泛的ARM设备

Kali Linux为armel,armhf和ARM64构架提供了二进制软件包(在ARM体系架构内核中,有些有浮点运算单元(fpu),有些没有。对于没有fpu内核,是不能使用armel和armhf的。在有fpu的情况下,可以通过gcc的选项-mfloat-abi来指定使用哪种,有如下三种值:一是soft,不用fpu计算,即使有fpu浮点运算单元也不用;二是armel,即softfp,用fpu计算,但是传参数用普通寄存器传,这样中断的时候,只需要保存普通寄存器,中断负荷小,但是参数需要转换成浮点再计算;三是armhf,也即hard,用fpu计算,传参数用fpu中的浮点寄存器传,省去了转换,性能最好,但是中断负荷高)。非常感谢Offensive Security公司提供了易于安装的镜像,使用得Kali Linux能被部署在众多有趣的设备上,从智能手机、平板电脑到Wi-Fi路由器、各种形状和大小的计算机等。