1.2 安装Kali Linux操作系统
Kali Linux是一个基于Debian的Linux发行版,它的前身是BackTrack Linux发行版。在该操作系统中,自带了大量安全和取证方面的相关工具。为了方便用户进行渗透测试,本书选择使用Kali Linux操作系统。用户可以将Kali Linux操作系统安装在物理机、虚拟机、树莓派、U盘和手机等设备。本节将介绍Kali Linux操作系统的安装方法。
1.2.1 在物理机上安装Kali Linux
在物理机上安装Kali Linux操作系统之前,需要做一些准备工作,如确认磁盘空间大小、内存等。为了方便用户的使用,建议磁盘空间至少25GB,内存最好为512MB以上。接下来,就是将Kali Linux系统的ISO文件刻录到一张DVD光盘上。如果用户没有光驱的话,可以将Kali Linux系统的ISO文件写入到U盘上。然后使用U盘,引导启动系统。下面将分别介绍这两种安装方法。
当用户确认所安装该操作系统的计算机,硬件没问题的话,接下来需要下载Kali Linux的ISO文件。Kali Linux的官方下载地址为http://www.kali.org/downloads/,目前最新版本为1.1.0。下载界面如图1.1所示。
图1.1 Kali Linux ISO文件下载界面
从该界面可以看到,Kali Linux目前最新的版本是1.1.0,并且在该网站提供了32位和64位ISO文件。由于本书主要介绍对无线网络进行渗透测试,Aircrack-ng工具是专门用于无线渗透测试的工具,但是,该工具只有在Kali Linux1.0.5的内核中才支持。为了使用户更好地使用该工具,本书将介绍安装Kali Linux1.0.5操作系统,然后升级到最新版1.1.0。这样可以保留1.0.5操作系统的内核,也就可以很好地使用Aircrack-ng工具。目前官方网站已经不提供1.0.5的下载,需要到http://cdimage.kali.org/网站下载,如图1.2所示。
图1.2 Kali操作系统的下载页面
从该界面可以看到,在该网站提供了Kali Linux操作系统所有版本的下载。这里选择kali-1.0.5版本,将打开如图1.3所示的界面。
图1.3 下载kali linux 1.0.5
从该界面可以看到提供了Kali Linux1.0.5各种平台的种子。本书以64位操作系统为例,讲解Kali Linux的安装和使用,所以选择使用迅雷下载kali-linux-1.0.5-amd64.torrent种子的ISO文件。用户可以根据自己的硬件配置,选择相应的种子下载。
1.使用DVD光盘安装Kali Linux
(1)将下载好的Kali Linux ISO文件刻录到一张DVD光盘上。
(2)将刻录好的DVD光盘插入到用户计算机的光驱中,启动系统设置BIOS以光盘为第一启动项。然后保存BIOS设置,重新启动系统将显示如图1.4所示的界面。
图1.4 安装界面
(3)该界面是Kali的引导界面,在该界面选择安装方式。这里选择Graphical install(图形界面安装)选项,将显示如图1.5所示的界面。
图1.5 选择语言
(4)在该界面选择安装系统语言,这里选择Chinese(Simplified)选项。然后单击Continue按钮,将显示如图1.6所示的界面。
图1.6 选择区域
(5)在该界面选择用户当前所在的区域,这里选择默认设置“中国”。然后单击“继续”按钮,将显示如图1.7所示的界面。
图1.7 配置键盘
(6)该界面用来配置键盘。这里选择默认的键盘格式“汉语”,然后单击“继续”按钮,将显示如图1.8所示的界面。
图1.8 加载额外组件
(7)该过程中会加载一些额外组件并且配置网络。当网络配置成功后,将显示如图1.9所示的界面。
图1.9 设置主机名
(8)在该界面要求用户设置主机名,这里使用默认设置的名称Kali。该名称可以任意设置,设置完后单击“继续”按钮,将显示如图1.10所示的界面。
图1.10 设置域名
(9)该界面用来设置计算机使用的域名,用户也可以不设置。这里使用提供的默认域名localdomain,然后单击“继续”按钮,将显示如图1.11所示的界面。
图1.11 设置用户名和密码
(10)该界面用来设置根root用户的密码。为了安全起见,建议设置一个比较复杂点的密码。设置完成后单击“继续”按钮,将显示如图1.12所示的界面。
图1.12 磁盘分区
(11)该界面用来选择分区方法。这里选择“使用整个磁盘”选项,然后单击“继续”按钮,将显示如图1.13所示的界面。
图1.13 选择要分区的磁盘
(12)在该界面选择要分区的磁盘。当前系统中只有一块磁盘,所有这里选择这一块就可以了。然后单击“继续”按钮,将显示如图1.14所示的界面。
图1.14 选择分区方案
(13)在该界面选择分区方案,此处提供了3种方案。这里选择“将所有文件放在同一个分区中(推荐新手使用)”选项,然后单击“继续”按钮,将显示如图1.15所示的界面。
图1.15 分区情况
(14)该界面显示了当前系统的分区情况。从该界面可以看到目前分了两个区,分别是根分区和SWAP分区。如果用户想修改目前的分区,可以选择“撤销对分区设置的修改”选项,重新进行分区。如果不进行修改,则选择“分区设定结束并将修改写入磁盘”选项。然后单击“继续”按钮,将显示如图1.16所示的界面。
图1.16 格式化分区
(15)在该界面提示用户是否要将改动写入磁盘,也就是对磁盘进行格式化。这里选择“是”复选框,然后单击“继续”按钮,将显示如图1.17所示的界面。
图1.17 安装系统
(16)此时,开始安装系统。在安装过程中需要设置一些信息,如设置网络镜像,如图1.18所示。如果安装Kali Linux系统的计算机没有连接到网络的话,就在该界面选择“否”复选框,然后单击“继续”按钮。这里选择“是”复选框,将显示如图1.19所示的界面。
图1.18 配置软件包管理器
图1.19 设置HTTP代理
(17)在该界面设置HTTP代理的信息。如果不需要通过HTTP代理来连接到外部网络的话,直接单击“继续”按钮,将显示如图1.20所示的界面。
图1.20 配置软件包管理器
(18)该界面显示正在配置软件包管理器。配置完成后,将显示如图1.21所示的界面。
图1.21 将GRUB安装至硬盘
(19)在该界面提示用户是否将GRUB启动引导器安装到主引导记录(MBR)上,这里选择“是”复选框。然后单击“继续”按钮,将显示如图1.22所示的界面。
图1.22 将GRUB安装至硬盘
(20)此时将继续进行安装,安装完GRUB后,将显示如图1.23所示的界面。
图1.23 操作系统安装完成
(21)从该界面可以看到操作系统已经安装完成。接下来,需要重新启动操作系统了。所以,单击“继续”按钮,结束安装进程,并重新启动操作系统,如图1.24所示。
图1.24 结束安装进程
(22)从该界面可以看到正在结束安装进程。当安装进程结束后,将自动重新启动计算机并进入操作系统。成功启动系统后,将显示如图1.25所示的界面。
图1.25 登录系统
(23)在该界面选择登录的用户名。由于在安装操作系统过程中没有创建任何用户,所以这里仅显示了“其他”文本框。此时单击“其他”选项,将显示如图1.26所示的界面。
图1.26 输入用户名
(24)在该界面输入登录系统的用户名。这里输入用户名root,然后单击“登录”按钮,将显示如图1.27所示的界面。
图1.27 输入登录用户的密码
(25)在该界面输入用户root的密码,该密码就是在安装操作系统过程中设置的密码。输入密码后,单击“登录”按钮。如果成功登录系统,将会看到如图1.28所示的界面。
图1.28 登录系统的界面
(26)当看到该界面时,表示root用户成功登录了系统。此时,就可以在该操作系统中实施WiFi渗透测试了。
2.使用U盘安装Kali Linux
当用户在物理机安装操作系统时,如果没有光驱的话,就可以使用U盘来实现。并且使用光盘安装时,也没有使用U盘安装的速度快。下面将介绍如何使用U盘安装Kali Linux。在使用U盘安装Kali Linux之前,需要做几个准备工作。如下所示:
❏准备一个最少4GB的优盘。
❏下载Kali Linux的ISO文件。
❏下载一个将ISO文件写到U盘的实用工具,这里使用名为Win32 Disk Imager的工具。
将以上工作准备好后,就可以安装Kali Linux操作系统了。具体步骤如下所述。
(1)将准备的优盘插入到一台主机上,然后启动Win32 Disk Imager工具,将显示如图1.29所示的界面。
图1.29 Win32 Disk Imager启动界面
(2)在该界面单击图标,选中kali Linux的ISO文件,将显示如图1.30所示的界面。
图1.30 加载ISO文件
(3)此时,在该界面单击Write按钮,将显示如图1.31所示的界面。
图1.31 确认写入数据到目标设备
(4)该界面提示是否要将数据写入到D设备吗?这里单击Yes按钮,将显示如图1.32所示的界面。
图1.32 开始写入数据
(5)从该界面可以看到正在向目标设备写入数据。写入完成后,将显示如图1.33所示的界面。
图1.33 成功写入数据
(6)从该界面可以看到在目标设备上已成功写入数据。此时单击OK按钮,将返回到如图1.30所示的界面。然后单击Exit按钮,关闭Win32 Disk Imager工具。最后,将插入的U盘弹出。
(7)现在,将刚才写入ISO文件内容的U盘插入到安装Kali Linux系统的计算机上。启动系统设置BIOS以优盘为第一启动项,然后保存BIOS设置并重新启动系统后,将显示如图1.34所示的界面。
图1.34 安装界面
(8)该界面就是Kali Linux的安装界面。这以下的安装方法,和前面介绍的使用光盘安装的方法相同,这里不再介绍。
1.2.2 在VMware Workstation上安装Kali Linux
VMware Workstation是一款功能强大的桌面虚拟计算机软件。该软件允许用户在单一的桌面上同时运行不同的操作系统,并且可以进行开发、测试和部署新的应用程序等。VMware Workstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器。当用户没有合适的物理机可以安装操作系统时,在VMware Workstation上安装操作系统是一个不错的选择。在渗透测试时,往往需要多个目标主机作为靶机,并且是不可缺少的。所以,用户可以在VMware Workstation上安装不同的操作系统。下面将介绍在VMware Workstation上安装Kali Linux操作系统。
(1)下载VMware Workstation软件,其下载地址为https://my.vmware.com/cn/web/vmware/downloads。该软件目前最新的版本是11.0.0,下载界面如图1.35所示。
图1.35 下载VMware Workstation
(2)从该界面可以看到,VMware Workstation可以安装在Windows和Linux系统中。本书选择将该软件安装到Windows操作系统,所以选择下载VMware Workstation 11 for Windows。下载完成后,通过双击下载的软件名,然后根据提示进行安装。该软件的安装方法比较简单,这里不进行讲解。
(3)启动VMware Workstation,将显示如图1.36所示的界面。
图1.36 VMware Workstation启动界面
(4)从该界面可以看到,有4个图标可以选择。这里单击“创建新的虚拟机”图标,将显示如图1.37所示的界面。
图1.37 新建虚拟机向导
(5)从该界面可以看到,显示了两种安装类型,分别是“典型”和“自定义”。如果使用“自定义”类型安装的话,用户还需要手动设置其他配置。这里推荐使用“典型”类型,然后单击“下一步”按钮,将显示如图1.38所示的界面。
图1.38 安装客户机操作系统
(6)在该界面选择安装客户机操作系统的方式。从该界面可以看到,提供了3种方法。这里选择使用“稍后安装操作系统(S)”选项,然后单击“下一步”按钮,将显示如图1.39所示的界面。
图1.39 选择客户机操作系统
(7)在该界面选择安装的操作系统和版本。这里选择Linux操作系统,版本为“Debian 7.x64位”,然后单击“下一步”按钮,将显示如图1.40所示的界面。
图1.40 命名虚拟机
(8)在该界面为虚拟机创建一个名称,并设置虚拟机的安装位置。设置完成后,单击“下一步”按钮,将显示如图1.41所示的界面。
图1.41 指定磁盘容量
(9)在该界面设置磁盘的容量。如果当前主机有足够大的磁盘容量时,建议设置的磁盘容量大点,避免造成磁盘容量不足。这里设置为80GB,然后单击“下一步”按钮,将显示如图1.42所示的界面。
图1.42 已准备好创建虚拟机
(10)该界面显示了所创建虚拟机的详细信息,此时就可以创建操作系统了。然后单击“完成”按钮,将显示如图1.43所示的界面。
图1.43 创建虚拟机
(11)该界面显示了新创建的虚拟机的详细信息。接下来就可以准备安装Kali Linux1.0.5操作系统了。但是,在安装Kali Linux之前需要设置一些信息。在VMware Workstation窗口中单击“编辑虚拟机设置”选项,将显示如图1.44所示的界面。
图1.44 虚拟机设置
(12)在该界面可以设置内存、处理器、网络适配器等。将这些硬件配置好后,选择CD/DVD(IDE)选项,将显示如图1.45所示的界面。
图1.45 选择ISO映像文件
(13)在该界面的右侧选择“使用ISO映像文件”复选框,并单击“浏览”按钮,选择Kali Linux1.0.5的映像文件。然后单击“确定”按钮,将返回到图1.43所示的界面。此时,就可以开始安装Kali Linux操作系统了。
(14)在图1.43中单击“开启此虚拟机”命令,将显示一个新的窗口,如图1.46所示。
图1.46 安装界面
(15)此时,就可以在VMware Workstation上安装Kali Linux操作系统了。
1.2.3 安装VMware Tools
VMware Tools是VMware虚拟机中自带的一种增强工具。它是VMware提供的增强虚拟显卡和硬盘性能,以及同步虚拟机与主机时钟的驱动程序。只有在VMware虚拟机中安装好VMware Tools工具,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖曳的功能,鼠标也可在虚拟机与主机之间自由移动(不用再按Ctrl+Alt)。下面将介绍安装VMware Tools的方法。
(1)在VMware Workstation菜单栏中,依次选择“虚拟机”|“安装VMware Tools...”命令,如图1.47所示。
图1.47 安装VMware Tools
(2)挂载VMware Tools安装程序到/mnt/cdrom/目录。执行命令如下所示。
root@kali:~# mkdir /mnt/cdrom/ #创建挂载点 root@kali:~# mount /dev/cdrom /mnt/cdrom/ #挂载安装程序 mount: block device /dev/sr0 is write-protected, mounting read-only
看到以上的输出信息,表示VMware Tools安装程序挂载成功了。
(3)切换到挂载位置,解压安装程序VMwareTools。执行命令如下所示。
root@kali:~# cd /mnt/cdrom/ #切换目录 root@kali:/mnt/cdrom# ls #查看当前目录下的文件 manifest.txt VMwareTools-9.6.1-1378637.tar.gz vmware-tools-upgrader-64 run_upgrader.sh vmware-tools-upgrader-32 root@kali:/mnt/cdrom# tar zxvf VMwareTools-9.6.1-1378637.tar.gz -C /usr #解压VMwareTools安装程序
执行以上命令后,VMwareTools程序将被解压到/usr目录中,并生成一个名为vmware-tools-distrib的文件夹。
(4)切换到VMwareTools的目录,并运行安装程序。执行命令如下所示。
root@kali:/mnt/cdrom# cd /usr/vmware-tools-distrib/ #切换目录 root@kali:/usr/vmware-tools-distrib# ./vmware-install.pl #运行安装程序
执行以上命令后,会出现一些问题。这时按回车键,接受默认值即可。如果当前系统中没有安装Linux内核头文件的话,在安装时出现以下问题时,应该输入no。如下所示。
Enter the path to the kernel header filtes for the 3.7-kali1-amd64 kernel? The path " " is not a valid path to the 3.7-kali1-amd64 kernel headers. Would you like to change it? [yes] no
在以上输出的信息中,输入no后,将继续安装VMware tools。如果在以上问题中按回车键的话,将无法继续安装。
(5)重新启动计算机。然后,虚拟机和物理机之间就可以实现复制和粘贴等操作。
1.2.4 升级操作系统
由于Linux是一个开源的系统,所以每天可能都会有新的软件出现,而且Linux发行套件和内核也在不断更新,这样通过对Linux进行软件包进行更新,就可以马上使用最新的软件。如果当前系统的版本较低时,通过更新软件可以直接升级到最新版操作系统。下面将介绍如何更新操作系统。
在Kali Linux中,用户可以在命令行终端或图形界面两种方法来实施升级操作系统。下面分别介绍这两种方法。
1.图形界面升级操作系统
在前面安装的操作系统版本是1.0.5,下面将通过更新软件包的方法来升级操作系统。具体操作步骤如下所述。
(1)查看当前操作系统的版本及内核。执行命令如下所示。
root@kali:~# cat /etc/issue #查看操作系统的版本 Kali GNU/Linux 1.0 \n \l root@kali:~# uname -a #查看内核信息 Linux kali 3.7-trunk-amd64 #1 SMP Debian 3.7.2-0+kali8 x86_64 GNU/Linux
从输出的信息中,可以看到当前系统的版本为1.0,内核为3.7。
(2)在图形界面依次选择“应用程序”|“系统工具”|“软件更新”命令,将显示如图1.48所示的界面。
图1.48 警告信息
(3)该界面提示确认是否要以特权用户身份运行该应用程序。这里单击“确认继续”按钮,将显示如图1.49所示的界面。
图1.49 软件更新
(4)该界面显示了总共有78个软件包需要更新。在该界面单击“安装更新”按钮,将显示如图1.50所示的界面。
图1.50 依赖软件包
(5)该界面显示了安装更新软件包依赖的软件包,单击“继续”按钮,将显示如图1.51所示的界面。
图1.51 软件更新过程
(6)从该界面可以看到软件更新的进度。在该界面,可以看到各软件包的更新过程中不同的状态。其中,软件包后面出现图标,表示该软件包正在下载;如果显示为图标,表示软件包已下载;如果显示为图标,表示已准备等待安装;当下载好的软件包安装成功后,将显示为图标。如果同时出现和图标的话,表示安装完该软件包后,需要重新启动系统;在以上更新过程中,未下载的软件包会自动跳到第一列。此时,滚动鼠标是无用的。
(7)当以上所有软件更新完成后,将弹出如图1.52所示的界面。
图1.52 软件更新完成
(8)从该界面可以看到,提示所有软件都是最新的。此时,单击“确定”按钮,将自动退出软件更新程序。
(9)这时候再次查看当前操作系统的版本及内核,将显示如下所示的信息。
root@kali:~# cat /etc/issue #查看操作系统的版本 Kali GNU/Linux 1.1.0 \n \l root@kali:~# uname -a #查看内核信息 Linux kali 3.7-trunk-amd64 #1 SMP Debian 3.7.2-0+kali8 x86_64 GNU/Linux
从输出的信息中,可以看到,当前系统的操作版本已经升级为1.1.0,内核仍然为3.7。这表明虽然通过更新软件包升级了操作系统的版本,但是原来的内核仍然保留。当用户重新启动系统时,将会发现有两个内核。这时候用户可以选择任意一个内核来启动系统,如图1.53所示。
图1.53 选择启动系统的内核
从该界面可以看到,升级后操作系统的内核是3.18。用户不管选择哪个内核启动操作系统,操作系统的版本都1.1.0,只是使用的内核不同。如选择使用3.18内核启动操作系统,启动后查看系统的版本和内核信息,显示结果如下所示。
root@kali:~# cat /etc/issue Kali GNU/Linux 1.1.0 \n \l root@kali:~# uname -a Linux kali 3.18.0-kali1-amd64 #1 SMP Debian 3.18.3-1~kali4 (2015-01-22) x86_64 GNU/Linux
从以上输出信息可以看到,该系统的版本是1.1.0,内核为3.18。
2.命令行终端升级操作系统
在Kali Linux中提供了两个命令update和dist-upgrade,它们分别对软件包进行更新或升级。这两个命令的区别如下所示。
❏update:更新软件列表信息。包括版本和依赖关系等。
❏dist-upgrade:会改变配置文件,改变旧的依赖关系,升级操作系统等。
【实例1-1】使用update命令更新软件包列表。执行命令如下所示。
root@kali:~# apt-get update
执行以上命令后,将输出如下所示的信息。
获取:1 http://security.kali.org kali/updates Release.gpg [836 B] 获取:2 http://http.kali.org kali Release.gpg [836 B] 获取:3 http://security.kali.org kali/updates Release [11.0 kB] 获取:4 http://http.kali.org kali Release [21.1 kB] 获取:5 http://security.kali.org kali/updates/main amd64 Packages [219 kB] 获取:6 http://http.kali.org kali/main Sources [7,545 kB] 忽略 http://security.kali.org kali/updates/contrib Translation-zh_CN 忽略 http://security.kali.org kali/updates/contrib Translation-zh 忽略 http://security.kali.org kali/updates/contrib Translation-en 忽略 http://security.kali.org kali/updates/main Translation-zh_CN 忽略 http://security.kali.org kali/updates/main Translation-zh 忽略 http://security.kali.org kali/updates/main Translation-en 忽略 http://security.kali.org kali/updates/non-free Translation-zh_CN 命中 http://http.kali.org kali/contrib Sources 获取:8 http://http.kali.org kali/main amd64 Packages [8,450 kB] 获取:9 http://http.kali.org kali/non-free amd64 Packages [128 kB] 命中 http://http.kali.org kali/contrib amd64 Packages 下载 16.5 MB,耗时 4分 53秒 (56.2 kB/s) 正在读取软件包列表... 完成
以上输出的信息,就是更新Kali Linux系统软件包列表的一个过程。从以上输出信息中可以发现,在链接前的表示方法不同,包括获取、忽略和命中3种状态。其中,获取表示有更新并且正在下载;忽略表示无更新或者更新无关紧要,或者不需要;命中表示链接到该网站。
【实例1-2】使用dist-upgrade命令将当前的操作系统进行升级。执行命令如下所示。
root@kali:~# apt-get dist-upgrade 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在对升级进行计算... 完成 下列软件包将被【卸载】: beef-xss-bundle 下列【新】软件包将被安装: hashid libhttp-parser2.1 python3 python3-minimal python3.2 python3.2-minimal ruby-ansi ruby-atomic ruby-buftok ruby-dataobjects ruby-dataobjects-mysql ruby-dataobjects-postgres ruby-dataobjects-sqlite3 ruby-dm-core ruby-dm-do-adapter ruby-dm-migrations ruby-dm-sqlite-adapter ruby-em-websocket ruby-equalizer ruby-execjs ruby-faraday ruby-http ruby-http-parser.rb ruby-librex ruby-libv8 ruby-memoizable ruby-msfrpc-client ruby-multipart-post ruby-naught ruby-parseconfig ruby-ref ruby-rubyzip ruby-simple-oauth ruby-therubyracer ruby-thread-safe ruby-twitter ruby-uglifier 下列软件包将被升级: apt apt-utils automater beef-xss chkrootkit dbus dbus-x11 dnsrecon dpkg dpkg-dev exploitdb ghost-phisher gnupg gpgv iceweasel iodine kali-linux kali-linux-full kali-linux-sdr kali-menu libapache2-mod-php5 libapt-inst1.5 libapt-pkg4.12 libavcodec53 libavdevice53 libavformat53 libavutil51 libdbus-1-3 libdpkg-perl libgnutls-openssl27 libgnutls26 libmozjs24d libpostproc52 libssl-dev libssl-doc libssl1.0.0 libswscale2 linux-image-3.18-kali1-amd64 linux-libc-dev metasploit metasploit-framework mitmproxy openssl php5 php5-cli php5-common php5-mysql python-lxml python-scapy recon-ng responder ruby-eventmachine ruby-json ruby-msgpack ruby-rack-protection ruby-sinatra ruby-tilt spidermonkey-bin sslsplit w3af w3af-console wpasupplicant xulrunner-24.0 yersinia 升级了 64 个软件包,新安装了 37 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。 需要下载 406 MB 的软件包。 解压缩后将会空出 13.1 MB 的空间。 您希望继续执行吗?[Y/n]
执行以上命令后,会对升级的软件包进行统计。提示有多少个包需要升级、安装和卸载等。这里输入Y,继续升级软件。由于需要下载的软件包太多,所以该过程需要很长时间。
以上软件包都更新完后,即完成操作系统的升级。同样,重新启动系统时发现有两个内核可以启动操作系统。