深入浅出Kali Linux渗透测试
上QQ阅读APP看书,第一时间看更新

bt2-L 2.2 Kali Linux的安装

Kali Linux几乎可在任何智能设备上安装,包括计算机、虚拟机、手机、云平台、树莓派等。此外,也可以安装在光盘或U盘上,通过设置计算机从光盘、U盘启动,运行Kali Linux。最近笔者看到一则消息,该消息提到美国有公司生产出了黑客无人机。笔者当时想,用安装了Kali Linux的树莓派绑在无人机上,不就是一个简版黑客无人机吗?树莓派是单板机,把它绑在无人机上,让无人机飞进渗透者无法直接进入的目标单位,然后利用目标单位中不设密码或弱密码的无线热点,实现内网攻击是完全可行的。真的黑客无人机,应该是远程无线控制的无人机,并能使渗透者直接和无人机上的软件进行交互。简版黑客无人机虽然功能没有那么强大,但无非是多飞几趟的问题,第一趟写好自动脚本收集内网无线热点信息;第二趟根据收集的信息写好自动攻击脚本,自动连接不设密码或破解成功的无线热点,然后对内网进行扫描探测,收集内网信息;第三趟根据第二趟收集的信息写好自动攻击脚本,通过无线热点进行内网攻击。在手机等移动设备上安装Kali Linux,也可以模拟相似的场景。这些方式虽然很酷,但正常的渗透测试场景却很少使用,多数情况下渗透测试都是基于计算机进行操作的。

因此,本书只介绍两种简单、常用的安装方式,等读者对Kali Linux驾轻就熟,再去研究那些“酷”的玩法。这两种方式是VMware虚拟机安装方式和U盘安装方式,它们的好处在于,VMware虚拟机安装方式不必专门占用一台计算机运行Kali Linux,且方便做实验,一台计算机可以模拟多个系统,甚至嵌入网络模拟环境中运行;以U盘安装方式启动Kali Linux就相当于独占一台计算机,这种方式尤其适合渗透目标是可接触但无法登录的计算机的场景。此外,还有光盘安装方式,光盘和U盘类似,但现在计算机已很少安装光驱,所以不如U盘使用方便。安装文件可从Kali官网下载,官网上列出了所有支持Kali Linux的平台,如图2-1所示。

在图2-1中,箭头所指是需要的虚拟机和Live Boot(U盘)平台,下载后得到两个压缩文件,一个是kali-linux-2022.2-vmware-amd64.7z,适用于VMware虚拟机安装方式;另一个是kali-linux-2022.2-live-amd64.iso,适用于U盘安装方式。

图2-1 Kali Linux支持平台

2.2.1 在VMware虚拟机中运行Kali Linux

VMware Workstation(简称VMware)是目前非常流行的桌面虚拟系统,笔者使用的是VMware Workstation 16 Pro,其安装非常简单,在此不做介绍。双击已下载的压缩文件kali-linux-2022.2-vmware-amd64.7z,只要计算机里安装了解压缩软件(如WinRAR、WinZip、360压缩等),就可将其解压缩后打开,如图2-2所示。

图2-2 用360压缩软件解压缩文件

压缩文件中有一个名为Kali-Linux-2022.2-vmware-amd64.vmwarevm的文件夹,将这个文件夹解压缩到计算机硬盘上,如D盘,然后在文件夹中找到文件“Kali-Linux-2022.2-vmware-amd64.vmx”,该文件是虚拟机的配置文件,如图2-3所示。

双击该文件,VMware即可自动运行,并将该虚拟机的名称“Kali-Linux-2022.2-vmware-amd64”加入左侧列表。选中该虚拟机,然后单击工具栏上的“启动”按钮,即可启动Kali Linux虚拟机,登录名与密码均为kali。

图2-3 解压缩后的文件列表

2.2.2 在U盘上安装Kali Linux

VMware虚拟机安装方式虽然很实用,但是难以胜任某些场景,如物联网(Internet of Things,IoT)安全测试中,会涉及大量外接工具、设备的使用,在VMware中运行这些工具,使用USB接口会存在一些潜在问题,导致出错,这时就需要使用Kali Linux物理机。如果读者手里正好有安装Kali Linux的U盘,把计算机设成U盘启动,那么这台计算机就是真正意义上的Kali Linux物理机了。

此外,还有一种应用场景适用于U盘安装方式:物理机虽然可以接触,但因为没有登录密码而无法登录。使用U盘启动该物理机后,用Kali Linux相关工具进行密码破解,就可以控制或访问这台物理机了(本书6.2.1节将进行实例演示)。

适用于U盘的安装镜像文件下载完成后,还需要一个将镜像安装到U盘上的软件,笔者选用的是balenaEtcher,它在百度上很容易搜索,下载的文件名为balenaEtcher-Portable-1.13.1.exe,该软件有安装版也有绿色版,名称带Portable的是绿色版,直接双击下载的文件就可以运行,1.13.1版还支持中文。插入U盘,右击下载的文件,在弹出的快捷菜单中选择“以管理员身份运行”该软件,单击“从文件烧录”按钮,选中kali-linux-2022.2-live-amd64.iso,单击“选择目标磁盘”按钮,选中刚才插入的U盘,然后单击“现在烧录!”按钮,就可以将镜像安装到U盘上,如图2-4所示。

图2-4 制作U盘版Kali Linux

