Kali Linux学习手册pdf下载

Kali Linux学习手册百度网盘pdf下载

作者:
简介:Kali Linux学习手册
出版社:
出版时间:2020-07
pdf下载价格:10.00¥


预览


内容介绍

内容简介

学习用于网络堆栈和应用程序的压力测试工具。

执行网络侦查以确定攻击者可以使用的内容。

使用Metasploit等自动化漏洞利用工具进行渗透测试。

使用破解工具查看密码是否符合复杂性要求。

通过注入帧和破解密码来测试无线网络安全性。

使用自动化或基于代理的工具评估Web应用程序漏洞。

通过扩展Kali工具或开发自己的工具来创建高级攻击技术。

测试完毕后,通过Kali Linux生成报告。

作者介绍

Ric Messier是一位作家,顾问,教育家,持有GCIH、GSEC、CEH和CISSP等认证,并出版了几本信息安全和数字取证方面的书籍。凭借在信息安全和信息技术领域数十年的从业经验,Ric担任过程序员,系统管理员,网络工程师,安全工程经理,VoIP工程师,顾问和教授等多种职位。


作者简介

Ric Messier是一位作家,顾问,教育家,持有GCIH、GSEC、CEH和CISSP等认证,并出版了几本信息安全和数字取证方面的书籍。凭借在信息安全和信息技术领域数十年的从业经验,Ric担任过程序员,系统管理员,网络工程师,安全工程经理,VoIP工程师,顾问和教授等多种职位。

精彩书评

“Ric Messier持续为安全专业人士提供高质量且实用的见解和培训材料。这本书不会让你失望:对于负责执行安全测试的人来说,如果希望使用Kali Linux作为一种低成本并有效的解决方案,那么这本书是必备的。”

——JohnP. Pironti

CGEIT,CISA,CISM,CRISC,CISSP,ISSAP,ISSMR主席,IP架构师

“保护网络的最佳方法之一是以攻击者的角度使用Kali Linux工具。学习Kali Linux将帮助你了解如何(道德的)攻击网络,这样你就能更好地保护它。”

——DJ Palombo

网络安全公司Mandiant资深顾问


目录

目录

前言 1

第 1 章 Kali Linux 入门 9

Linux 的由来 9

关于 Linux11

单内核与微内核 12

Kali Linux 的获取和安装 14

桌面环境 17

GNOME 桌面 18

通过桌面管理器登录 21

Xfce 桌面 22

Cinnamon 和 MATE 23

命令行 25

管理文件和目录 26

Linux 文件系统结构 28

进程管理 31

手册页 32

信号 34

其他实用程序 35

用户管理 36

服务管理 37

软件包管理 39

日志管理 43

小结 46

实用资源 47

第 2 章 网络安全测试基础 48

安全测试 49

网络安全测试 51

监控 51

网络层 53

压力测试 56

拒绝服务工具 64

加密测试 69

捕获数据包 74

tcpdump 75

BFP 77

Wireshark 79

病毒攻击 83

ARP 欺骗 84

DNS 欺骗 87

小结 88

实用资源 89

第 3 章 侦察 90

什么是侦察? 91

运营安全( OPSEC) 91

开源智能工具 92

Google 与黑客攻击 94

自动化信息抓取 97

Recon-NG101

Maltego 104

DNS 侦察和 whois109

DNS 侦察 109

区域互联网注册服务商114

被动侦察 117

端口扫描 119

TCP 扫描120

UDP 扫描 121

Nmap 端口扫描 121

高速扫描 125

服务扫描 128

手工交互 130

小结132

实用资源 132

第 4 章 寻找漏洞 134

什么是漏洞135

漏洞类型 136

缓冲区溢出136

竞争条件 138

输入验证 139

访问控制 140

本地漏洞 140

使用 lynis 进行本地检查141

OpenVAS 本地扫描143

Root Kit146

远程漏洞 147

OpenVAS 入门 149

创建扫描 151

OpenVAS 报告 155

网络设备漏洞159

审查设备 160

数据库漏洞163

识别新的漏洞 164

小结 167

实用资源 168

第 5 章 自动化漏洞利用 169

什么是漏洞利用? 170

思科攻击 170

管理协议 172

其他设备 173

漏洞利用数据库 175

Metasploit 178

Metasploit 入门 179

Metasploit 模块应用180

导入数据 182

漏洞利用系统187

Armitage 189

