千家信息网

Kali+Linux--------环境搭建

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,"这个世上只有两种人,*和被****的人。"所有事情都是围绕一个目标来实现的。因此,在本章中,我们将讨论基于目标的测试的重要性;并且描述一些在没有目标的情况下,漏洞扫描、测试和红队练习的经典失败案例。
千家信息网最后更新 2026年10月31日Kali+Linux--------环境搭建

"这个世上只有两种人,*和被****的人。"

所有事情都是围绕一个目标来实现的。因此,在本章中,我们将讨论基于目标的测试的重要性;并且描述一些在没有目标的情况下,漏洞扫描、测试和红队练习的经典失败案例。本章还对安全测试做了一个总结,介绍了如何搭建实验室环境,重点讨论了如何自定义Kali以支持测试的一些高级内容。阅读完本章,你将了解到以下内容:
1.安全测试的概述
2.漏洞扫描、
测试和红队练习的经典失败案例
3.更新和组织Kali
4.使用BASH脚本自定义Kali
5.设置定义的目标
6.构建运行环境

1.1 安全测试的概念

世界各地的每个家庭,每个个体、公共企业或私人企业在网络空间中都存在各种顾虑,例如数据丢失、恶意软件和网络恐怖主义等。这些都围绕一个概念--保护。如果你问100位不同的安全顾问:"什么是安全测试?"可能会听到不同的回答。其中最简单的解释为:安全测试是一个过程,用于验证信息资产或系统是否受到保护,并且验证保护功能是否按照预期效果执行。

1.2 经典漏洞扫描、***测试和红队练习的失败

在本节中,我们将重点介绍传统/经典的漏洞扫描、***测试和红队练习,并说明它们的局限性。现在让我们开始简单阐述这三种方法的实际意义,并讨论它们的局限性:

·漏洞扫描(Vulnerability scanning,Vscan):这是一个识别系统或者网络的安全漏洞的过程。漏洞扫描的局限性是:只识别潜在的漏洞。其中可能包括大量的误报,对用户而言,这些漏洞的存在与风险评估并没有太大关系。

·测试(Penetration testing,Pentest):这是一个安全地利用漏洞而不影响现有网络或业务的过程。测试人员尝试并模拟漏洞利用后,误报的次数就会减少。测试的不足是只能利用目前已知的公开漏洞,并且大部分都是以项目为重点的测试。在***测试中,我们经常听到"耶!得到权限",但我们从来不问"下一步是什么"。这可能有各种原因,如项目限制你立即向客户报告高风险问题,或者客户只关心网络的一部分,并希望你妥协。

·红队训练(Red Team Exercises,RTE):这是一种评价组织的有效防御网络威胁并且提高其安全性的过程。在RTE期间,我们注意到实现项目目标有多种方式,例如针对项目目标活动进行的完整覆盖,包括网络钓鱼、无线、丢弃盒和物理***测试等。使用RTE的不足是它们具有时间限制,具有预定义的方案,并且它们假设虚拟的真实环境。

通常,三种不同的测试方法都指向术语:**或破解。我们将你的网络,并暴露网络的弱点,但是,客户或企业主是否知晓这些网络被侵入或破解?我们如何衡量或破解?有什么标准?我们什么时候才能知道网络被***或完全破解?所有这些问题都指向一件事--什么是主要目标?

测试/RTE的主要目标是确定风险,评估组织的每项资产、业务、品牌形象等的风险等级。这不是评估他们有多少,而是评估他们暴露多少。如果发现的威胁并不构成风险,则无须进行证明。例如,对宣传册网站进行跨站脚本(Cross-Site Scripting,XSS)可能不会对业务产生重大影响;然而,客户端可能会接受使用Web应用程序防火墙(Web Application Firewall,WAF)防止XSS***。

1.3 测试方法

模型中很少考虑为什么要进行测试,或哪些数据是需要保护的业务关键数据。缺少这至关重要的一步,测试无法抓住重点。

