Kali Linux渗透测试全流程详解

978-7-115-62367-6
作者: 王佳亮
译者:
编辑: 傅道坤
分类: 安全

图书目录:

详情

本书作为Kali Linux的实用指南,涵盖了在使用Kali Linux进行渗透测试时涉及的各个阶段和相应的技术。 本书总计11章,主要内容包括渗透测试系统的搭建、信息收集、漏洞扫描、漏洞利用、提权、持久化、内网横向渗透、暴力破解、无线攻击、中间人攻击、社会工程学等内容。本书不仅介绍了Kali Linux的安装和配置方法,还详细讲解了Kali Linux中包含的众多安全工具的用法和原理,以及如何结合不同的工具进行有效的渗透测试。 本书通过大量的实例和截图,带领读者了解各种常见的Web安全漏洞和网络攻防技巧,提高读者的安全意识和安全技能。本书适合渗透测试初学人员阅读,也可供具有一定经验的安全从业人员温习、巩固Kali Linux实战技能。

图书摘要

版权信息

书名:Kali Linux渗透测试全流程详解

ISBN:978-7-115-62367-6

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

著    王佳亮

责任编辑 傅道坤

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内 容 提 要

本书作为Kali Linux的实用指南,涵盖了在使用Kali Linux进行渗透测试时涉及的各个阶段和相应的技术。

本书总计11章,主要内容包括渗透测试系统的搭建、信息收集、漏洞扫描、漏洞利用、提权、持久化、内网横向渗透、暴力破解、无线攻击、中间人攻击、社会工程学等内容。本书不仅介绍了Kali Linux的安装和配置方法,还详细讲解了Kali Linux中包含的众多安全工具的原理和用法,以及如何结合不同的工具进行有效的渗透测试。

本书通过大量的实例和截图,带领读者了解各种常见的Web安全漏洞和网络攻防技巧,提高读者的安全意识和安全技能。本书适合渗透测试初学人员阅读,也可供具有一定经验的安全从业人员温习、巩固Kali Linux实战技能。

作者简介

王佳亮(Snow狼),Ghost Wolf Lab负责人,渊龙SEC安全团队主创人员之一,具有10多年的渗透测试经验,精通各种渗透测试技术,擅长开发各种安全工具,在APT攻防、木马免杀等领域颇有研究。曾上报过多个大型企业的高危漏洞,并对国外的攻击进行过反制与追溯;还曾在FreeBuf、360安全客等安全平台和大会上,发表过多篇高质量的文章和演讲。

前  言

网络安全是当今信息社会的重要课题,随着网络技术的发展和应用的普及,网络攻击和防御的手段也在不断变化升级。作为网络安全从业人员,如何有效地发现和利用目标系统的漏洞,如何获取服务器乃至整个网络的权限,提升网络安全能力,是一项具有挑战性和价值性的技能。而借助Kali Linux这款工具,读者可以掌握这些技能。

在介绍Kali Linux之前,我们有必要了解一些与之相关的网络安全事件。这些事件在展示Kali Linux在真实世界中的应用和效果的同时,也提醒我们要注意、警惕网络安全风险和威胁。

2019年3月,一名黑客使用Kali Linux对美国大学发起了一系列网络攻击,窃取了超过8000名学生和教职员工的个人信息,并勒索了数百万美元。

2020年4月,一名黑客使用Kali Linux对印度国家技术研究组织(NTRO)发起了分布式拒绝服务(DDoS)攻击。

2020年12月,一名黑客使用Kali Linux对澳大利亚证券交易所(ASX)发起了SQL注入攻击,并窃取了数百万条敏感数据。

2021年2月,一名安全研究员使用Kali Linux对特斯拉的Model X汽车发起了远程攻击,并成功控制了车辆的门锁、仪表盘和其他功能。

2021年4月,一名安全专家使用Kali Linux对一家智能电表制造商进行了渗透测试,并发现了多个严重的漏洞,包括未加密的通信、硬编码的凭证和远程代码执行。

这些事件只是Kali Linux应用在网络安全领域的冰山一角,还有许多其他的案例和应用等待我们去发现和学习。希望读者能够通过本书的学习提高自己的网络安全意识和能力,同时也能够遵守相关的法律和道德规范,合理合法地使用Kali Linux。

