书籍详情

网络渗透测试的艺术

网络渗透测试的艺术

作者:[美]Royce Davis 著,周姿瑜 译

出版社:北京航空航天大学出版社

出版时间:2022-03-01

ISBN:9787512436848

定价:¥79.00

购买这本书可以去
内容简介
  《网络渗透测试的艺术》对典型内部网络渗透测试(Internal Network Penetration Test,INPT)进行了完整介绍。本书循序渐进地介绍了进行网络渗透测试的方法,作者曾用这个方法为各种规模的公司进行了数百次INPT。这本书并不是理论和思想的概念介绍,而更像是一本手册,可以指导经验很少或没有经验的读者来完成整个INPT工作。谁应该读这本书本书主要为潜在的渗透测试人员及相关技术人员,即从事网络系统、应用程序和基础设施的设计、开发或实现工作的人员而编写。本书的结构框架:内容导读本书共分为四个阶段,每一阶段都与进行典型INPT 四个阶段中的一个阶段相关联。本书应按照顺序进行阅读,因为INPT 工作流的每个阶段都建立在前一阶段输出的基础上。第1阶段解释INPT 的信息收集,该阶段会让你详细理解目标的攻击面:第2章介绍发现指定IP地址范围内网络主机的过程。第3章说明如何进一步列举在前一章中发现的主机上监听的网络服务。第4章涵盖在网络服务中识别身份验证、配置和修补漏洞的几种技术。第2阶段为集中渗透阶段,你的目标是通过使用前一阶段识别的安全弱点或“漏洞”,获得对受破坏的目标未经授权的访问:第5章展示如何攻击多个易受攻击的 Web应用程序,特别是Jenkins和 ApacheTomcat。第6章描述如何攻击和渗透易受攻击的数据库服务器,并从非交互式 Shell中检索敏感文件。第7章探索如何利用 Microsoft安全更新的缺失和使用开源的 Metasploit meter- preter攻击载荷。第3阶段是后漏洞利用和权限提升阶段,这是攻击者在攻击易受攻击的目标后需要做的事情。本阶段介绍三个主要概念———维护可靠的重新访问权、获取凭证以及横向移动到近可访问的(二级)系统:第8章涵盖基于 Windows系统的后漏洞利用。第9章讨论针对 Linux/UNIX目标的各种后漏洞利用技术。第10章介绍提升域管理员权限的过程和从 Windows域控制器中安全提取“王冠”的过程。第4阶段包括INPT 的清理和文档部分:第11章展示如何返回并从任务测试活动中删除不必要的、潜在有害的工件。第12章讨论对于渗透测试,一个稳定的可交付成果是由哪8个部分组成的。有经验的渗透测试人员可能更喜欢跳转到他们感兴趣的特定部分进行阅读,例如Linux/UNIX后渗透测试或攻击易受攻击的数据库服务器。但是,如果你是网络渗透测试新手,则更应从头到尾依次阅读这些章节。关于代码本书包含大量的命令行输出,包括编号清单和正常文本。在这两种情况下,源代码都采用固定宽度字体格式,以将其与普通文本分开。本书示例代码可从 Manning网站https://www.manning.com/books/the-art-of-network-penetration-testing下 载,也 可 从 GitHub网站https://github.com/R3dy/capsulecorp-pentest下载。livebook论坛购买《网络渗透测试的艺术》这本书后,可以免费访问 Manning出版物运营的私人网络论坛,在论坛里你可以对该书发表评论、询问技术问题并从作者和其他用户那里获得帮 助。论 坛 网 址:https://livebook.manning.com/#!/book/the-art-of-network-penetration-testing/discussion;也可以在https://livebook.manning.com/#!/dis-cussion上了解更多关于 Manning论坛和行为准则的信息。
作者简介
  ROYCE DAVIS是一名专业的网络安全专家,专门从事网络渗透测试和企业对抗性攻击仿真。十多年来,他一直在帮助客户保护他们的网络工作环境,并在美国各地的安全会议上介绍了研究、技术和工具。他为开源安全测试工具和框架做出了许多贡献,同时是一个道德黑客培训和教育在线资源网站PentestGeek的联合创始人。