社交工程 192

小结 195

实用资源 195

第 6 章 Metasploit 进阶 197

扫描目标 198

端口扫描 198

SMB 扫描202

漏洞扫描 204

对目标进行漏洞利用205

Meterpreter 应用208

Meterpreter 基础209

用户信息 209

操作进程 213

权限升级 216

转向其他网络 220

维护访问权限223

小结227

实用资源 228

第 7 章 无线安全测试 229

无线应用的范围 229

80211230

蓝牙协议 231

Zigbee 协议 232

WiFi 攻击和测试工具233

80211 协议的术语和功能233

识别网络 235

WPS 攻击 238

自动化多个测试 240

注入攻击 242

WiFi 密码破解244

besside-ng244

coWPAtty 246

Aircrack-ng247

Fern 250

流氓 AP 252

托管接入点252

网络钓鱼攻击254

无线蜜罐 258

蓝牙测试 259

扫描260

服务识别 262

其他蓝牙测试265

Zigbee 测试 267

小结267

实用资源 268

第 8 章 Web 应用测试 269

Web 架构 269

防火墙 271

负载均衡器271

Web 服务器 272

应用程序服务器 273

数据库服务器274

基于 Web 的攻击 274

SQL 注入275

XML 实体注入 276

命令注入 278

跨站脚本 279

跨站请求伪造281

会话劫持 282

使用代理 284

Burp Suite285

Zed 攻击代理 289

WebScarab295

Paros 代理 296

Proxystrike 298

自动化 Web 攻击 299

Recon 299

Vega302

nikto 304

Dirbuster 和 Gobuster 306

基于 Java 的应用程序服务器 308

基于 SQL 的攻击309

高级应用 313

小结 316

实用资源 316

第 9 章 破解密码 317

密码存储 317

生日悖论 318

安全账户管理器( SAM) 319

PAM 和 Crypt 320

获取密码 322

本地破解 325

密码破解中的数学 326

John the Ripper327

彩虹表330

HashCat 336

远程破解 338

Hydra339

Patator 340

基于 Web 的攻击 342

小结346

实用资源 346

第 10 章 高级技术 347

编程基础 348

编译性语言349

解释性语言352

中间语言 353

编译和构建356

编程错误 357

缓冲区溢出358

堆栈保护 360

堆溢出361

返回 libc 362

编写 Nmap 模块 363

扩展 Metasploit367

反汇编与逆向工程371

调试371

反汇编 376

跟踪程序 378

其他文件类型380

保持访问和善后 381

Metasploit 与善后381

维持访问 383

小结 384

实用资源 385

第 11 章 报告 386

确定威胁发生的可能性和严重程度 387

编写报告 389

受众389

执行摘要 390

方法论 392

测试结果 392

记笔记 394

文本编辑器394

基于 GUI 的编辑器 396

笔记397

捕获数据 398

组织数据 400

Dradis Framework 401

CaseFile403

小结 406

实用资源 406

作者介绍 409

封面介绍 409


前言/序言

一个新手试图通过打开和关闭电源的方式修复损坏的 Lisp 机器。Knight 当时看到了学生所作所为,严厉地说:“你不能只通过切断电源来修理机器,但是不知道问题出在哪里。”

Knight 关闭了机器,然后重新启动。机器就正常工作了。

——AI Koan

在过去的半个世纪中,麻省理工学院(MIT)是在学习和创造方面具有深厚黑客文化底蕴的地方之一,特别是它的人工智能实验室。麻省理工学院的黑客形成了一种独特的语言文化,创造了一些特殊的术语和幽默感。前面引用的是一个 AI 公案,模仿自禅宗的公案,旨在激发心智,使人顿悟。顺便提一下,上文中的 Knight 指的是麻省理工学院 AI 实验室备受尊敬的程序员 TomKnight。

本书旨在通过安全测试的镜头向读者介绍 Kali Linux 的功能。这是为了帮助你更好的理解事物的运作方式和工作原理。 Kali Linux 是一款面向安全的Linux 发行版软件,因此最终受到那些因为兴趣或职业需要而进行安全测试或渗透测试的人们的欢迎。虽然它确实可以当作通用的 Linux 发行版并用于取证和其他相关任务,但它的设计考虑了安全性测试。因此,本书的大部分内容将侧重于使用 Kali 提供的工具。其他 Linux 发行版中的许多工具不一定很容易地获得。虽然可以安装这些工具,有时可以根据源代码进行编译构建,但是如果软件包位于发行版的版本库中,那么安装会更容易。