很多测试人员不愿遵循现成的模型方法,他们担心模型会阻碍他们进行网络的创造力。测试不能反映恶意者的实际活动。通常,客户希望看到你能不能在一个特定的系统中获得管理上的访问权("你可以打开这个盒子吗?")。然而,***者可能会重点关注复制关键数据的方式--不需要底层接入,或引起拒绝服务。

为了解决测试方法中固有的局限性,必须从***者的角度集成一个框架--杀链(Rill chain)。

在2009年,Lockheed Martin CERT的Mike Cloppert介绍了这个概念,现在被称为"者杀链(attacker kill chain)"。当者访问网络时,"杀链"包含者采取的步骤。"杀链"不总是以一个线性流呈现,因为一些步骤可能会并行出现。多发可以对同一个目标瞬时进行多种,并且在同一时间***步骤可能发生重叠。

在本书中,我们已经修改了Cloppert的杀链,使之能更准确地反映***者如何在利用网络、应用和数据服务时应用这些步骤。

图1.1显示了一个***者的典型杀链。


一个***者的典型杀链可以描述为:

·侦察阶段。有一句格言:"侦察永远不浪费时间"。大多数军事组织承认,在进攻敌人之前,最好尽可能地去了解敌人的一切信息。同样,者在之前也会对目标展开广泛的侦察。事实上,据估计,针对测试或,至少有70%的"工作量"是进行侦察!一般来说,可采用两种类型的侦察:

·被动侦察。这种方式并不直接与目标以敌对方式进行交互。例如,者将会审查公共的可用网站,评估在线媒体(尤其是社交媒体网站),并试图确定目标的"表面"。

一个详细的任务将会产生一份过去和现在的雇员名称的列表。这些名称将成为尝试蛮力或密码猜测的基础。同样它们也被用到社会工程的中。

这种类型的侦察很难从普通用户的行为中区分出来。

·主动侦察。这种方式可以被目标检测到,但是很难从常规的背景中区分出大多数在线组织的表现。

主动侦察期间的活动包括物理访问目标前端、端口扫描和远程漏洞扫描。

·交付阶段。交付是选择和开发武器,武器用于完成中的任务。精确的武器选择取决于者的意图以及实施路线(例如,借助网络、通过无线,或通过基于Web的服务)。交付阶段的影响将在本书第二部分进行研究。

·利用或阶段。一个特定的漏洞被成功利用的时刻,此时者实现他们的目标。可能已经在一个特定的情景下发生(例如:通过缓冲区溢出利用一个已知操作系统的安全隐患),或者可能在多个情景下发生(例如:一个者物理访问公司住所,偷取他们的电话簿,用公司员工的名字来创建门户登录蛮力列表。此外,电子邮件被发送到所有员工以引诱他们单击一个嵌入式链接,下载制作的PDF文件,这些文件会危及员工的计算机)。当恶意者针对特定的企业时,多情景是常态。

·后期利用阶段:对目标的行动。这经常被称为"渗漏阶段"(exfiltration phase),这是错误的,因为通常理解的,仅仅以窃取敏感信息作为唯一的目的(如登录信息、个人信息和财务信息);但是,通常情况下,者有不同的目标。例如,这一阶段必须专注于者的许多可能的行动。

最常见的利用活动是***者试图提升他们的访问权限到最高级(纵向升级),并且破解尽可能多的账号(横向升级)。

·后期利用:持久性。如果一个网络或者系统是有价值的,那么这个价值很可能在持续下增长。这就需要者持续与被攻破的系统之间保持通信。从防护者的角度来看,这是杀链中最容易检测到的一部分。

当者试图网络或特定的数据系统时,杀链是者行为的一种基本模型。作为一种元模型,它可以吸收任何私人的或商业的测试方法。但是,也不同于这些方法,它使者在一个战略高度上关注如何接近网络。这种专注于***者的活动将引导本书的布局和内容。

