书籍作者:Raphael Hertzog | ISBN:9787121343131 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:4966 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
Kali Linux 是设计用于数字取证和渗透测试的操作系统,《Kali Linux大揭秘:深入掌握渗透测试平台》是官方出版的仅有的一本著作。在《Kali Linux大揭秘:深入掌握渗透测试平台》中,重点介绍了Kali Linux 平台本身,并详细论述了如何来理解和大限度地使用Kali。
《Kali Linux大揭秘:深入掌握渗透测试平台》首先引导读者了解Kali Linux 的功能和基础知识,并解释了基本的Linux 命令和概念。然后介绍了常见的Kali Linux 安装方案,并探讨了如何配置、分析和保护Kali Linux。随后介绍了强大的Debian软件包管理器,在这部分中,介绍了如何安装和配置软件包,如何更新和升级Kali 安装,以及如何创建自定义软件包,并介绍了如何在大型企业网络中部署自定义安装。进入到高级主题,介绍了内核编译、自定义ISO 创建、工业强度加密,以及如何安装加密杀死开关来保护敏感信息等内容。
无论你是老将还是新手,《Kali Linux大揭秘:深入掌握渗透测试平台》都是你学习Kali Linux 的一流选择。
Raphael Hertzog 拥有超过20 年的Debian 开发经验,并且是《Debian 管理员手册》的作者,他同时是Kali 团队中的Debian 。当他还没有进入Kali 团队工作的时候,他通过自主创业的Freexian 公司提供Debian 专家咨询服务,帮助其他公司和个人创建Debian 的派生定制化安装器和软件包管理系统,改进现有的软件包(bug 修补和增加新特性),等等。
Jim O’Gorman 是Offensive Security 公司美国安全服务部的总经理,Jim 拥有超过十年在全球范围内对深度防御环境进行渗透测试的经验,此外Jim 还是Offensive Security 公司“使用Kali Linux 进行渗透测试”认证培训的首席讲师。
Mati Aharoni 是信息安全界的一位老兵了,他活跃在安全社区已超过十年。Aharoni 创建了Back Track 和Kali 开源发行版,以及Exploit DB 数据库项目,并创建了Offensive Security,一家领先的信息安全公司,以工业界领先的安全证书认证和培训闻名于世。在漏洞利用代码开发与编目分类、渗透测试、Kali 开发和捣鼓硬件的过程中,Aharoni 享受着类似于传教士的角色,说服人们聆听关于Kali Linux 的神奇。
译者简介:
诸葛建伟,博士,副研究员,硕士生导师。目前就职于清华大学网络科学与网络空间研究院(网研院)网络与信息安全实验室(NISL)。蓝莲花战队共同创始人与领队,XCTF全国联赛共同发起人与执行组织者,国内网络安全领域的知名技术书籍作者与译者。
如果想迅速入门信息安全领域并精通相关知识,《Kali Liunx大揭秘:深入掌握渗透测试平台》毫无疑问就属于你闭着眼睛也可以买买买的图书之一,绝不会后悔。
本书由Kali Linux的官方团队撰写,相比市面上其他图书,内容上几乎无可挑剔。
除了可以帮助读者轻松入门,本书更能提高读者对系统的整体认识:它完全从实战出发,对从环境搭建到渗透测试的全过程 、主流工具的使用,均有丰富的示例进行深入阐述。这些内容,将成为你深入探索Kali Linux的正确起点!
学习Kali Linux,当然选《Kali Linux大揭秘:深入掌握渗透测试平台》。
作者序
你所在的渗透测试团队定购的16台高性能笔记本电脑刚刚已经到货,而你被赋予设置好工作环境的任务,那就为明天一场驻场渗透测试做好准备吧。你安装好Kali系统并启动了其中一台电脑,以确认它是否可用。尽管Kali拥有最前沿的内核,但是网卡和鼠标仍然不工作,笔记本电脑中最新款的NVIDIA显卡和GPU也正在困惑地“注视”着你,因为缺少恰当安装的驱动程序。你很无奈。
在Kali的自生模式下,你快速地在一个终端中输入lspci 命令,然后眯着眼睛盯着屏幕,当你滚动查看硬件列表:“PCI bridge、USB controller、SATA controller、Ethernet和Network controllers”,并通过Google快速搜索这些硬件相应的型号,以及Kali内核版本号的交叉索引时,发现这些最新款硬件的驱动还没有被集成到主线的内核代码中。
这对于你来说并不是难题。一个解决计划正在你的脑袋中成型,而这要归功于你几周前仔细研读过的《Kali Linux大揭秘》这本书。你使用Kali Live-Build系统来创建一个定制Kali ISO镜像,将所需的驱动程序灌入安装盘里。另外,除了包含NVIDIA显卡驱动之外,还安装了用来发挥GPU性能并用于hashcat程序的CUDA库文件,它使得GPU可以在飞速破解哈希口令时发挥最大的功效。你甚至扔了一张带有微软Logo的定制桌面进去,来冒充正在使用Windows桌面工作的机器。
因为你这次安装的所有机器硬件配置是一致的,所以你可以在ISO镜像中增加一个预设的启动选项,这使得你可以从一个U盘启动并在没有任何用户干预的情况下安装好Kali。让安装任务自动完成,并拥有一个全盘加密的系统。
棒极了!你现在已经按照你的需求,为你的机器硬件配置特别设计及优化更新Kali系统版本,你节省了一整天的时间,任务完成!
我们其中的一些人需要从主流操作系统使用者身份中跳出,寻找更加干净、更具意义、更适合于我们工作方式的操作系统,而随着市场上硬件设备的膨胀式发展,上述这样的场景对我们而言变得越来越普遍。
对于投身于网络安全领域的我们更是如此,不管你将网络安全作为一种业余爱好、痴迷的兴趣,还是从事的行业。作为新手,我们经常发现被操作环境或操作系统所困,对于很多新手而言,Kali是他们进入Linux世界最早接触的系统。我在好几年前就认识到用户群体在这一转变中的困惑,并计划编写一本组织合理的入门引导书来帮助社区用户进入网络安全的世界,而不是一开始直接将所有Linux系统的复杂特性全部提供给他们。基于这样的考虑,《Kali Linux大揭秘》这本书就诞生了。本书让所有通过Kali Linux进入网络安全领域的人都能受益。
现在这本书要面世了,然而我们很快意识到还有很多潜藏的“宝藏”有待发掘,因此在这本Kali Linux引导书之后,还有很多机会再去探索它更有趣但鲜为人知的特性,就像本书的书名一样,“Kali Linux大揭秘”。
最后,我们对目前的结果非常开心,本书达到了我们的预期,我可以骄傲地说它已经超出了我们的预期。我们也意识到我们在不经意间扩展了本书的潜在读者群,它不仅仅是为网络安全领域的新手准备的,而且可以帮助一些有经验的渗透测试者提升与改进对Kali Linux的控制能力,使得他们可以解密Kali Linux发行版中我们准备的各种潜在特性。无论你面对的是一台机器,还是企业中上千台机器;无论是仅仅做配置上的微小修改,还是从内核级别开始完全定制并重建软件仓库;无论是仅仅触及Debian软件包管理系统的表层,还是深入探索,《Kali Linux大揭秘》这本书都提供了路径图。
我代表自己和整个Kali Linux团队衷心祝愿,拥有这本导航手册在手,你能够拥有一个激动人心、充满快乐和收获的揭秘之旅!
Muts
2017年2月
前言
Kali Linux是世界上最强大和最受欢迎的渗透测试平台,被网络安全领域的专家们广泛使用,其应用领域包括渗透测试、取证、逆向工程及漏洞评估。这是多年来我们精益求精和平台不断发展的结果,从一开始的WHoppiX到WHAX,再到BackTrack,最终发展到目前融入了Debian GNU/Linux以及充满活力的全球开源社区强大能力的完整渗透测试框架平台。
Kali Linux并不是一个简单的工具集合,而是一个灵活的框架,专业渗透测试人员、安全从业者、学生和业余爱好者都可以根据自己的具体需求,来剪裁和定制它的功能。
为什么要写这本书
Kali Linux不仅仅是一个在标准Debian发行版基础上安装了各种信息安全工具的集合,我们还针对它进行了很多预先的配置工作,以便让你能够立即启动和运行它。为了充分利用Kali的功能,你还应当深入了解强大的Debian GNU/Linux基础操作,以及学习如何将这些技能使用在你的应用场景中。
Kali的确有很多用途,但它主要被设计用于渗透测试。本书的目的不仅在于帮助你轻松使用Kali Linux,更在于提高你对系统的整体认识,使你的操作体验更加流畅,从而在你遇到时间紧迫的渗透测试任务时,无须浪费宝贵时间去安装新软件或者启用新的网络服务。在本书中,我们首先介绍了Linux,然后更深入一步,介绍了Kali Linux的特别之处,以便你准确了解表象之下深层次的特性。
特别是当你时间紧任务重时,这些知识显得非常有价值。掌握这些更深层次的知识有助于你更好地设置Kali,解决一些疑难问题,按照个人意愿更好地使用工具,分析工具的输出,或者在更大规模的测试场景中使用Kali。
如果你渴望投身到充满智慧且令人着迷的网络安全领域,并且正好选择了Kali Linux作为主要操作平台,那么本书就是为你准备的。本书旨在帮助Linux新手以及Kali的现有用户加深对Kali基础知识的了解,那些已经使用Kali多年但希望更加系统深入学习Kali的读者,也能够通过本书扩大Kali的应用领域,填补之前对Kali认知的空白。
此外,本书还可以作为想考取Kali Linux认证专家资质读者们的学习大纲、技术参考以及学习指南。
本书的总体思路和结构
这本书的设计非常贴近实战,你从一开始阅读就可以动手去操作Kali Linux,而不是阅读大量章节的理论介绍。本书对每个主题都以非常务实的方式来介绍,包含了许多样例和图示,以便使讲解更形象和具体。
在第1章“关于Kali Linux”中,我们定义了一些基本术语,并解释了Kali Linux的用法。在第2章“Kali入门”中,我们循序渐进地引导你下载ISO镜像并在计算机上运行Kali Linux。第3章“Linux基础”讲述了阅读本书需要了解的Linux基本知识,例如Linux系统架构、安装过程、文件系统层次结构、权限等重要概念。
至此,你已经使用Kali Linux作为自生系统有一段时间了。在第4章“安装Kali Linux”中,将学习如何(在硬盘上)安装永久性的Kali Linux。在第5章“配置Kali Linux”中将学习如何按照喜好调整它。作为一个已入门的Kali用户,现在是熟悉Kali中一些重要资源的时候了,第6章“自助解决问题并获得帮助”提供了解决可能遇到的各种意外问题的方法。
在掌握了这些基础知识之后,将涉及更高级的主题。第7章“加固和监控Kali Linux”提供了确保Kali Linux的安装能够满足你的安全要求的技巧。接下来,第8章“Debian软件包管理”解释了如何充分发挥Debian软件包生态系统的潜力。而在第9章“高级用法”中,将学习如何创建完全定制的Kali Linux ISO镜像。如第10章“Kali Linux企业级应用”中所述,当你在企业规模部署Kali Linux时,所有这些主题的内容都可能会用得上。
第11章“安全评估简介”使你将在本书中学到的所有知识与安全从业者日常工作联系起来,真正做到学以致用。最后一章,第12章展望未来的路。
Raphael Hertzog的致谢
我要感谢Mati Aharoni!2012年,当我还是数十名Debian顾问中的一员时,他与我联系,说想开发一个基于Debian的BackTrack替代版本。这就是我从事Kali Linux相关工作的开始,从那以后,我就喜欢上了我在Kali世界的旅程。
多年来,Kali Linux越来越向Debian GNU/Linux靠近,特别是在基于Debian 测试版分支的Kali 滚动发行版之后。现在我的大部分工作,无论是基于Kali还是基于Debian,都在为整个Debian生态系统做贡献,这正是我日复一日、年复一年继续下去的动力。
写这本书也是Mati给我的一个绝好机会。写书和Kali开发是完全不同的工作,但是具有相通的地方:都能够帮助他人并和他们一起分享我们在Debian/Kali操作系统领域的专业知识。基于我创作《Debian管理员手册》的经验,希望我的文字能够帮助你迈出在快速发展的网络安全世界中的第一步。
我还要感谢所有对这本书做出过贡献的Offensive Security公司的伙伴们!Jim O'Gorman(一些章节的合著者)、Devon Kearns(评审员)、Ron Henry(技术编辑)、Joe Steinbach和Tony Cruse(项目经理)。同时也感谢Johnny Long参与撰写序言,并完成了整本书的评审。
Jim O’Gorman的致谢
我要感谢参与这个项目的所有伙伴!我的工作只是其中的一小部分。这本书很像Kali Linux本身,是一个由大家共同努力而使工作事半功倍的合作项目。特别感谢Raphaël、Devon、Mati、Johnny和Ron,他们承担了绝大部分工作。没有他们,这本书不会问世。
Mati Aharoni的致谢
Kali Linux第一个版本从发布到现在已经过去了好几年。从第一天起,我一直梦想着出版一本涵盖整个Kali操作系统的官方书籍。因此,我很荣幸能够把这本书奉献给公众。我衷心感谢参与这个项目的所有人,包括Jim、Devon、Johnny和Ron。特别感谢Raphael做了本书绝大部分的繁重工作,并将珍贵的专业经验分享给我们的团队。
第1章 关于Kali Linux 1
1.1 简要回顾 2
1.2 和Debian的关系 3
1.2.1 软件包处理流程 3
1.2.2 同Debian的区别 4
1.3 设计目标和使用场景 5
1.4 Kali Linux的主要功能 7
1.4.1 一个自生系统 7
1.4.2 取证模式 8
1.4.3 一个自定义的Linux内核 8
1.4.4 完全可定制 8
1.4.5 一个值得信任的操作系统 8
1.4.6 可以在众多的ARM设备中使用 9
1.5 Kali Linux的设计策略 9
1.5.1 默认使用root用户 9
1.5.2 禁用了网络服务 10
1.5.3 一个精心组织的应用集合 10
1.6 小结 11
练习题 11
练习1――搭建环境 11
思考题 12
第2章 Kali入门 13
2.1 下载一个Kali ISO镜像 13
2.1.1 从哪里下载 13
2.1.2 下载什么内容 14
2.1.3 验证完整性和真实性 16
2.1.4 将镜像复制到DVD-ROM或USB驱动器中 18
2.2 使用自生模式启动Kali ISO 23
2.2.1 在一台物理计算机上启动 23
2.2.2 在一台虚拟机中启动 23
2.3 小结 34
练习题 35
练习1――安装、下载、验证和烧录Kali 35
练习2――启动Kali 35
练习3――修改启动参数 35
思考题 36
第3章 Linux基础 37
3.1 什么是Linux,它能做什么 37
3.1.1 驱动硬件设备 38
3.1.2 统一文件系统 38
3.1.3 管理进程 39
3.1.4 权限管理 40
3.2 命令行 40
3.2.1 如何获得一个命令行 40
3.2.2 命令行基础:浏览目录树以及管理文件 42
3.3 文件系统 43
3.3.1 文件系统层次标准 43
3.3.2 用户的主目录 44
3.4 有用的命令 45
3.4.1 显示和修改文本文件 45
3.4.2 搜索文件和文件内容 45
3.4.3 进程管理 46
3.4.4 权限管理 46
3.4.5 获取系统信息和日志 49
3.4.6 发现硬件 50
3.5 小结 51
练习题 52
练习1 52
练习2――任务控制 52
练习3――检索文件 52
练习4――枚举硬件 53
练习5――使用硬件 53
思考题 53
第4章 安装Kali Linux 54
4.1 最小安装要求 54
4.2 手把手教你如何安装到硬盘上 55
4.2.1 非加密安装 55
4.2.2 在一个完全加密的文件系统上安装 72
4.3 无人值守安装 77
4.3.1 预设答案 77
4.3.2 创建预设文件 78
4.4 ARM平台安装 79
4.5 疑难问题解答 80
4.6 小结 84
练习题 85
练习1――全加密盘安装Kali Linux 85
练习2――Kali Linux无人值守安装 85
练习3――Kali Linux在ARM设备中的安装 85
进阶练习 85
练习4――自定义Kali Linux ARM安装 85
练习5――Kali Linux ARM chroot 86
第5章 配置Kali Linux 87
5.1 网络配置 87
5.1.1 使用桌面上的NetworkManager 87
5.1.2 通过命令行使用ifupdown 88
5.1.3 命令行工具systemd-networkd 90
5.2 管理UNIX用户和用户组 91
5.2.1 创建用户账号 91
5.2.2 修改一个已存在的用户名及口令 92
5.2.3 禁用一个账号 92
5.2.4 管理UNIX用户组 92
5.3 配置服务 93
5.3.1 配置一个特定程序 93
5.3.2 配置SSH远程登录 94
5.3.3 配置PostgreSQL数据库服务 95
5.3.4 配置Apache 97
5.4 服务管理 100
5.5 小结 103
练习题 104
练习1――配置管理Kali系统中的用户 104
练习2――配置网络 104
练习3――配置服务第1部分 104
练习4――配置服务第2部分 104
进阶练习 105
练习5――树莓派接入点 105
第6章 自助解决问题并获得帮助 106
6.1 文档资源 106
6.1.1 手册页 107
6.1.2 Info文档 108
6.1.3 软件包专用文档 109
6.1.4 网站 109
6.1.5 docs.kali.org上的Kali 使用文档 110
6.2 Kali Linux社区 110
6.2.1 forums.kali.org上的Web论坛 111
6.2.2 kali-linux IRC的freenode即时聊天频道 111
6.3 编写一个友好的bug报告 112
6.3.1 一般性建议 112
6.3.2 在哪里提交问题报告 115
6.3.3 如何填写一个bug报告 116
6.4 小结 129
练习题 130
练习1――Kali源 130
第7章 加固和监控Kali Linux 131
7.1 定义安全策略 131
7.2 可用的安全措施 133
7.2.1 服务器 133
7.2.2 个人电脑 133
7.3 对网络服务进行安全加固 134
7.4 防火墙和包过滤 135
7.4.1 netfilter 行为 135
7.4.2 iptables和ip6tables语法 138
7.4.3 创建规则 140
7.4.4 每次启动时加载的规则 141
7.5 监控和日志 142
7.5.1 使用logcheck来监控日志 142
7.5.2 监控实时行为 143
7.5.3 侦测变化 143
7.6 小结 146
练习题 147
练习1――加固Kali网络 147
练习2――Kali服务监控 147
练习3――Kali文件系统安全加固 148
进阶练习 148
练习4――无线热点 148
第8章 Debian软件包管理 149
8.1 APT使用说明 150
8.1.1 APT和dpkg之间的关系 150
8.1.2 理解sources.list文件 151
8.1.3 Kali软件库 153
8.2 软件包基础交互 155
8.2.1 APT初始化 155
8.2.2 安装软件包 155
8.2.3 更新Kali Linux 158
8.2.4 卸载并清除软件包 160
8.2.5 检查安装包 161
8.2.6 故障排除 167
8.2.7 前端:aptitude和synaptic 170
8.3 APT高级配置和应用 174
8.3.1 APT配置 175
8.3.2 包优先级管理 176
8.3.3 同时运行几个软件分发源 178
8.3.4 跟踪自动安装的包 180
8.3.5 Multi-Arch支持 180
8.3.6 检查包的真实性 182
8.4 软件包参考:深入挖掘Debian软件包系统 185
8.4.1 control文件 186
8.4.2 配置脚本 191
8.4.3 校验和配置文件 194
8.5 小结 196
练习题 198
练习1――镜像重定向 198
练习2――进一步了解dpkg 198
练习3――dpkg-deb练习 198
练习4――Kali Multi-Arch多体系架构 199
思考题 199
第9章 高级用法 200
9.1 修改Kali软件包 200
9.1.1 获取源码 201
9.1.2 安装编译依赖包 204
9.1.3 修改源码 205
9.1.4 开始编译 209
9.2 重编译Linux内核 211
9.2.1 简介与准备工作 211
9.2.2 获取源码 212
9.2.3 配置内核 213
9.2.4 编译及构建内核包 214
9.3 定制Kali自生ISO镜像 215
9.3.1 准备工作 215
9.3.2 给自生镜像换个桌面环境 216
9.3.3 更改软件包集合 216
9.3.4 使用钩子调整镜像内容 217
9.3.5 在ISO镜像或自生文件系统中添加文件 218
9.4 使用U盘启用自生ISO的持久化功能 218
9.4.1 持久化特性 218
9.4.2 在U盘上设置非加密的持久化功能 219
9.4.3 在U盘上设置加密的持久化功能 221
9.4.4 使用多个持久化存储 222
9.5 小结 224
9.5.1 修改Kali包的小结与建议 224
9.5.2 重编译Linux内核的小结与建议 225
9.5.3 定制Kali自生ISO镜像的小结与建议 226
练习题 227
练习1――Fork Kali软件包 227
练习2――更新Kali软件包 227
练习3――重编译构建Linux内核 228
练习4――Kali live-build使用合适的工具完成工作 228
练习5――Kali live-build自动最小化安装 228
练习6――制作有多个持久化存储和LUKS核密码的Kali U盘 228
第10章 Kali Linux企业级应用 229
10.1 通过网络安装Kali Linux(PXE启动) 229
10.2 高级配置管理 232
10.2.1 配置SaltStack 232
10.2.2 在minion上执行命令 233
10.2.3 Salt State及其他功能 236
10.3 扩展和定制Kali Linux 240
10.3.1 fork Kali软件包 240
10.3.2 新建配置包 241
10.3.3 为APT创建一个软件包仓库 247
10.4 小结 251
练习题 254
练习1――分别配置一个Salt master和minion 254
练习2――创建一个Kali代码仓库 254
练习3――从头创建一个配置软件包 254
第11章 安全评估简介 255
11.1 安全评估中的Kali Linux 256
11.2 安全评估的类型 257
11.2.1 漏洞评估 259
11.2.2 合规性渗透测试 262
11.2.3 传统渗透测试 263
11.2.4 应用程序评估 265
11.3 评估规范 266
11.4 攻击类型 267
11.4.1 拒绝服务 268
11.4.2 内存破坏 268
11.4.3 Web漏洞 269
11.4.4 密码攻击 269
11.4.5 客户端攻击 270
11.5 小结 270
练习题 271
练习1――信息安全评估 271
第12章 结尾:未来的路 272
12.1 拥抱变化 272
12.2 炫一下你刚Get的新知识 273
12.3 进一步探索 273
12.3.1 系统管理方向 273
12.3.2 渗透测试方向 273
Kali解决方案实现 274
结课项目1:使用Aircrack-NG 274
结课项目2:ISO of Doom 274
结课项目3:Kali设备和自动化 274