Kali Linux是一个开源的、基于Debian的Linux发行版,专门针对高级渗透测试和安全审计而设计,可以运行在不同的硬件设备上,例如台式机、笔记本电脑、手机、树莓派等。Kali Linux提供了数百种常用的工具和特性,让用户可以专注于完成渗透测试任务,它涵盖了信息安全的各个细分领域,例如渗透测试、安全研究、计算机取证、逆向工程、漏洞管理和红队测试等。

Kali Linux在安全行业中有着重要的地位,它是许多安全从业人员和安全爱好者的首选工具。它可以帮助用户发现和利用目标系统的漏洞,收集和分析目标网络的信息,模拟真实的攻击场景,提高自己的安全技能等。无论是安全行业的新人还是资深技术人员,都可以从Kali Linux中获得有价值的知识和经验。

希望本书能够成为读者学习和使用Kali Linux的参考图书,也能够激发读者对网络安全和渗透测试的兴趣与热情。

本书组织结构

本书总计11章,其各自的内容构成如下。

第1章,渗透测试系统:“欲善其事,先利其器。”本章首先对市面上主流的渗透测试系统进行了简单介绍,然后介绍了Kali Linux的安装和配置,最后介绍了靶机环境的搭建方法。

第2章,信息收集:在进行渗透测试时,最重要的一步就是对目标进行信息收集。通过收集的信息不仅可以扩大攻击面,而且也方便后续的渗透测试。本章主要讲解了whois域名归属、绕过CDN查询真实主机IP地址、端口扫描、子域名枚举、指纹识别、目录扫描和图形化收集信息等内容。

第3章,漏洞扫描:通过漏洞扫描可以更加快速地获取目标系统的漏洞。本章介绍了漏洞数据库查询和漏洞扫描工具的使用方式,包括Nmap、ZAP、xray和针对CMS漏洞扫描的工具。

第4章,漏洞利用:在获取目标系统的漏洞信息之后,接下来需要使用相对应的漏洞利用工具对漏洞进行利用。本章详细讲解了常见的Web安全漏洞的原理、攻击方式,并给出了漏洞利用工具的具体使用方式,其中涉及Burp Suite、sqlmap、XSS漏洞利用工具以及Metasploit渗透测试框架等。

第5章,提权:在拿到目标系统的会话后,接下来需要对目标进行提权。本章介绍了各种提权工具的使用,还详细讲解了PowerShell的基本概念和常用命令,以及PowerSploit、Starkiller、Nishang等常用PowerShell工具的使用,其中涉及信息收集、权限提升、横向渗透等操作。

第6章,持久化:在通过提权方式得到目标系统的最高权限或管理员权限后,需要进行持久化处理,以便能一直连接目标系统上的会话。本章介绍了使用Metasploit框架实现持久化的方式,通过DNS协议和PowerShell进行命令行控制,以及创建网页后门来实现持久化的目的。

第7章,内网横向渗透:在获得了目标系统的高级权限并进行持久化处理之后,就要用到本章介绍的工具在目标系统所在的内部网络中进行横向渗透测试,以达到渗透内部网络中所有主机的目的,扩大攻击效果。

第8章,暴力破解:本章介绍了如何使用Kali Linux对目标系统上的各种服务进行暴力破解,以及如何对目标系统的密码哈希值进行破解。

第9章,无线攻击:本章讲解了使用Kali Linux进行无线渗透测试的方法,以及选择无线网卡、使用工具扫描无线网络(无论隐藏与否)、伪造MAC地址绕过白名单、破解基于WPA/WPA2协议的无线网络、使用工具搭建钓鱼热点的方法。本章还对无线网络中的数据包进行了分析,可使读者更容易理解无线网络中的管理帧、控制帧和数据帧。

第 10 章,中间人攻击:本章介绍了如何对目标进行中间人攻击,包括截取目标访问的URL地址和图片等信息、修改目标访问的网页内容和图片等信息、弹出对话框或执行JavaScript代码等操作,以及使用BeEF框架和Metasploit框架进行联动攻击等。

第11章,社会工程学:本章介绍了常见的社会工程学方法,以及Kali Linux中社会工程学工具的使用,包括使用SET窃取登录凭据、发起Web劫持攻击和HTA攻击。本章还介绍了如何伪装攻击者的URL地址,以及如何搭建钓鱼邮件平台和使用钓鱼邮件工具。

资源与支持

资源获取

本书提供如下资源:

本书思维导图;

异步社区7天VIP会员。

要获得以上资源,您可以扫描下方二维码,根据指引领取。