1.4 Kali Linux介绍--历史和目的

Kali Linux(Kali)继承于BackTrack测试平台,通常认为BackTrack是测试安全数据和语音网络的实际标准工具包。它是由Mati Aharoni和Devon Kearns联合开发的性安全防护工具。Kali的发展历程如下:

·2013年3月,基于Debian GNU/Linux开源系统的***测试新工具Kali Linux取代了BackTrack。

·Kali 1.1.0(2015年2月9日):这是kali两年来的第一次升级,其内核补丁改至3.18,有无线注入***的补丁,支持无线驱动--大约有58个固定bug。其他版本如Kali 1.1.0a可以选择性地安装某些程序。

·Kali 2.0(2015年8月11日):这是一个主要版本,现在是滚动分布,主要更改了UI。可以从旧版本更新到新版本Kali 2.0。

·Kali 2016.1(2016年1月21日):推出了第一个Kali。内核4.3和最新的Gnome 3.18的发行版本。

·Kali 2016.2(2016年8月31日):第二个Kali滚动版本。内核4.6和Gnome 3.20.2更新修复了一些错误。

Kali 2.0的其他功能包括:

·包含超过300个测试、数据取证和防御工具。它们由硬件和内核补丁程序提供无线支持,允许一些数据包注入无线。

·支持多种桌面环境,例如Gnome、KDE、LXDE以及XFCE,也支持多种语言。

·兼容Debian的工具每天至少和Debian资源库同步四次,使更新封装包和支持安全修复更容易。

·有安全的发展环境和GPG签名的包和回购协议。

·支持ISO自定义,也就是允许用户建立他们自己的Kali版本。引导程序功能也执行企业级网络的安装,可以用先前的种子文件进行自动化安装。

·随着基于ARM的系统变得越来越普遍,成本越来越低,所以支持ARMEL和ARMHF的Kali可安装在如下设备上,例如rk3306mk/ss808、Raspberry Pi、ODROID U2/X2、Samsung Chromebook、EfikaMX、Beaglebone Black、CuBox和Galaxy Note 10.1。

·Kali保留了一个免费的开源项目。最重要的是,它得到了活跃的在线用户群的支持。

Kali Linux的目的是保护并集成所有的工具,为***测试人员提供一个统一的平台。

1.5 安装和更新Kali Linux

我们主要介绍了有关于kali***相关的知识。现在将更全面地介绍Kali Linux的不同安装方法与更新技术。

1.6 在便携式设备中使用Kali Linux

将Kali Linux安装到便携式设备中相当简单。在某些情况下,客户不允许在安全设施内部使用外部笔记本电脑。这种情况下,通常客户端向漏洞测试者提供测试计算机以进行扫描。在漏洞测试和RTE时,在一个便携式设备上运行Kali Linux有更多的好处:

·使用USB或者移动设备时,Kali在你的口袋中。

·无需对主机操作系统进行任何更改,Kali可以直接运行。

·可以自定义构建Kali Linux,甚至使用固化存储器。

从Windows PC将USB转换为便携式Kali是一个简单的过程,包含三个步骤:

1)Kali Linux映像的官方下载URL为:http://docs.kali.org/introduction/download-official-kali-linux-images 。

2)Win32Disk Imager的下载地址为:https://sourceforge.net/projects/win32diskimager/ 。

3)以管理员身份打开Win32Disk Imager。将USB驱动器插入PC的可用USB端口,可以看见图1.2所示的界面。选择正确的驱动器名称,然后单击Write。

一旦完成,退出Win32Disk Imager,并安全移出USB。现在Kali Linux已经在便携式设备上准备好了,并可以插入任何笔记本电脑来直接启动。如果主机操作系统是Linux,则可以通过两个标准命令来实现,即--sudofdisk-1和dd if=kali linux.iso of=/dev/nameofthedrive bs=512k。前者将显示驱动器上安装的所有磁盘;对于后者,如果用于输入文件,dd命令行执行转换和复制,of是指输出文件,bs是指块大小。