目录
第1章 网络渗透测试 1
1.1 企业数据泄露 2
1.2 黑客如何侵入2
1.2.1 防御者角色 2
1.2.2 攻击者角色 3
1.3 对抗攻击模拟:渗透测试  3
1.4 何时渗透测试无效  5
1.4.1 容易实现的目标 5
1.4.2 公司什么时候真正需要渗透测试 6
1.5 执行网络渗透测试  6
1.5.1 第1阶段:信息收集 7
1.5.2 第2阶段:集中渗透 8
1.5.3 第3阶段:漏洞利用和权限提升9
1.5.4 第4阶段:文档 10
1.6 设置实验室环境 11
1.7 构建自己的虚拟渗透测试平台11
1.7.1 从 Linux开始 11
1.7.2 Ubuntu项目 12
1.7.3 为什么不使用渗透测试发行版 12
1.8 总 结 13
第1阶段 信息收集
第2章 发现网络主机 17
2.1 了解工作范围 19
2.1.1 黑盒、白盒和灰盒测试范围 19
2.1.2 Capsulecorp 20 
2.1.3 设置 CapsulecorpPentest环境21
2.2 互联网控制消息协议 21
2.2.1 使用ping命令 22
2.2.2 使用bashpingsweep扫描网络范围 24
2.2.3 使用ping命令的限制 26
2.3 使用 Nmap发现主机 26
2.3.1 主要输出格式  28
2.3.2 使用远程管理接口端口29
2.3.3 提高 Nmap扫描性能 31
2.4 其他主机发现方法  32
2.4.1 DNS暴力破解 32
2.4.2 数据包捕获和分析33
2.4.3 寻找子网 33
2.5 总 结 35
第3章 发现网络服务 36
3.1 从攻击者的角度了解网络服务 36
3.1.1 了解网络服务通信  38
3.1.2 识别监听网络服务  39
3.1.3 网络服务横幅  39
3.2 使用 Nmap端口扫描  40
3.2.1 常用端口 41 
3.2.2 扫描所有的65536个TCP端口 44
3.2.3 对 NSE脚本输出进行分类 45
3.3 用 Ruby解析 XML输出 49
3.4 总 结 56
第4章 发现网络漏洞  57
4.1 了解漏洞发现  58
4.2 发现补丁漏洞  59
4.3 发现身份验证漏洞  62
4.3.1 创建一个客户专用的密码列表  63
4.3.2 暴力破解本地 Windows账户密码  65
4.3.3 暴力破解 MSSQL和 MySQL数据库密码 67
4.3.4 暴力破解 VNC密码 70
4.4 发现配置漏洞  72
4.4.1 设置 Webshot 73
4.4.2 分析 Webshot的输出 74
4.4.3 手动猜测 Web服务器密码 76
4.4.4 准备集中渗透  78
4.5 总 结 78
第2阶段 集中渗透
第5章 攻击易受攻击的 Web服务  81
5.1 理解第2阶段:集中渗透 82
5.1.1 部署后门 WebShell 82
5.1.2 访问远程管理服务  83
5.1.3 利用缺少的软件补丁 83
5.2 获得一个初步立足点  83
5.3 破坏一个易受攻击的 Tomcat服务器  84
5.3.1 创建一个恶意的 WAR文件 85
5.3.2 部署 WAR文件 86
5.3.3 从浏览器访问 WebShell 87
5.4 交互式Shell与非交互式Shell的对比88
5.5 提升到交互式Shell   89
5.5.1 备份sethc.exe 90
5.5.2 使用cacls.exe修改文件ACL 91
5.5.3 通过 RDP启动粘滞键 92
5.6 破坏易受攻击的Jenkins服务器  93
5.7 总 结 95
第6章 攻击易受攻击的数据库服务 96
6.1 破坏 Microsoft SQL服务器 96
6.1.1 MSSQL存储过程  98
6.1.2 使用 Metasploit枚举 MSSQL服务器 98
6.1.3 启用xp_cmdshell 100
6.1.4 使用xp_cmdshell运行操作系统命令  102
6.2 窃取 Windows账户哈希密码104
6.2.1 使用reg.exe复制注册表hive105
6.2.2 下载注册表 hive副本 107
6.3 使用creddump提取哈希密码  109
6.4 总 结  111
第7章 攻击未打补丁的服务  112
7.1 理解软件漏洞利用   113
7.2 理解典型的漏洞利用生命周期   113
7.3 使用 Metasploit破坏 MS17-010 114
7.3.1 验证缺少补丁 115
7.3.2 使用 ms17_010_psexecexploit模块  117
7.4 MeterpreterShell负载  118
7.5 关于公共漏洞利用数据库的注意事项 124
7.6 总 结 126
第3阶段 后漏洞利用和权限提升
第8章 Windows后漏洞利用   129
8.1 基本的后漏洞利用目标  129
8.1.1 维护可靠的重新访问权  130
8.1.2 获取凭证  130
8.1.3 横向移动  130
8.2 使用 Meterpreter维护可靠的重新访问权 131
8.3 使用 Mimikatz获取凭证 134
8.4 获取域缓存凭证 136
8.4.1 使用 MeterpreterPost模块  137
8.4.2 使用JohntheRipper破解缓存凭证 138
8.4.3 与JohntheRipper一起使用字典文件 140
8.5 从文件系统中获取凭证  141
8.6 使用哈希传递攻击进行横向移动 143
8.6.1 使用 Metasploitsmb_login模块  144
8.6.2 使用 CrackMapExec进行哈希传递攻击 146
8.7 总 结 148
第9章 Linux或 UNIX后漏洞利用 149
9.1 使用定时命令维护可靠的重新访问权 150
9.1.1 创建SSH 密钥对  151
9.1.2 启用公钥身份验证 152
9.1.3 通过SSH 建立隧道 154
9.1.4 使用定时任务自动建立SSH 隧道 156
9.2 获取凭证  157
9.2.1 从bash历史记录中获取凭证 158
9.2.2 获取哈希密码 159
9.3 使用SUID二进制文件提升权限 160
9.3.1 使用find命令查找SUID二进制文件 161
9.3.2 在/etc/passwd中插入一个新用户  163
9.4 传递SSH 密钥  165
9.4.1 从受破坏的主机中窃取密钥  165
9.4.2 使用 Metasploit扫描多个目标 166
9.5 总 结 168
第10章 控制整个网络 169
10.1 识别域管理员用户账号  171
10.1.1 使用net命令查询活动目录组171
10.1.2 查找已登录的域管理员用户 172
10.2 获得域管理员权限  173
10.2.1 使用Incognito模拟登录的用户 175
10.2.2 使用 Mimikatz获取明文凭证 176
10.3 ntds.dit文件和王国之钥 177
10.3.1 绕过 VSS的限制 178
10.3.2 使用secretsdump.py提取所有哈希值 182
10.4 总 结 183
第4阶段 INPT的清理和文档
第11章 后期清理  187
11.1 终止活动的Shell连接  188
11.2 禁用本地用户账户  189
11.3 从文件系统中删除残留文件190
11.3.1 删除 Windows注册表hive的副本  191
11.3.2 删除SSH 密钥对 191
11.3.3 删除ntds.dit文件的副本 192
11.4 反转配置更改  193
5网络渗透测试的艺术
11.4.1 禁用 MSSQL存储过程 193
11.4.2 禁用匿名文件共享 194
11.4.3 删除定时任务条目 195
11.5 关闭后门 196
11.5.1 从 ApacheTomcat中取消部署 WAR文件 196
11.5.2 关闭粘滞键后门  197
11.5.3 卸载持久的 Meterpreter回调 198
11.6 总 结 199
第12章 撰写一个稳定的渗透测试可交付成果 200
12.1 稳定的渗透测试可交付成果的8个部分 200
12.2 执行摘要 202
12.3 工作方法 202
12.4 攻击叙述 203
12.5 技术观察 203
12.6 附 录 206
12.6.1 严重程度定义 206
12.6.2 主机和服务 207
12.6.3 工具列表 207
12.6.4 其他参考文献  208
12.7 收尾工作 208
12.8 现在怎么办  209
12.9 总 结 210
附录 A 构建一个虚拟的渗透测试平台 211
A.1 创建 Ubuntu虚拟机  211
A.2 其他操作系统依赖项  212
A.2.1 使用apt管理 Ubuntu包  212
A.2.2 安装 CrackMapExec 213
A.2.3 自定义终端界面外观 213
A.3 安装 Nmap 213
A.3.1 NSE:Nmap脚本引擎  214
A.3.2 操作系统依赖项  215
A.3.3 从源代码编译和安装 216
A.3.4 探索文档  217
A.4 Ruby脚本语言  218
A.4.1 安装 Ruby版本管理器 218
A.4.2 编写必需的 Helloworld示例 219
A.5 Metasploit框架  222
A.5.1 操作系统依赖项  222
A.5.2 必要的 Rubygem 223
A.5.3 为 Metasploit安装 PostgreSQL 224
A.5.4 浏览 msfconsole  226
附录 B Linux基本命令  230
B.1 CLI命令  230
B.1.1 $cat  230
B.1.2 $cut  231
B.1.3 $grep  232
B.1.4 $sort和 wc  233
B.2 tmux … 234
B.2.1 使用tmux命令  235
B.2.2 保存tmux会话  235
附录 C 创建 CapsulecorpPentest实验室网络  237
C.1 硬件和软件要求  238
C.2 创建 Windows主服务器 240
C.2.1 Goku.capsulecorp.local  240
C.2.2 Gohan.capsulecorp.local  241
C.2.3 Vegeta.capsulecorp.local 241
C.2.4 Trunks.capsulecorp.local  241
C.2.5 Nappa.capsulecorp.local和 Tien.capsulecorp.local  242
C.2.6 Yamcha.capsulecorp.local和 Krillin.capsulecorp.local  242
C.3 创建 Linux服务器   242
附录 D Capsulecorp内部网络渗透测试报告 243
D.1 执行摘要  243
D.1.1 工作范围  243
D.1.2 观察总结  243
D.2 工作方法  244
7网络渗透测试的艺术
D.2.1 信息收集  244
D.2.2 集中渗透  244
D.2.3 后漏洞利用和权限提升  244
D.2.4 文档和清理   245
D.3 攻击叙述  245
D.4 技术观察 245
D.5 附录1:严重程度定义  249
D.5.1 关 键  249
D.5.2 高 级  249
D.5.3 中 级  249
D.5.4 低 级  250
D.6 附录2:主机和服务 250
D.7 附录3:工具列表   254
D.8 附录4:其他参考文献  255
附录 E 练习答案 256
猜您喜欢

读书导航