提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区(https://www.epubit.com/),按书名搜索,进入本书页面,点击“发表勘误”,输入勘误信息,点击“提交勘误”按钮即可(见下图)。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是fudaokun@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们。

如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现作者与读者在线交流互动,以及传统出版与数字出版的融合发展。

异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮电出版社在计算机图书领域30余年的发展与积淀。异步图书面向IT行业以及各行业使用IT技术的用户。

第1章 渗透测试系统

渗透测试系统是一种专为渗透测试和数字取证而设计的操作系统,它内置了许多有用的工具,可以帮助我们检测并利用网络和系统中的漏洞。渗透测试系统可以让我们更方便地进行渗透测试,无须安装和配置复杂的软件。它还可以让我们更安全地进行渗透测试,避免在自己的系统上留下痕迹或被反向攻击。

本章包含如下知识点。

渗透测试系统简介:介绍多种多样的渗透测试系统。

Kali Linux的安装:了解Kali Linux的下载、安装、更新和配置。

靶机:介绍搭建靶机的方法。

1.1 渗透测试系统简介

当前,市面上可供选择的渗透测试系统多种多样,且各具千秋。其中,Kali Linux、Parrot、BlackArch Linux被业内公认为最佳的前三款渗透测试系统。

Parrot渗透测试系统是一个集成了渗透测试、信息查找、数字取证、逆向工程、软件开发等功能的环境。该系统自带Tor浏览器和Firefox浏览器,方便用户访问暗网和隐藏自己的网络活动。该系统还支持Wine(一个可在Linux等操作系统上运行Windows应用的兼容层),可以在Linux上运行Windows应用。

BlackArch Linux是一款基于Arch Linux的渗透测试系统,专为渗透测试人员和安全研究人员设计。该系统拥有2600多个工具,涵盖了数字取证、自动化漏洞挖掘、移动设备漏洞利用、二进制漏洞挖掘、代码审计、暴力破解、漏洞利用、反汇编和反编译、无人机漏洞挖掘和利用、模糊识别、信息收集、无线设备扫描和利用、社会工程学、内网渗透等方面。

尽管Parrot和BlackArch Linux凭借其各自的特点和功能赢得了业内的认可,但是在Kali Linux面前,这两款操作系统无论是在功能特色、易用性还是市场占有率方面,都黯然失色。

Kali Linux是一款基于Debian的开源操作系统,专为渗透测试和安全审计而设计。Kali Linux集成了600多款渗透测试工具,如Nmap、Burp Suite、Wireshark、Metasploit、aircrack-ng、John the Ripper等,可以帮助我们进行不同的信息安全活动,如渗透测试、安全研究、计算机取证和逆向工程。

Kali Linux的特点如下所示。

完全定制化的ISO镜像:Kali Linux可以根据我们的具体需求,使用metapackages或live-build工具定制自己的ISO镜像,以包含我们需要的工具和配置。

支持多种设备和平台:Kali Linux可以运行在多种设备和平台上,如移动设备、容器、ARM设备、云服务商平台、Windows子系统、虚拟机等。

支持Live USB启动:Kali Linux可以存储在USB设备上,并通过USB设备直接启动而不影响主机系统(非常适合进行取证工作)。我们还可以选择创建持久性分区,保存我们的文件和配置,并且可以加密分区以保护数据安全。

支持隐蔽模式:Kali Linux可以切换到隐蔽模式,模仿一个常见的操作系统的外观,避免在公共场合引起注意或怀疑。

支持Win-KeX:Kali Linux可以在WSL(Windows Subsystem for Linux)上运行,提供了Win-KeX功能,让我们可以在Windows上体验Kali Linux的桌面环境,并提供了无缝窗口、剪贴板共享、音频支持等功能。

支持LUKS nuke:Kali Linux可以使用LUKS nuke功能,快速地销毁加密分区中的数据,防止数据泄露或被恢复。

支持多种语言:Kali Linux可以使用多种语言进行安装和使用,包括中文、英文、法文、德文等。

支持无线设备的扫描和利用:Kali Linux提供了许多针对无线设备的渗透测试工具,如aircrack-ng、Wifite、Fern Wifi Cracker等,可以帮助我们捕获和分析802.11a/b/g/n/ ac/ax流量、破解无线网络密码、设置恶意接入点、攻击无人机等。

1.2 Kali Linux的安装

在了解完Kali Linux的特点后,本节将带领读者下载、安装Kali Linux,并更新其配置。

1.2.1 Kali Linux的下载

首先,我们需要在浏览器中访问Kali Linux的官网,其界面如图1.1所示。

图1.1 Kali Linux官网界面

单击DOWNLOAD按钮,跳转到Kali Linux的下载界面,然后单击Bare Metal标签即可跳转到Kali Linux镜像下载界面。在Kali Linux镜像下载界面,单击Installer按钮,即可下载Kali Linux的镜像文件,如图1.2所示。

图1.2 下载Kali Linux镜像文件

在Kali Linux的下载界面中,可以看到在另外两个镜像文件旁边带有Weekly、NetInstaller等字样,Weekly表示使用最新更新的未测试镜像,NetInstaller则表示安装期间下载所有软件包。当然,Kali Linux也自带了配置好的虚拟机文件(见图1.3),下载后直接使用虚拟机打开即可(默认的用户名和密码都是kali)。

图1.3 虚拟机文件

这里选择以镜像文件的方式将Kali Linux系统安装到虚拟机上。

1.2.2 Kali Linux的安装

在镜像文件下载完毕后,打开VMware Workstation虚拟机,然后在“文件”菜单中单击“新建虚拟机”按钮,如图1.4所示。

图1.4 新建虚拟机

注意: 这里使用的虚拟机为VMware Workstation 16版本,限于篇幅,不再单独介绍该虚拟机的下载、安装和使用方式。

在弹出的“欢迎使用新建虚拟机向导”界面中选择“典型”,然后单击“下一步”按钮,如图1.5所示。

接下来将会弹出“安装客户机操作系统”界面,在这里可以选择以哪种安装方式进行安装。我们选择稍后“安装操作系统”(见图1.6),然后单击“下一步”按钮。

接下来选择要安装的客户机操作系统。Kali Linux是以Linux为基础的发行版,所以这里选择Linux,如图1.7所示。

接下来配置虚拟机的名称以及位置,如图1.8所示。需要注意的是,这里不要将虚拟机安装在默认的C盘下。

图1.5 典型安装

图1.6 选择安装操作系统的方式

图1.7 选择操作系统

图1.8 配置虚拟机名称以及位置

然后需要设置虚拟机的磁盘大小。如果经常使用,可将“最大磁盘大小”设置为40GB。如果只是偶尔使用,建议设置为 20GB。这里设置为 40GB,其他选项保持默认,如图 1.9所示。

至此,虚拟机的简单配置已经完成,如图1.10所示。

单击“完成”后,由于在图1.6中尚未选择镜像文件,因此虚拟机现在无法启动。为此,需要选择镜像文件。我们需要单击“编辑虚拟机设置”,并更改虚拟机的内存,这里将虚拟机的内存设置为2GB。

注意: 在设置虚拟机的内存时,尽量不要超出宿主机(即物理机)内存的3/4,也不要超出8GB,否则容易发生内存交换(即,由于虚拟机内存过大,导致宿主机内存不够用,然后不得不使用硬盘充当虚拟内存,由此导致宿主机和虚拟机的性能大大下降)。当然,如果宿主机内存足够大,可以忽略。

图1.9 设置磁盘大小

图1.10 完成虚拟机的配置

接下来设置处理器。通过设置处理器,可以提升虚拟机的运行速度以及性能。但在设置处理器时,依然需要考虑物理机处理器的情况。为此,打开任务管理器,单击“性能”标签,如图1.11所示。

图1.11 任务管理器

在“性能”标签下,可以看到作者所用的计算机的CPU配置。其中,插槽为1(也就是只有1个CPU);内核为2;逻辑处理器为4。所以在选择虚拟机处理器时,其内核数要低于4。

我们将“处理器数量”和“每个处理器的处理器内核数量”分别设置为1和2,如图1.12所示。这样就不会超过物理机逻辑处理器的数量。

图1.12 设置处理器的数量和内核数量

接下来配置虚拟机的镜像。在图1.12中单击“CD/DVE(IDE)”,并在右侧选中“使用ISO映像文件”单选按钮,然后找到下载的Kali Linux镜像,如图1.13所示。

图1.13 配置虚拟机镜像

接下来选择网络适配器,这里选择桥接模式,如图1.14所示。

在上述配置结束之后,单击“确定”按钮。然后,开启此虚拟机,进入Kali Linux的安装界面,如图1.15所示。

这里选择Graphical install选项,系统跳转到安装语言选择界面。在该界面中选择“中文(简体)”,然后单击Continue按钮,如图1.16所示。

图1.14 选择网络适配器

图1.15 Kali Linux安装界面

图1.16 语言选择

然后进入区域选择。在选择“中国”之后,单击“继续”按钮,即可进入配置键盘界面。在该界面中选择汉语,并单击“继续”按钮,Kali Linux将自动加载安装程序的组件。

在加载完毕后,Kali Linux会自动请求DHCP服务器分配一个IP地址,而且在分配完IP地址后,还会配置一个主机名(我们将主机名配置为kali)。

在配置完主机名后,将进入配置网络界面。这里需要配置域名,如果是将Kali Linux部署在服务器上,则这里可以输入域名,反之保留为空即可。

之后,系统将进入设置网络和密码界面,我们将用户名和密码分别设置为snowwolf和123qwe。

接下来,进入磁盘分区阶段,如图1.17所示。

图1.17 磁盘分区

由于我们是以虚拟机的方式进行安装,因此这里建议使用整个磁盘安装,而不用进行分区。

注意: 如果是将Kali Linux安装在物理机上,则建议手动分区后进行安装,以便形成双系统。

在图1.17中单击“继续”按钮,选择磁盘分区。由于只有一个磁盘,所以这里直接继续即可。

接下来,我们需要从几种磁盘分区方案中进行选择,这几种分区方案是Kali Linux自带的,如图1.18所示。这里推荐选择“将所有文件放在同一个分区中(推荐新手使用)”,以方便我们查找文件。

图1.18 选择分区方案

接下来就可以结束分区设定了,如图1.19所示。从中可以看到,在分区后添加了swap分区。这里选择“结束分区设定并将修改写入磁盘”,然后单击“继续”按钮。

图1.19 结束分区设定并将修改写入磁盘

接下来,在系统提示“将改动写入磁盘吗?”时,选择“是”,即可开始下载软件包并安装基本系统。具体所用的时间取决于网速、内存以及内核数。

在安装完成后,系统提示选择要安装的软件,如图1.20所示。这里保持默认选项即可。之后,系统开始自动安装选择的软件。具体的安装时间取决于网速,所以此时要确保网络畅通。

图1.20 选择要安装的软件

安装完选择的软件之后,系统会询问“将GRUB启动引导器安装到主引导记录(MBR)上吗?”,我们选择“是”即可,如图1.21所示。

图1.21 安装GRUB

之后,系统会显示要安装GRUB的设备,我们选择/dev/sda来安装GRUB启动引导器,如图1.22所示。

图1.22 选择安装GRUB的设备

在选择设备并安装完GRUB之后,系统自动进入“结束安装进程”阶段。在完整结束安装进程后重启系统,就可以看到Kali Linux的启动界面以及登录界面了。Kali Linux的登录界面如图1.23所示。

图1.23 登录界面

在登录界面中输入正确的用户名及密码(这里分别为snowwolf和123qwe)之后,将打开Kali Linux的主界面,如图1.24所示。

至此,Kali Linux的基础安装成功完成。不过,在正式使用Kali Linux之前,还需要进行简单的更新及配置。

图1.24 Kali Linux的主界面

1.2.3 Kali Linux的更新

Kali Linux中的工具种类繁多,不仅包含很多需要及时更新的工具,而且也需要更新Kali Linux系统的环境,所以我们需要及时更新Kali Linux系统。

那么,Kali Linux是怎么更新的呢?

Kali Linux采用了滚动更新的方式。所谓滚动更新,是指在软件开发中,将更新内容发送到软件而不需要重新安装。Kali Linux的更新需要用到APT安装包管理工具,当使用其他软件更新的源地址时,需要先修改镜像地址。为此,需要在Kali Linux中打开终端,使用Vim编辑文件/etc/apt/sources.list,如代码清单1.1所示,在Kali Linux中保持默认即可。

代码清单1.1 查看镜像地址

# See https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/
deb http://http.kali.org/kali kali-rolling main contrib non-free
//Kali Linux官方镜像地址
# Additional line for source packages
# deb-src http://http.kali.org/kali kali-rolling main contrib non-free 

接着,在终端中输入命令sudo apt update更新软件源地址,以便更新Kali Linux系统和工具的软件源,如图1.25所示。

图1.25 更新软件源

更新完软件源后,只需要输入命令sudo apt full-upgrade -y即可更新软件包,如图1.26所示。

图1.26 更新软件包

在软件包更新完成后,可以继续更新系统包。为此,输入命令sudo apt-get dist-upgrade更新系统,如图1.27所示。

图1.27 更新系统

在更新完系统后重启Kali Linux即可。

1.2.4 Kali Linux的配置

在Kali Linux更新完毕后,还需要单独配置许多功能,以便更好地辅助渗透测试。

1.自适应窗口

在Kali Linux系统安装完毕后,其界面一般不会铺满整个屏幕。此时,需要单击屏幕左上角的“查看”菜单,从中选择“立即适应客户机”命令,如图1.28所示。之后,Kali Linux的界面就可以铺满整个屏幕了。

2.切换root用户

Kali Linux中的很多工具需要使用root用户权限(root是Linux中权限最高的用户)才能执行成功,而我们创建的snowwolf属于普通用户。这样一来,在每次使用某些工具及功能时,只能在其前面加上sudo并输入相应的密码才能执行。这个过程比较烦琐,要是能切换到root用户就好了。

图1.28 立即适应客户机

在Kali Linux中,可以使用两种方法切换为root用户。

第一种方法是单击屏幕左上角Kali Linux的Logo,找到Root Terminal Emulator终端程序后单击运行,然后输入创建snowwolf用户时使用的密码,再单击“授权”按钮。此时,系统将弹出root用户权限终端,在该终端下执行所有程序时就不需要添加sudo命令了,如图1.29所示。

图1.29 root用户权限终端

第二种方式是在终端中输入命令sudo reboot重启Kali Linux,在出现如图1.30所示的界面时,快速按下键盘上的E键,进入如图1.31所示的环境修改界面。

图1.30 Kali Linux的重启界面

图1.31 Kali Linux环境修改界面

在图1.31中,使用键盘上的方向键移动到以linux开头的那一行,然后将末尾的ro quiet splash修改为rw quiet splash init=/bin/bash,如图1.32所示。

图1.32 修改运行环境

修改完毕后,按F10键保存并进入Kali Linux系统的单用户模式,如图1.33所示。

图1.33 单用户模式

在图1.33中可以看到,当前已经切换到root用户。但是我们并不知道root用户的密码,为此需要手动修改。可输入命令passwd root,修改root的密码,如图1.34所示。

图1.34 修改root的密码

然后重新启动Kali Linux,之后就可以用root用户名和密码登录了。

3.浏览器配置

Kali Linux自带的浏览器默认为Firefox。作为首选的辅助渗透测试的浏览器,Firefox的扩展插件功不可没。下面我们将为Firefox浏览器添加扩展插件。首先单击左上角Kali Linux的Logo(见图1.35),选择Firefox浏览器即可打开。

图1.35 打开Firefox

由于Kali Linux自带的Firefox是英文版,我们可以将其修改为中文版。为此,单击FireFox右上角的应用菜单图标,在弹出的菜单中选择Preferences。然后在弹出的界面中找到Language选项,单击空白框,从中选择Search for more languages,如图1.36所示。

图1.36 选择语言

在弹出的Firefox Language Settings对话框中,继续单击Select a language to add,找到Chinese(China)选项,然后单击Add按钮添加,如图1.37所示。

图1.37 添加中文

在添加完毕后单击OK按钮,系统会提示是否选择应用该语言。在我们做出选择后,系统将重新启动Firefox浏览器,重新启动后原有的英文字体就会换成中文字体,如图1.38所示。

图1.38 以中文显示的Firefox

设置好Firefox的语言后,现在还需要安装扩展插件,然后就可以将Firefox作为渗透测试的辅助工具了。

下面以安装HackBar插件为例来介绍扩展插件的安装方式。单击Firefox浏览器右上角的应用菜单,然后单击“扩展和主题”,在打开的界面中搜索hackbar插件,如图1.39所示。

图1.39 搜索插件

在搜索出的结果中找到HackBar v2并单击,将其添加到Firefox中,如图1.40所示。

图1.40 添加HackBar v2插件

后续在使用HackBar v2时,只需要按下F12键即可将其调出,如图1.41所示。

除了安装HackBar插件,我们还可以根据需求在Firefox中安装其他插件。限于篇幅,这里不再展开介绍。

图1.41 调出HackBar

1.3 靶机

靶机是一种用于渗透测试训练和实验的虚拟或物理机器,它故意设置了一些漏洞或弱点,让渗透测试人员或学习者可以尝试攻击和利用它们。靶机可以帮助我们学习和练习渗透测试的技能,提高我们的安全意识和防御能力。靶机可以有不同的难度级别(从简单到困难)、不同的操作系统(从Windows到Linux)和不同的场景(从Web应用到网络服务)。靶机可以自己搭建,也可以从网上下载或在线访问。

接下来,我们将搭建两个常用的靶机,以方便我们后续的渗透测试练习。

1.3.1 搭建DVWA靶机

DVWA(Damn Vulnerable Web Application)是一套使用PHP+MySQL编写的Web安全测试框架,它的主要目的是让安全从业人员或学习者在一个合法的环境中测试他们的技能和工具,并帮助Web开发者更好地理解Web应用安全。DVWA经常作为安全教学和学习的辅助工具。

1.下载

在搭建DVWA测试框架之前,首先需要将其下载到本地。DVWA以开源的形式托管在GitHub上,可在Kali Linux终端环境下执行git clone https://github.com/digininja/DVWA /var/www/ html/DVWA命令将其下载到Kali Linux的网页目录中,如图1.42所示。

图1.42 下载DVWA

2.配置

在DVWA下载完毕后,需要修改DVWA目录的操作权限,以确保能操作文件夹中的所有文件。为此,在Kali Linux终端下输入命令chmod 777 -R DVWA/,为DVWA目录下的所有目录及文件赋予最高权限,如图1.43所示。

注意: 在chmod 777-R DVWA命令中,参数R表示递归操作。有关chmod命令以及更多参数的具体用途,读者可自行搜索相关资料进行学习。

图1.43 修改DVWA目录的操作权限

在安装DVWA之前,需要先将必要的服务启动。为此,输入命令service apache2 start,启动Apache服务器。然后输入命令service mysql start,启动MySQL数据库,如图1.44所示。

图1.44 启动必要的服务

由于DVWA默认禁止以root用户的身份登录,所以我们需要登入MySQL数据库并在其中添加新的用户。Kali Linux默认安装了MariaDB数据库,这是MySQL数据库的一个分支。该数据库与MySQL数据库基本一致,在Kali Linux中启动MySQL数据库,就是启动MariaDB数据库。首先登录数据库,在终端中输入命令mysql -u root,如图1.45所示。

图1.45 登录MariaDB数据库

在进入数据库之后,首先创建DVWA数据库。为此,输入命令create database dvwa;创建DVWA使用的数据库。然后,执行命令show databases;查看DVWA数据库,以确认数据库是否创建成功,如图1.46所示。

图1.46 创建DVWA数据库

在成功创建数据库之后,还需要对远程访问进行授权。为此,在数据库中输入命令grant all privileges on *.* to dvwa@127.0.0.1 identified by"123qwe";进行远程授权。在该命令中,all表示所有权限,*.*表示所有库下的所有表,dvwa则表示新建的MariaDB数据库用户名,127.0.0.1表示允许IP地址为127.0.0.1的主机进行访问,“123qwe”表示新建的数据库用户的密码,如图1.47所示。

图1.47 对远程访问进行授权

授权完毕后,可输入命令exit退出,也可以按Ctrl+C组合键退出。

接下来,需要对配置文件进行简单的修改。首先进入DVWA目录并查看该目录下的文件构成,如图1.48所示。

图1.48 DVWA目录

DVWA目录中包含多个目录,但是常用的目录只有config和vulnerabilities这两个。其中,config目录存放的是DVWA的配置文件,vulnerabilities目录存放的是DVWA包含的漏洞实例源码。

进入config目录,可以发现里面有一个config.inc.php.dist文件,该文件用来生成配置文件的副本。执行命令cp config.inc.php.dist config.inc.php,将该文件额外复制一份,并将额外复制的文件作为配置文件,如图1.49所示。

图1.49 复制文件

接下来,保持config.inc.php.dist文件不动,修改生成的副本文件config.inc.php。在Kali Linux终端下输入命令vim config.inc.php,修改的代码行如代码清单1.2所示。

代码清单1.2 修改配置文件

$_DVWA[ 'db_server' ]   = '127.0.0.1';  //MariaDB数据库的地址
$_DVWA[ 'db_database' ] = 'dvwa';       //数据库名
$_DVWA[ 'db_user' ]     = 'dvwa';       //数据库用户名
$_DVWA[ 'db_password' ] = '123qwe';     //数据库密码

如果读者是按照前文的内容一直操作到这一步,接下来只需要将密码修改为之前设置的“123qwe”,然后保存并退出即可。修改完配置文件后,需要重新启动Apache服务。

3.验证

重新启动Apache后,在Firefox浏览器的地址栏中输入地址http://127.0.0.1/DVWA/setup. php,这将启动DVWA的安装检查,如图1.50所示。

在图1.50中可以看到,这里需要将allow_url_fopen选项和allow_url_include选项打开。其中,allow_url_fopen选项用于激活URL地址形式的fopen封装,使其可以访问URL对象文件;allow_url_include选项则用于激活包含URL地址并将其作为文件处理的功能。

下面,我们将打开这两个选项。首先需要修改php.ini文件,进入/etc/php/7.4/apache2/目录下,然后在终端中输入命令vim php.ini将其打开。找到allow_url_fopen选项和allow_url_include选项,然后修改为On保存并退出即可,如图1.51所示。

在修改完php.ini文件后,重启Apache服务器,然后刷新图1.50所示的界面,可以看到这两个选项当前是开启的,如图1.52所示。

图1.50 安装检查

图1.51 修改php.ini文件

图1.52 开启选项

接下来,单击图1.52下方的Create/Reset Database按钮,将DVWA的数据库文件导入MariaDB数据库中。等待大约5秒后,浏览器中会显示DVWA的登录界面,如图1.53所示。

在图1.53中输入默认的用户名和密码(分别为admin和password),即可进入DVWA的主界面。

至此,DVWA靶机环境安装完成。使用DVWA进行渗透测试的细节会在后文进行演示。

图1.53 DVWA登录界面

1.3.2 搭建OWASP靶机

除了DVWA靶机,还有许多其他的靶机,比如WebGoat、Ghost、Mutillidae等靶机。相较之下,OWASP靶机提供的环境更多,且包含上面提到的这些靶机环境,所以这里再介绍一下OWASP靶机的安装和使用。

访问地址https://sourceforge.net/projects/owaspbwa/files/下载OWASP靶机。下载好后解压靶机文件。因为OWASP靶机文件是虚拟机文件,因此可以直接用虚拟机打开,不过建议打开前先修改虚拟机的运行内存(只需要512MB运行内存即可)。

注意: 将OWASP靶机的网络适配器改成与Kali Linux一样。作者的Kali Linux是桥接模式,所以OWASP也是桥接模式。

配置完毕后启动OWASP靶机,即可进入系统界面,如图1.54所示。

图1.54 OWASP靶机的系统界面

此时,系统要求输入用户名和密码。OWASP靶机的默认用户名为root,默认密码为owaspbwa,输入后即可登录成功,如图1.55所示。

在浏览器中输入靶机系统的地址(这里为http://192.168.8.109),即可进入OWASP靶机系统的Web界面,如图1.56所示。

注意: 在使用OWASP靶机时需要注意,在登录该系统自带的其他靶机环境时,使用的用户名和密码可能不是OWASP靶机默认的用户名root和密码owaspbwa,而是户名admin和密码admin。在登录时可以用这两个用户名密码组进行尝试。

图1.55 成功登录OWASP靶机系统

图1.56 OWASP靶机系统的Web界面

至此,常用的靶机环境已经全部部署好。

1.4 小结

在本章中,我们介绍了Kali Linux的下载、安装和基本配置方法,以及如何搭建靶机进行实验。这些内容可以帮助我们更好地理解渗透测试的流程和攻击的流量。

在完成了Kali Linux的安装和配置,以及靶机的搭建之后,我们就可以开始进行渗透测试的第一步:信息收集。信息收集是渗透测试中非常重要的一个环节,它可以帮助我们了解目标系统的架构、服务、漏洞等信息,为后续的攻击提供有价值的线索。在下一章中,我们将介绍一些常用的信息收集工具,并演示如何使用它们对目标进行扫描和分析。

相关图书

Cisco Firepower威胁防御(FTD)设备的高级排错与配置
Cisco Firepower威胁防御(FTD)设备的高级排错与配置
Cisco ASA设备使用指南(第3版)
Cisco ASA设备使用指南(第3版)
Cisco防火墙
Cisco防火墙
网络安全体系结构
网络安全体系结构
MPLS和VPN体系结构(第2版•修订版)
MPLS和VPN体系结构(第2版•修订版)
Cisco VPN完全配置指南
Cisco VPN完全配置指南

相关文章

相关课程