1.7 将Kali安装到虚拟机中

本节将深入了解如何将Kali安装到VMware Workstation Player和Oracle VirtualBox中。

VMware Workstation Player

VMware Workstation Player以前称为VMware Player,可供个人免费使用。在主机操作系统中,VMware虚拟机作为桌面应用程序存在,允许商用。该应用程序可以从URL http://www.vmware.com/products/player/playerpro-evaluation.html 下载。

接下来,介绍将Kali Linux逐步安装到VMware Workstation Player中的过程。

一旦将文件下载到主机操作系统中,只需单击Open the executable(打开可执行文件)即可看到如图1.3所示的屏幕截图。

下一步是接受最终用户许可协议,单击Next,直至获得如图1.4所示的屏幕,屏幕显示了在主机操作系统上成功安装了VMware。

下一步将Kali Linux安装到VMware,我们已经从官方的Kali Linux下载了文件,现在点击Create a NewVirtual machine(创建新的虚拟机)并选择Installer disc image file(iso)(安装磁盘映像文件)。浏览下载的ISO文件,然后单击Next。现在可以输入所选择的名称(例如,HackBox),并选择要存储VMware映像的自定义位置。单击Next,然后指定运行Kali的最小磁盘容量(推荐为10GB),然后单击Next直到完成所有设置。完成后,应该可以看到如图1.5所示的屏幕。


可以选择将Kali Linux安装到主机操作系统或将其作为实时映像运行。一旦完成所有安装步骤,就可以从VMware成功启动Kali Linux,如图1.6所示。

注意: Sana存储库从新版本的kali-linux 2016.2中删除。Sana是由包组成的存储库的代码名称。所以建议安装/启动Kali Linux后的第一步是运行apt-get update,以便更新sources.lst文件。

VirtualBox

VirtualBox类似于VMware Workstation Player,它是一个完全开源的虚拟机管理程序,也是可以从主机操作系统运行任何虚拟机的免费桌面应用程序。可以从https://www.Virtualbox.org/wiki/Downloads 下载VirtualBox。

现在将在VirtualBox上安装Kali。与VMware类似,将执行所下载的可执行文件,这些可执行文件将引导我们进入如图1.7所示的屏幕。

一旦点击Next,VirtualBox应该提供自定义选项选择不同的存储方式,默认情况下,我们将选择VirtualBox Application,如图1.8所示。
点击Next,可以看到安装进度,如图1.9所示。

图1.10提供了成功安装Oracle VirtualBox的确认信息。



下一步是将Kali Linux安装到VirtualBox中。点击菜单中的New,出现如图1.11所示的屏幕,可以输入所选择的名称,并选择平台的正确版本。例如,根据我们下载的ISO映像,选择64位Debian或32位Debian。

单击Next,并提供Kali所需的RAM大小。我们建议RAM至少为1GB。通过点击Next,将在主机操作系统上为Kali Linux创建一个虚拟硬盘。单击Next选择硬盘文件类型,大多选择VDI(Virtualbox Disk Image),如图1.12所示。


点击Next,创建硬盘的大小,如图1.13所示。

最后,我们必须到Hackbox|Settings中,将ISO映像加载为外部驱动,如图1.14所示。


现在应该可以看到以下截图,已成功安装Kali Linux到VirtualBox,如图1.15所示。

1.8 将Kali安装到Docker设备

Docker是一个开源项目,旨在即时自动部署软件容器和应用程序。Docker还在Linux上提供了操作系统级的虚拟化附加抽象和自动化层。

Docker适用于Windows,MacOS、Linux、AWS(Amazon Web Services)和Azure。在Windows中,可从https://download.docker.com/win/stable/InstallDocker.msi 下载Docker。

以下步骤显示如何在Windows 10中安装Docker,如图1.16所示:

安装Docker到Windows,需要使用Microsoft Windows上的Hyper-V功能。如果没有启用Hyper-V,很可能会看到如图1.17所示的界面。
一旦点击Ok,Hyper-V将由Docker应用程序启用,可以通过简单地输入docker命令查看命令提示信息,如图1.18所示。

现在,我们已经将Docker设备安装到Windows主机操作系统。使用简单的docker pull kalilinux/kalilinux-docker命令安装Kali Linux,如图1.19所示。



一旦将Kali Linux下载到Docker应用程序,就可以立即从下载的Kali Docker设备运行run-t-i kalilinux/kal-linux-docker/bin/bash,如图1.20所示。

应该能够直接从Docker运行Kali Linux。另外,请注意,Docker在后台使用VirtualBox环境。因此,它是通过Docker设备在VirtualBox上运行的虚拟机。

1.9 将Kali安装到云--创建一个AWS实例

AWS是Amazon提供的一个基于云的平台,Amazon主要为客户提供随时随地的计算、存储和内容传送。测试者或可以利用AWS进行***测试,本节将介绍最简单地将Kali Linux安装到AWS中的方法,在外部命令和控制的情况下,这将非常方便。

首先,需要一个有效的AWS账户。可以通过访问https://console.aws.amazon.com/console/home 注册。

登录AWS账户后,可以看到所有的AWS服务,如图1.21所示。

第二步是在AWS上启动Kali Linux。我们将通过安装Debian操作系统来定制Kali Linux。开源社区使得在Amazon Marketplace中直接启动预配置的Kali Linux 2016.2变得非常简单。https://aws.amazon.com/marketplace/pp/B01M26MMTT 将使我们能够在几分钟内直接启动Kali Linux。

当访问该链接时,能够看到如图1.22所示的内容。

点击Accept Software Terms&Launch with 1-Click(接受软件条款并且启动)按钮,然后通过访问https://console.aws.amazon.com/ec2/v2/home?regin=us-east-1 ,来访问你的AWS控制台。现在可以通过在Launch Instance(创建实例)上选择Instance ID按钮来创建一个实例,如图1.23所示。

为了确保只有你可以访问Kali Linux,需要创建一个键值对。现在可以使用在键值对中生成的私钥登录到你的AWS云。然后,通过从命令shell输入以下命令来登录:


图1.24显示了Kali已在AWS上成功安装。

必须满足所有条款和条件才能利用AWS进行测试。在发起云主机的任何之前,必须遵守法律条款和条件。

1.10 小结

在文章中,我们介绍了不同的测试方法,以及针对实时进行测试的基于目标的测试的组织方法。我们介绍了测试人员如何在多个不同平台上使用Kali Linux来评估数据系统和网络的安全性。我们已经在不同的虚拟化平台上安装了Kali,并且看到在Windows平台上使用Docker运行Linux操作系统的快捷。

测试 系统 网络 如图 目标 安全 漏洞 选择 文件 操作系统 方法 程序 运行 主机 数据 设备 不同 应用 支持 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 河南云网互联网络科技有限公司 互联网科技工作委员会主任 智能科技公司是互联网公司吗 金融科技创新监管互联网金融 广州宏创互联网科技 致聘互联网科技 广州互联网络科技有限公司 哈尔滨新华互联网科技学院 互联网科技热点资讯 现代互联网科技股 坤平互联网科技 洛阳共同富裕互联网科技有限公司 工业互联网展湾科技股份有限公司 山东子淼互联网科技有限公司 小米互联网科技园入驻 科技信息时代互联网发展 玉溪新华互联网科技怎么选 数字互联网科技有限公司 上海互联网科技园景观 科技互联网政务服务 互联网 卓越科技 智网互联网科技 为想互联网科技 亿账通互联网科技 互联网科技大会案例 深圳前海聚择互联网科技有限公司 智腾互联网科技有限公司 抖集互联网科技技术咨询 上海互联网科技园景观
0