KaliLinux面向专业的渗透测试和安全审计,集成了大量精心挑选的安全检测工具。本书在KaliLinux平台上从一个攻击者的角度来审视网络框架,详细介绍了攻击者“杀链”采取的具体步骤。通过阅读本书读者能快速学习和掌握渗透测试方法和工具。
作者简介罗伯特W.贝格斯(Robert W. Beggs)是Digitial Defence公司的创始人和首席执行官,该公司专门从事信息安全事件的预防和处理。他拥有超过15年的安全业务技术管理经验,涉及有线和无线网络的渗透测试、事件响应、数据取证等内容。
罗伯特是一个资深的信息安全传播者,并且是多伦多地区安全大会(Toronto Area Security Klatch,TASK)的联合创始人之一,在北美多伦多地区安全大会是众所周知的、大的独立–供应商安全用户群。他是部门安全会议(SecTor Security Conference)咨询委员会的成员,以及其他几个安全学术委员会的成员。他是一个热心的安全培训教师,他在加拿大几所大学教授研究生、本科生和继续教育学生的信息安全课程。
罗伯特拥有女王大学的计算机科学与技术MBA学位,同时是一个认证信息系统安全专家。
推荐序
作者简介
审校者简介
前言
第一部分 攻击者杀链
第1章 走进Kali Linux 2
1.1 Kali Linux 2
1.2 配置网络服务和安全通信 4
1.2.1 调整网络代理设置 5
1.2.2 使用安全Shell保护通信安全 6
1.3 更新Kali Linux 7
1.4 配置和自定义Kali Linux 9
1.4.1 重置超级用户密码 9
1.4.2 添加普通用户 10
1.4.3 加速Kali运行 10
1.4.4 与Microsoft Windows共享文件夹 11
1.4.5 用TrueCrypt创建加密文件夹 13
1.5 第三方应用程序的管理 17
1.5.1 安装第三方应用程序 17
1.5.2 作为普通用户运行第三方应用程序 18
1.6 渗透测试的有效管理 19
1.7 总结 21
第2章 确定目标——被动侦察 22
2.1 侦察的基本原则 22
2.2 开源情报 23
2.3 DNS侦察和路由映射 25
2.3.1 WHOIS 25
2.3.2 DNS侦察 26
2.3.3 映射路由到目标 29
2.4 获得用户信息 31
2.4.1 收集姓名和电子邮件地址 31
2.4.2 收集文件元数据 32
2.5 分析用户密码列表 34
2.6 小结 35
第3章 主动侦察和漏洞扫描 36
3.1 隐形扫描策略 37
3.1.1 调整源IP栈和工具识别设置 37
3.1.2 修改数据包参数 38
3.1.3 使用匿名网络代理(Tor和Privoxy) 39
3.2 识别网络基础设施 42
3.3 枚举主机 43
3.4 端口、操作系统和发现服务 44
3.4.1 端口扫描 44
3.4.2 指纹识别操作系统 45
3.4.3 确定主动服务 46
3.5 采用综合侦察应用 47
3.5.1 nmap 47
3.5.2 recon-ng框架 49
3.5.3 Maltego 51
3.6 漏洞扫描 52
3.7 小结 53
第4章 漏洞利用 54
4.1 威胁建模 55
4.2 使用在线和本地漏洞资源 56
4.2.1 Metasploit框架 59
4.2.2 利用易受攻击的应用程序 63
4.3 使用Armitage的多目标渗透 64
4.3.1 Armitage 测试团队 66
4.3.2 Armitage攻击脚本 66
4.4 绕过IDS与反病毒侦测 67
4.5 小结 73
第5章 后期利用——行动的目的 74
5.1 绕过Windows用户账户控制 75
5.2 对已入侵的系统进行快速侦察 77
5.3 找到并提取敏感数据——掠夺目标 80
5.4 创建附加账户 83
5.5 使用Metasploit工具进行后期渗透活动 84
5.6 在已入侵主机上提升用户权限 87
5.7 使用incognito重放身份验证令牌 88
5.7.1 使用Windows凭据编辑器操作访问凭据 89
5.7.2 从管理员升级到系统管理员 90
5.8 访问新账户实现横向升级 90
5.9 消除痕迹 91
5.10 小结 93
第6章 后期利用——持久性 94
6.1 破解现有的系统和应用程序文件进行远程访问 95
6.1.1 启用远程服务 95
6.1.2 启用远程Windows终端服务 96
6.1.3 启用远程虚拟网络计算 97
6.2 使用持久代理 98
6.3 使用Metasploit框架保持持久性 101
6.3.1 使用metsvc脚本 101
6.3.2 使用persistence脚本 103
6.4 使用Metasploit框架创建一个独立持久代理 104
6.5 重定向端口来绕过网络控制 106
6.5.1 示例1——简单端口重定向 106
6.5.2 示例2——双向端口重定向 107
6.6 小结 107
第二部分 交付阶段
第7章 物理攻击与社会工程学 110
7.1 社会工程工具包 111
7.1.1 网络钓鱼攻击曝光 113
7.1.2 使用网站攻击向量——Java小程序攻击方法 118
7.1.3 使用网站攻击向量——凭据收割攻击方法 121
7.1.4 使用网站攻击向量——标签钓鱼攻击方法 123
7.1.5 使用网站攻击向量——综合攻击网页方法 124
7.2 使用PowerShell字母数字的shellcode注入攻击曝光 125
7.3 隐藏可执行文件与伪装攻击者的URL 126
7.4 使用DNS重定向攻击的升级攻击 127
7.5 物理访问与敌对设备 130
7.6 小结 133
第8章 利用无线通信 134
8.1 配置Kali实现无线攻击曝光 134
8.2 无线侦察 135
8.3 绕过一个隐藏的服务集标识符 138
8.4 绕过MAC地址验证 140
8.5 破解WEP加密 142
8.6 攻击WPA和WPA2 146
8.6.1 暴力攻击曝光 146
8.6.2 使用Reaver攻击无线路由器曝光 149
8.7 克隆接入点 149
8.8 拒绝服务攻击曝光 150
8.9 小结 151
第9章 基于Web应用的侦察与利用 153
9.1 对网站进行侦察 154
9.2 漏洞扫描器 158
9.2.1 扩展传统漏洞扫描器功能 158
9.2.2 扩展Web浏览器功能 159
9.2.3 具体网络服务的漏洞扫描器 160
9.3 使用客户端代理测试安全性 163
9.4 服务器漏洞 167
9.5 针对特定应用的攻击 168
9.5.1 暴力破解访问证书 169
9.5.2 数据库注入攻击曝光 169
9.6 使用网站后门维持访问 171
9.7 小结 172
第10章 利用远程访问通信 174
10.1 利用操作系统通信协议 175
10.1.1 破解远程桌面协议 175
10.1.2 破解安全外壳 177
10.2 利用第三方远程访问应用程序 179
10.3 攻击安全套接字层 180
10.3.1 为SSLv2扫描配置Kali 181
10.3.2 SSL连接的侦察 182
10.3.3 使用sslstrip进行中间人攻击曝光 186
10.3.4 针对SSL的拒绝服务攻击曝光 188
10.4 攻击IPSec虚拟专用网络 188
10.4.1 扫描VPN网关 189
10.4.2 指纹识别VPN网关 190
10.4.3 截获预共享密钥 191
10.4.4 执行离线PSK破解 191
10.4.5 确定默认用户账户 192
10.5 小结 192
第11章 客户端攻击技术详解 193
11.1 使用恶意脚本攻击系统曝光 193
11.1.1 使用VBScript进行攻击曝光 194
11.1.2 使用Windows PowerShell攻击系统曝光 196
11.2 跨站点脚本框架 198
11.3 浏览器开发框架——BeEF 204
11.4 BeEF浏览器的演练 206
11.4.1 整合BeEF和Metasploit攻击 210
11.4.2 用BeEF作为隧道代理 211
11.5 小结 213
附录 安装Kali Linux 214
Preface本书致力于介绍如何使用Kali Linux对网络执行渗透测试。渗透测试可以模拟内部或外部的恶意攻击者对网络或系统进行攻击。不同于漏洞评估,渗透测试包括漏洞利用阶段。因此,漏洞是存在的,而且如果不采取相应的措施将会有很大风险。
在这本书中,“渗透测试人员”“攻击者”和“黑客”使用完全相同的技术及工具评估网络和数据系统的安全性。他们之间唯一的区别是他们的目标——数据网络的安全或数据的外泄。
大多数的测试人员和攻击者遵循一个非正式的、开源的或专门定义的测试方法,指导测试过程。下面的一些方法有其固有的优势:
测试过程的部分方法可以自动生成(例如,测试人员可以经常使用ping扫描发现潜在的目标;因此,这可以作为脚本利用),鼓励测试人员把重点放在发现和利用漏洞的技术创新上。
结果是可重复的,允许反复比较,交叉验证测试的结果,确定随着时间的推移,目标的安全性是否有所改善。
定义的方法在时间和人员的要求方面是可见的,鼓励成本控制并使成本小化。
测试方法已经预先获得客户批准,在对网络或数据造成任何损害时测试人员免责。
正式的方法包括以下著名的例子:
Kevin Orrey的渗透测试框架: 这种方法为测试人员提供一个渗透测试的序列步骤,以及工具的超链接和相关命令。更多信息请参见www.vulnerabilityassessment.co.uk。
信息系统安全评估框架(Information Systems Security Assessment Framework,ISSAF): 这个综合性指南的目标是单一的网络测试,更多信息请参见www.oissg.org。
NIST SP 800-115,信息安全测试和评估技术手册:完成于2008年,这种四步走的方法已经有些过时。然而,它确实为渗透测试提供了一个很好的基本步骤总结。更多信息请参见http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115.pdf。
开源安全测试方法手册(Open Source Security Testing Methodology Manual,OSSTMM): 这个老的方法之一,并且新版本试图量化确定的风险。更多详细内容参见www.osstmm.org。
开放Web应用安全工程(Open Web Application Security Project,OWASP):该工程主要关注了基于Web应用的10个常见的漏洞。更多信息请关注www.owasp.org。
渗透测试执行标准(Penetration Testing Execution Standard,PTES):积极维护,这种方法能完整并且精确地反映恶意者的行为。更多信息请关注www.pentest-standard.org。
攻击(Web)测试框架(Offensive(Web)Testing Framework,OWTF):在2012年提出,结合了OWASP方法和更完整、严格的PTES方法,这是一个非常有前途的研究方向。更多详细信息请关注https://github.com/7a/owtf。
但是,使用一个结构化的渗透测试方法可能会导致测试过程陷入泥潭:
模型中很少考虑为什么要进行渗透测试,或哪些数据是业务的关键数据,并且需要保护。缺少这至关重要的一步,渗透测试无法抓住重点。 很多渗透测试人员不愿遵循现成的模型方法,他们担心模型会阻碍他们进行网络渗透的创造力。
渗透测试不能反映恶意攻击者的实际活动。通常,客户希望看到你能不能在一个特定的系统中获得管理上的访问权(“你可以打开这个盒子吗?”)。然而,攻击者可能会重点关注复制关键数据的方式——不需要底层接入,或引起拒绝服务。
为了解决形式化测试方法所固有的局限性,它们必须被整合在一个框架中,从一个攻击者的角度看这个网络框架,这就是“杀链”(kill chain)。
渗透测试的“杀链”方案在2009年,Lockheed Martin CERT的Mike Cloppert介绍了这个概念,现在被称为“攻击者杀链”(attacker kill chain)。当攻击者攻击网络时,“杀链”包含攻击者采取的步骤。“杀链”不总是以一个线性流呈现,因为一些步骤可能会并行出现。多发攻击可以对同一个目标瞬时进行多种攻击,并且在同一时间攻击步骤可能发生重叠。
在本书中,我们已经修改了Cloppert的杀链,使之能更准确地反映攻击者如何在测试网络和数据服务时应用这些步骤。下图显示了一个攻击者的典型杀链:
图 典型的杀链一个攻击者的典型杀链可以描述为:
侦察阶段。有一句格言:“侦察永远不浪费时间”。大多数军事组织承认,在进攻敌人之前,好尽可能地去了解敌人的一切信息。同样,攻击者在攻击之前也会对目标展开广泛的侦察。事实上,据估计,针对渗透测试或攻击,至少有70%的“工作量”是进行侦察!一般来说,可采用两种类型的侦察:
被动侦察。这种方式并不直接与目标以敌对方式进行交互。例如,攻击者将会审查公共的可用网站,评估在线媒体(尤其是社交媒体网站),并试图确定目标的“攻击表面”。
一个详细的任务将会产生一份过去和现在的雇员名称的列表。这些名称将成为尝试蛮力攻击或密码猜测的基础。同样它们也被用到社会工程的攻击中。
这种类型的侦察很难从普通用户的行为中区分出来。
主动侦察。这种方式可以被目标检测到,但是很难从常规的背景中区分出大多数在线组织的表现。
主动侦察期间的活动包括物理访问目标前端、端口扫描和远程漏洞扫描。
交付阶段。交付是选择和开发武器,武器用于完成攻击中的任务。精确的武器选择取决于攻击者的意图以及实施路线(例如,借助网络、通过无线,或通过基于Web的服务)。交付阶段的影响将在本书第二部分进行研究。
利用或攻击阶段。一个特定的漏洞被成功利用的时刻,此时攻击者实现他们的目标。攻击可能已经在一个特定的情景下发生(例如:通过缓冲区溢出利用一个已知操作系统的安全隐患),或者攻击可能在多个情景下发生(例如:一个攻击者物理访问公司住所,偷取他们的电话簿,用公司员工的名字来创建门户登录蛮力攻击列表。此外,电子邮件被发送到所有员工以引诱他们单击一个嵌入式链接,下载制作的PDF文件,这些文件会危及员工的计算机)。当恶意攻击者针对特定的企业时,多情景攻击是常态。
后期利用阶段:对目标的行动。这经常被称为“渗漏阶段”(exfiltration phase),这是错误的,因为通常理解的攻击,仅仅以窃取敏感信息作为唯一的目的(如登录信息、个人信息和财务信息);但是,通常情况下,攻击者有不同的攻击目标。例如,这一阶段必须专注于攻击者的许多可能的行动。
常见的利用活动是攻击者试图提升他们的访问权限到高级(纵向升级),并且破解尽可能多的账号(横向升级)。
后期利用:持久性。如果攻击一个网络或者系统是有价值的,那么这个价值很可能在持续攻击下增长。这就需要攻击者持续与被攻破的系统之间保持通信。从防护者的角度来看,这是攻击杀链中容易检测到的一部分。
当攻击者试图攻击网络或特定的数据系统时,攻击杀链是攻击者行为的一种基本模型。作为一种元模型,它可以吸收任何私人的或商业的渗透测试方法。但是,也不同于这些方法,它使攻击者在一个战略高度上关注如何接近网络。这种专注于攻击者的活动将引导本书的布局和内容。
本书涵盖的内容本书分为两个部分。第一部分会根据杀链的步骤,详细分析每个阶段。第二部分会专注于交付阶段和一些有用的方法,来明确攻击是怎么发生的,以及如何用这种方法来保护网络。
第1章介绍了Kali Linux的基础知识和它支持渗透测试的优配置。
第2章提供了一个关于怎么样利用公共可用资源搜集目标信息的背景,以及简化侦察和信息管理的工具。
第3章介绍用来获得目标信息的隐形方法,尤其是识别漏洞的信息,这种信息可以充分利用。
第4章证明了可以用来找到并执行渗透的方法,允许黑客攻击一个系统。
第5章描述攻击者怎样逐步提高自己的权限,实现他们攻击系统的目标,包括盗窃数据、改变数据、发动更多的攻击,或创建一个拒绝服务。
第6章介绍了怎样设置一个受损系统,以便攻击者可以任意返回和继续利用漏洞进行攻击。
第7章介绍了为什么可以在物理上访问一个系统,或者与系统管理者交互,该章提供了一个佳的利用方法。
第8章阐明了怎样利用普通无线链接来访问数据网络与隔离系统。
第9章提供一个关于获得安全的、复杂的交付阶段的简要综述:暴露在公共因特网上的基于Web的应用。
第10章提供一个进入系统的重要方法,因为越来越多的机构采用分布式和在家办公的模式,这种模式依赖于远程访问通信,而这种通信很容易受到攻击。
第11章主要讨论针对终端用户系统上应用的攻击,因为这些应用不会频繁地为终端用户的系统提供与企业的私人网络相同程度的保护。
附录概述安装Kali Linux的主要步骤,以及怎样采用全盘加密来避免机密测试数据的拦截。
学习本书需要准备什么为了练习本书中出现的示例,需要虚拟化工具,例如VMware或者VirtualBox。
需要下载和安装Kali Linux操作系统及工具套件。通过访问互联网来确保你的系统是新的,并且安装了所有的工具。
不幸的是,不是Kali Linux系统上的所有工具都会呈现,因为工具太多了。本书的目标不是将所有的攻击和选项展现给读者,而是提供一个测试方法,这个方法可以为读者提供学习和掌握新工具的机会,经过一段时间后,将它们变为自己的经验和知识。
虽然本书中大多数示例是基于Microsoft Windows的,但是方法和大多数工具是可以转换到其他操作系统的,例如Linux和其他UNIX系统。
后,本书应用Kali 来完成攻击者的攻击流程,对目标系统进行攻击。你需要一个目标操作系统。本书的许多示例是基于Microsoft Windows XP的。虽然它在2014年4月已被弃用,但是该系统为许多工具提供了一个行为标准的“基线”。如果你知道怎样将一个方法应用到一个操作系统,那么你可以将它应用到更多现有的操作系统,例如Windows 7和Windows 8。
本书的读者对象本书适用于想要学习更多关于数据安全知识的人。特别是,它的目标人群是那些在实践中明白为什么要使用一个特定工具的人;而不是相反的一些人(为了查看一个系统是否有漏洞,他们使用尽可能多的工具)。我的目标是使读者开发他们自己的方法和方式来进行有效的渗透测试,这可以让他们试验和学习,使他们进步。我相信这种方法是理解黑客怎样攻击数据系统的唯一有效的方式;自然,这也是了解怎样在漏洞被利用之前弥补漏洞的唯一方法。
如果你是一名专业的安全人员、渗透测试人员,或者是对复杂数据环境的安全感兴趣的人,那么这本书是为你准备的。
作为一名对网络安全充满热情的自学者,我一直在寻找能够真正提升我实战能力的资源,而《Kali Linux高级渗透测试》这本书无疑是我迄今为止最满意的一本。它不仅仅是一本技术手册,更像是一份详尽的实战指南。我尤其对书中关于模糊测试、Web应用安全以及无线网络渗透的部分充满了期待。这些都是我一直想要深入了解的领域,而这本书能够提供如此系统和深入的讲解,让我感到非常兴奋。我希望通过阅读这本书,能够系统性地学习Kali Linux的各项功能,掌握从信息收集到漏洞利用再到权限维持的完整渗透流程,并能独立完成复杂的渗透测试任务。这本书的语言风格也非常易于理解,即使是像我这样非科班出身的学习者,也能很快地进入状态。我迫不及待地想和书中的案例一起进行实践,感受每一次成功攻击带来的成就感,并从中吸取宝贵的经验教训。
评分我之前一直对网络安全领域充满兴趣,也接触过一些基础的安全知识,但总是感觉缺乏系统性的指导,尤其在实际操作层面。朋友向我推荐了《Kali Linux高级渗透测试》这本书,我立刻被它的内容吸引了。书中对Kali Linux工具的深入讲解,以及对各种渗透测试场景的细致分析,都让我眼前一亮。我特别期待关于社会工程学攻击以及APT(高级持续性威胁)的章节,这部分内容听起来就充满了挑战和趣味。我希望通过这本书的学习,能够掌握更高级的渗透测试技巧,理解攻击者是如何一步步深入目标系统的,并学会如何利用这些知识来加固自身系统的安全。这本书的排版和图示也非常清晰,有助于我理解复杂的概念。我准备投入大量的时间和精力来学习这本书,相信它一定会成为我网络安全学习道路上的重要里程碑。
评分这本《Kali Linux高级渗透测试》简直就是一本宝藏!我一直认为,要了解如何保护一个系统,就必须先了解如何攻击它。而 Kali Linux 作为专业的渗透测试发行版,其强大的工具集和丰富的功能正是实现这一目标的绝佳载体。这本书的内容深深地吸引了我,因为它不仅仅停留在理论的层面,更注重实战的应用。我非常期待书中关于权限提升、后渗透维持以及云环境渗透的章节。这些都是当前网络安全领域非常热门且具有挑战性的课题。我希望通过这本书的学习,能够构建起一个清晰、完整的渗透测试思维框架,理解不同攻击场景下的应对策略,并能熟练运用 Kali Linux 中的各种工具来发现和利用系统漏洞。我已经开始按照书中的步骤进行实践,虽然有些章节需要花费更多的时间去理解和消化,但每一次的进步都让我感到无比的满足。我相信,随着阅读的深入,我的渗透测试技能一定会得到质的飞跃,也能在未来的网络安全工作中占据更加有利的位置。
评分这本书的出现,就像在我一直摸索的网络安全道路上点亮了一盏明灯。《Kali Linux高级渗透测试》不仅仅是一本技术书籍,更像是一位经验丰富的导师,带领我一步步深入探索网络安全的奥秘。我对于书中关于漏洞复现、利用框架以及攻击面管理的讲解尤为感兴趣。这些都是我渴望掌握的核心技能,而这本书提供了非常详尽的实操指南。我希望通过这本书的学习,能够真正理解渗透测试的“道”与“术”,不仅知其然,更要知其所以然。我期待能够将书中的知识融会贯通,运用到实际的网络安全攻防演练中,并在实践中不断提升自己的能力。这本书的深度和广度都让我印象深刻,我相信它一定会成为我网络安全学习旅程中不可或缺的伙伴。
评分这本书真是让我大开眼界!我一直对网络安全领域充满好奇,尤其对那些神秘的“黑客”技术感到着迷。在朋友的推荐下,我入手了这本《Kali Linux高级渗透测试》。拿到书的那一刻,就被它厚重的质感和专业的排版吸引了。翻开目录,密密麻麻的章节标题让我对接下来的学习充满了期待。我尤其对那些关于漏洞挖掘、社会工程学以及高级攻击向量的部分很感兴趣,感觉这才是真正触及网络安全核心的地方。我不是一个技术小白,之前也接触过一些基础的网络安全知识,但总感觉隔靴搔痒,不够深入。这本书的出现,恰好填补了我知识上的空白。我希望通过阅读这本书,能够更全面地理解渗透测试的流程和方法,掌握更加精湛的攻击技巧,从而更好地保护自己和他人免受网络威胁。我已经迫不及待地想 dive into 了,相信这本书一定会带给我前所未有的学习体验,让我从一个旁观者变成一个真正的网络安全实践者。我准备好迎接挑战,深入探索 Kali Linux 的强大功能,并将其应用于实际的安全攻防场景中。
评分京东买书还是很靠谱的,支持刷卡,发票也是真的。
评分书很不错 但是还是要自己实践才行
评分很是喜欢??????!
评分书的内容还是不错的,但是有几本书有点脏。
评分正版图书,很专业,学习好帮手
评分买着玩。,。,。。,。
评分不错,适合基础入门加提高的同学,大神就不用了
评分貌似一般般,没想象的好
评分不错 书没有想象中那么厚
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有