本书概要

鉴于本书的目的是通过安全测试的角度介绍 Kali,将包含以下主题:

Kali Linux 入门

Linux 有着悠久的历史,最早可以追溯到 20 世纪 60 年代的 UNIX。本章介绍了一些 UNIX 的背景知识,以便读者更好地理解 Linux 中的工具是如何以它们自己的方式进行运作,以及如何有效地使用它们。我们还将介绍命令行,因为本书的其余部分将会经常用到它,同时还会介绍一些桌面系统,以便为用户提供更好的工作环境。如果你不熟悉 Linux,本章将有助于你更顺畅地阅读本书的其他章节,以便我们开始深入介绍那些实用工具时,不会让读者感到不知所措。

网络安全测试基础

大家耳熟能详的很多服务都是通过网络获取的。但是,连接到网络的系统可能容易受到攻击。为了更好地对网络进行测试,我们将介绍一些网络协议工作原理的基础知识。当你深入了解安全测试时,会发现正在使用的协议是一项非常宝贵的资产。我们还将介绍可用于网络堆栈和应用程序压力测试的工具。

侦察

在进行安全测试或渗透测试时,一般的做法首先是对目标进行侦察。你可以使用很多开源工具来收集目标的相关信息。这不仅有助于你的后续测试,还可以提供许多详细信息,将它们和正在执行测试的团队成员信息进行共享。这可以帮助他们正确地判定系统到达外部世界的足迹。毕竟,关于组织及其成员的信息可以成为攻击者的垫脚石。

寻找漏洞

对组织的攻击通常来自其漏洞。我们将介绍能够深入了解目标组织中存在技术漏洞(非人为)的漏洞扫描器。这将为如何着手测试提供线索,因为安全测试的目的是为被测试的组织提供存在潜在漏洞和威胁的建议。识别漏洞将帮助你达到上述目的。

自动化漏洞利用

虽然 Metasploit 可能是执行安全测试和渗透测试的基础,但是也可以使用其他工具。我们将介绍使用 Metasploit 的基础知识,还会提及一些用于发现漏洞的工具,本书其他章节将会对它们进行详细介绍。

Metasploit 进阶

Metasploit 是一款复杂的软件。熟练使用它可能需要很长时间。 Metasploit提供接近 2000 种漏洞利用,以及 500 多个有效载荷。当你对它们排列组合时,将获得与远程系统交互的数千种可能性。此外,你还可以创建自己的模块。在介绍 Metasploit 时,我们将不会仅局限于阐述其用于常见漏洞的基础知识。

无线安全测试

当前每个人都拥有无线网络。这就是手机和平板电脑等移动设备(更不用说大量的笔记本电脑)连接到企业网络的方式。但是,并非所有无线网络都采用了最佳设置。 Kali Linux 提供了可用于执行无线安全测试的工具。其中包括扫描无线网络、注入帧和密码破解。

Web 应用测试

大量的商业行为是通过 Web 界面完成的。此外,通过 Web 界面可以获得许多敏感信息。企业需要关注他们的重要 Web 应用的易受攻击性。 Kali加载了可以帮助你对 Web 应用进行评估的工具。我们将介绍基于代理的测试,以及可用于自动化测试的其他工具。目的是帮助你更好地了解这些应用程序对你正在测试的组织的安全状况。

破解密码

这并不是一项经常性的需求,但你可能会被要求测试远程系统和本地密码数据库的复杂度,以及远程访问的难度——破解密码哈希(比如密码文件),以及强制登录远程服务(比如 SSH, VNC 和其他远程访问协议)。

高级技术

你可以使用 Kali 工具库中的所有工具进行大量测试。但是在某些时候,现成的工具并不能满足需要,所以你需要开发自己的工具。这可能包括创建自己的漏洞利用或编写自己的工具。更好地理解漏洞利用的工作原理,以及开发自己的工具,将为你指明正确的方向。我们还将介绍如何对 Kali的一些工具进行功能扩展,以及流行脚本语言的基础知识。

报告

在完成测试之后,最重要的事情是生成测试报告。 Kali 有很多工具可以帮助你在测试结束后生成报告。我们将介绍在测试过程中添加笔记的技巧,以及生成报告的一些策略。

读者对象

