安装只是开始,下一步更重要的是配置好Kali Linux。在本节中,我们将探讨如何配置不同的Kali Linux。
Kali是一个用于执行渗透测试的框架,但为了避免测试人员对Kali默认安装的工具、Kali桌面的外观感到厌烦,可以对Kali进行自定义,从而提高正在收集的客户数据的安全性,并使渗透测试变得更加容易执行。当前在Kali中常见的自定义选项包括:
•重置Kali的密码。
•添加一个非root用户。
•配置网络服务和安全通信。
•调整网络代理设置。
•访问安全Shell。
•加速Kali操作。
•与Microsoft Windows共享文件夹。
•创建加密文件夹。
现在让我们进一步了解这些操作。
如果你下载了预配置的VMware或VirtualBox镜像,则访问Kali Linux的默认用户名和密码是kali,建议更改默认密码。请在Kali Linux终端中运行以下命令:
随后系统将提示你输入新密码,然后进行确认。
首先,确保能够访问内部网络,需要Kali连接到有线或无线网络,以获得最新的更新支持。你可能需要通过动态主机配置协议(DHCP)获取IP地址,方法是修改网络配置文件并向其添加以太网适配器,从Kali Linux终端运行以下命令:
修改网络配置文件后,你应该能够拉起ifup脚本,以自动分配IP地址,如图1.28所示。
图1.28 使用ifup脚本通过DHCP成功分配IP地址
如需设置静态IP地址,可以将以下类似的内容添加到网络配置文件,快速为你的Kali Linux版本设置静态IP:
默认情况下,Kali会优先启用DHCP服务,这样会向网络广播新的IP地址,这可能会提醒网络管理员发现有测试人员存在。对于某些测试场景,这没有太大问题,在启动期间自动启动某些服务可能是有利的,可以通过输入以下命令来实现:
Kali安装的网络服务可以根据需要启动或停止,包括DHCP、HTTP、SSH、TFTP和VNC服务器。这些服务通常从命令行调用,但有些也可以从Kali菜单直接访问。
使用经过身份验证或未经身份验证的代理连接需要修改bash.bashrc和apt.conf文件,这两个文件都位于/etc/目录中。编辑bash.bashrc文件,使用文本编辑器将以下行添加到bash.bashrc文件的底部:
将代理IP地址和端口号分别替换为你的代理IP地址和端口号,并将用户名和密码分别替换为你的身份验证用户名和密码。如果不需要身份验证,请仅写入@符号后面的部分。保存并关闭文件。
在测试期间为了最大限度地减少被目标网络检测到的概率,Kali不会启用任何外部侦听网络服务。有些服务(如SSH)已安装,但是必须在使用前启用它们。Kali预配置了默认的SSH密钥。在启动SSH服务之前,最好禁用默认密钥并生成唯一密钥集以供使用。将默认SSH密钥移动到备份文件夹,然后使用以下命令生成新的SSH密钥集:
要确认SSH服务正在运行,可以使用命令sudo service ssh status进行验证。
请注意,使用SSH的配置默认禁用root登录。如果你需要使用root账户访问,可能需要编辑/etc/ssh/sshd_config并设置PermitRootLogin为yes,保存并退出。完成后,你应该能够从同一网络上的任何系统访问SSH服务并使用Kali Linux。在这个例子中,我们使用PuTTY,这是一个免费的便携式Windows SSH客户端。现在你应该能够从另一台机器访问Kali Linux,接受SSH证书,然后输入你的凭据。
可以使用多种工具来优化和加速Kali操作:
•使用VM时,请安装其软件驱动包,无论是Guest Additions(VirtualBox)还是VMware Tools(VMware)。
必须确保在安装之前运行apt-get update。
•创建VM时,请选择固定磁盘大小,而不是动态分配的磁盘大小。将文件添加到固定磁盘的速度更快,并且文件碎片更少。
•默认情况下,Kali不会显示启动菜单中的所有应用程序。在启动过程中加载应用程序会降低系统的速度,并可能影响内存使用和系统性能。可以通过终端中的以下命令来优化:
■要列出启动时加载的所有服务,请在命令行里输入sudo systemctl list-unit-files--type=service,你可以通过运行sudo systemctl disable--now <nameoftheservice>来禁用不需要的服务。
■可以通过在终端中运行sudo systemctl list-unit-files--type=service--state=enabled-all来列出已启用的服务。
Kali工具集可以灵活地与驻留在不同操作系统(尤其是Microsoft Windows)上的应用程序共享结果。共享数据的最有效方法是,创建一个可以从主机操作系统以及Kali Linux VM Guest访问的文件夹。将数据从主机或VM放置在共享文件夹中时,访问该共享文件夹的所有系统都可以立即通过共享文件夹来访问。要创建共享文件夹,请执行以下步骤:
1)在主机操作系统上创建一个文件夹。在此示例中,将它命名为KALI_SHARE。
2)右击该文件夹,然后选择Sharing选项,从菜单中选择Share。
3)确保文件共享设置为Everyone,且共享权限级别设置为Read/Write。
4)在此之前,请分别将VMware tools/Virtual Box Guest additions安装到Kali Linux上。
5)安装完成后,转至VMware player菜单,选择Manage,然后单击Virtual Machine Settings,找到Shared Folders的启用菜单,然后选择Always Enabled。
6)对于Oracle VirtualBox,请选择VM并转到Settings,选择Shared Folders,如图1.29所示。
图1.29 将共享驱动器从源操作系统挂载到虚拟操作系统
请注意,旧版本的VMware Player使用不同的菜单。
7)现在该文件夹应该会自动挂载到media文件夹中,如图1.30所示。
图1.30 将共享驱动器成功挂载到Kali Linux VM
8)放置在文件夹中的所有内容都可以在虚拟操作系统的同名文件夹上被访问,反之亦然。
共享文件夹中包含渗透测试中的敏感数据,必须加密以保护客户的网络,并在数据丢失或被盗时减少测试人员的责任。
通常,为了维护系统和软件开发,命令行界面在Linux中被开发为多个Shell,例如sh、bash、csh、tcsh和ksh。
可以利用以下Bash脚本根据渗透测试的目标来自定义Kali Linux:https://github.com/PacktPublishing/Mastering-Kali-Linux-for-Advanced-Penetration-Testing-4E。