烧录U盘大概需要10分钟,烧录完后还会自动校验一遍,校验有时会提示失败,但不影响使用。这里还有个问题需要注意,插入该U盘,并在物理机BIOS设置从U盘启动进入Kali Linux后,虽能正常使用,但不能在U盘上保存数据,需要对U盘系统实现持久化。下面介绍如何配置持久化U盘系统。由于配置过程中需要在U盘新建并格式化分区,因此建议不要在物理机上做这样的操作,因为一旦看错分区,对物理机硬盘分区进行操作就麻烦了,所以还是选在虚拟机里操作更安全。但用U盘启动虚拟机系统比启动物理机复杂,将U盘插在计算机USB口上,右击桌面上的VMware程序图标,在弹出的快捷菜单中选择“以管理员身份运行”软件,启动后选中某个虚拟机操作系统,笔者选中的是Windows 7操作系统,右击左侧虚拟机名称,在弹出的快捷菜单中选择“设置”命令,在打开的“虚拟机设置”对话框中,先选择“硬盘(CSCI)”设备(1处),再单击“添加”按钮(2处),在弹出的“添加硬件向导”对话框中,选择“硬盘”选项(3处),单击“下一步”按钮,如图2-5所示。

在弹出的对话框中选择“SCSI(推荐)”选项,单击“下一步”按钮,选择“使用物理磁盘(适用于高级用户)”选项,再次单击“下一步”按钮,选择“PhysicalDrive1”设备,注意“PhysicalDrive0”是Windows 7虚拟机的硬盘,选择“使用整个磁盘”,再次单击“下一步”按钮,磁盘文件名按默认名保存,笔者的默认名为“Windows 7 64-0.vmdk”,单击“完成”按钮。添加这个新硬盘后,还需在虚拟机BIOS里设置,才能用U盘启动虚拟机。选中刚才设置的Windows 7虚拟机,单击工具栏“启动”按钮右侧的下拉按钮,在弹出的下拉列表中选择“打开电源时进入固件”选项,如图2-6所示。

虚拟机BIOS设置采用PhoenixBIOS设置。在Boot菜单中,在键盘上按“-”键和“+”键调整“Hard Drive”下的选项,把“VMware Virtual SCSI Hard Drive (0:1)”选项调到最上方。注意选项“VMware Virtual SCSI Hard Drive(0:0)”是虚拟机硬盘,下次想恢复以VMware虚拟机硬盘启动时,按同样的方法,将其调整到最上方即可,如图2-7所示。

图2-5 为VMware虚拟机设置U盘启动

图2-6 开机进入虚拟机BIOS设置

图2-7 虚拟机的BIOS设置

保存并退出BIOS设置后,就可以从U盘启动Kali Linux了,其启动窗口如图2-8所示。

图2-8 Kali Linux live版启动窗口

在图2-8中,Kali Linux Live系统各启动模式的含义如下。

Live system(amd64):这是最简单的一种模式。这种模式的特点是,运行系统的时候,数据直接写入内存,而不是硬盘或U盘。采用这种模式启动Kali Linux,所有的操作和设置都会在下次重启时丢失,即使U盘可写也不能保存数据。

Live system(amd64 fail-safe mode):这种模式与Live system(amd64)类似,只不过它可以更好地保护硬件安全。采用这种模式启动Kali Linux,当Live系统发生故障时,不会对硬盘上的文件或硬件产生影响。

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

Live system with USB persistence(check kail.org/prst):该模式和Live system(amd64)模式类似,但可将在系统中新建的文件、更改过的配置等信息保存在USB设备(U盘)中,这就是永久模式。但现在用这种模式启动系统还是无法保存文件,因为U盘上还没有划分可写分区。接下来的主要任务就是在U盘上划分可写分区以支持这种模式。

Live system with USB Encrypted persistence:这种模式会对保存在 USB设备(U盘)上的数据进行加密。

installer:两种installer模式都是将Kali安装到硬盘上,只不过一种是图形化安装,另一种是命令行方式安装。如果想采用U盘安装方式,将Kali Linux安装到物理机或虚拟机上,可以选择这种模式。

选用Live system(amd64)模式启动Kali Linux,进入操作系统后,在终端模拟器窗口,输入命令“sudo su”和“fdisk -l”查看磁盘分区情况,如图2-9所示。

图2-9 查看虚拟机磁盘分区情况

从图2-9中磁盘容量的大小可以看出sda明显是虚拟机硬盘,sdb是U盘。笔者的U盘容量为30 GB,但从磁盘分区容量看,烧录的Kali Linux只用了约12 GB,还有大约18 GB空间可用于永久化分区,输入“fdisk /dev/sdb”将剩余空间全部用于创建sdb3分区,如图2-10所示。

图2-10 划分新分区sdb3

注意:命令提示需要用户输入的部分,除了开始输入n最后输入w外,中间按4次“Enter”键确认默认值,命令执行成功后,输入“fdisk -l”命令查看分区,会发现sdb多了一个名为sdb3的分区。该分区的情况如下所示。

/dev/sdb3       24397824 61439999 37042176 17.7G 83 Linux

依次输入如下命令。

mkfs.ext4 -L persistence /dev/sdb3
mkdir -p /mnt/myusb
mount /dev/sdb3 /mnt/myusb
echo "/ union" > /mnt/myusb/persistence.conf
umount /dev/sdb3

完成分区的格式化并设置永久分区操作,其过程如图2-11所示。

图2-11 格式化并设置永久分区

重启操作系统,选择以“Live system with USB Persistence(check kail.org/prst)”模式启动Kali Linux,在桌面创建 1 个文本文件,再次重启操作系统,选择以“Live system with USB Persistence(check kail.org/prst)”模式启动Kali Linux,看刚才创建的文本文件是否存在,如存在,说明格式化并设置永久分区成功,用这个U盘启动的计算机和在硬盘上安装并启动的物理机没有区别。