虽然我希望本书的某些内容可供大部分读者阅读,但本书的主要受众是那些拥有一些 Linux 或 UNIX 经验,但是想了解 Kali 所有功能的人。本书也适合那些希望通过 Kali Linux 提供的工具来更好地处理安全测试的人。如果你已经熟悉 Linux,那么可以直接跳过第 1 章。你也可能是使用某些常用工具完成Web 应用程序测试的人员,但希望进一步提高自己的水平。

道德忠告

对于道德这个词,即使你对它已经司空见惯,但是这里还是需要着重强调一下,因为它很重要。安全测试需要你获得相应的许可。在大多数地方,可能你做的某些事情都是非法的。在未经许可的情况下探测远程系统会给你带来很多麻烦。首先提及合法性往往会引起人们的注意。

道德的要求往往高于法律。获得认证的安全专业人士必须遵守与其道德操守相关的誓言。这里最重要的一点就是不滥用信息资源。 CISSP 认证有一个与之相关的道德准则,要求你同意不做任何非法或者不道德的事情。

对你无权测试的任何系统进行测试不仅可能是非法的,而且根据我们的行业守则来说肯定是不道德的。仅知道目标组织中的某些人并获得他们的许可是不够的。你必须获得企业负责人或具有相应责任级别人员的同意才能授予你该权限。最好以书面形式获得许可。这可以确保双方在同一层面达成共识。

预先确认测试范围也很重要。你正在测试的组织可能会限制你可以执行的操作,可以触摸的系统和网络,以及可以执行测试的时间。以书面形式获得所有这些。事先准备好这些。它们是你避免牢狱之灾的强力保障。记下测试范围,然后照章办事。

当然,交流!交流!交流!请帮自己一个忙。不要只是以书面形式获得许可,然后无故消失,而客户无法知道你在做什么。沟通和协作将为你正在测试的组织带来良好的结果。这通常也是正确的做法。

在道德的界限内,尽情施展你的才华。

排版约定

本书使用的排版约定如下所示:

斜体(Italic)

表示新术语, URL, 电子邮件地址,文件和文件扩展名。在段落中用于指代程序元素,比如变量名或函数名称,数据库,数据类型,环境变量,语句和关键字。

等宽字体(Constant width)

用于表示程序列表和代码示例。

代码示例

本书中的代码可以帮助你完善工作。一般而言,本书中的源代码,不需要得到我们的许可就可以应用到你自己的程序或文档中,除非你希望重新发布了这些代码的副本。举例来说,一个程序中用到本书中的若干代码块不需要许可授权。销售或发布包含 O’Reilly 图书中的代码样例的 CD-Rom 不需要授权许可。回答一个问题引用本书中的内容或代码不需要授权许可。在你的产品文档中加入大量的本书代码样例需要授权许可。

我们建议,但非强制要求标明出处。出处通常包括标题,作者,出版社和ISBN。比如:“Learning Kali Linux by Ric Messier (O’Reilly). Copyright2018 Ric Messier, 978-1-492-02869-7”。

如果你觉得使用代码样例超出了上述许可范围,请通过 permissions@oreilly.com 与我们取得联系。

O’Reilly 在线学习平台(O’Reilly Online Learning)

近 40 年来, O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。

我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。 O’Reilly 的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly 和 200 多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问 http://oreilly.com。

联系我们

请将关于本书的意见和问题通过以下地址提供给出版商:

美国:

O’Reilly Media, Inc.

1005 Gravenstein Highway North

Sebastopol, CA 95472

中国:

北京市西城区西直门南大街2号成铭大厦C座807室(100035)

奥莱利技术咨询(北京)有限公司

我们为本书提供了一个网页,上面有勘误表、示例和其他相关的信息,请访问:http://bit.ly/learning-kali-linux。

有关本书的建议或者技术问题,请发邮件到 bookquestions@oreilly.com。

有关其他图书、讲座、会议、新闻的信息,请访问我们的网站: http://www.oreilly.com。

我们的 Facebook: http://facebook.com/oreilly。

我们的 Twitter: http://twitter.com/oreillymedia。

我们的 YouTube: http://www.youtube.com/oreillymedia。

致谢

特别感谢 Courtney Allen,他是 O’Reilly 出版社的优秀联络员。还要感谢我的编辑 Virginia Wilson,当然还有我的技术审稿人帮助改进了这本书——Brandon Noble, Kathleen Hyde,尤其是 Megan Daudelin !