Metasploit渗透测试指南
编辑推荐
本书获得了metasploit开发团队的一致好评,metasploit项目创始人hd moore评价本书为:“现今最好的metasploit框架软件参考指南”。
基本信息
- 作者: (美)David Kennedy Jim O'Gorman Devon Kearns Mati Aharoni
- 译者: 诸葛建伟 王珩 孙松柏
- 丛书名: 安全技术大系
- 出版社:电子工业出版社
- ISBN:9787121154874
- 上架时间:2012-1-17
- 出版日期:2012 年1月
http://product.china-pub.com/198995
内容简介
《metasploit渗透测试指南》介绍metasploit——近年来最强大、最流行和最有发展前途的开源渗透测试平台软件,以及基于metasploit进行网络渗透测试与安全漏洞研究分析的技术、流程和方法。
《metasploit渗透测试指南》共有17章,覆盖了渗透测试的情报搜集、威胁建模、漏洞分析、渗透攻击和后渗透攻击各个环节,并包含了免杀技术、客户端渗透攻击、社会工程学、自动化渗透测试、无线网络攻击等高级技术专题,以及如何扩展metasploit情报搜集、渗透攻击与后渗透攻击功能的实践方法,本书一步一个台阶地帮助初学者从零开始建立起作为渗透测试者的基本技能,也为职业的渗透测试工程师提供一本参考用书。本书获得了metasploit开发团队的一致好评,metasploit项目创始人hd moore评价本书为:“现今最好的metasploit框架软件参考指南”。
《metasploit渗透测试指南》适合网络与系统安全领域的技术爱好者与学生,以及渗透测试与漏洞分析研究方面的安全从业人员阅读。
《metasploit渗透测试指南》共有17章,覆盖了渗透测试的情报搜集、威胁建模、漏洞分析、渗透攻击和后渗透攻击各个环节,并包含了免杀技术、客户端渗透攻击、社会工程学、自动化渗透测试、无线网络攻击等高级技术专题,以及如何扩展metasploit情报搜集、渗透攻击与后渗透攻击功能的实践方法,本书一步一个台阶地帮助初学者从零开始建立起作为渗透测试者的基本技能,也为职业的渗透测试工程师提供一本参考用书。本书获得了metasploit开发团队的一致好评,metasploit项目创始人hd moore评价本书为:“现今最好的metasploit框架软件参考指南”。
《metasploit渗透测试指南》适合网络与系统安全领域的技术爱好者与学生,以及渗透测试与漏洞分析研究方面的安全从业人员阅读。
目录
《metasploit渗透测试指南》
第1章 渗透测试技术基础 1
1.1 ptes标准中的渗透测试阶段 2
1.1.1 前期交互阶段 2
1.1.2 情报搜集阶段 2
1.1.3 威胁建模阶段 2
1.1.4 漏洞分析阶段 3
1.1.5 渗透攻击阶段 3
1.1.6 后渗透攻击阶段 3
1.1.7 报告阶段 4
1.2 渗透测试类型 4
1.2.1 白盒测试 5
1.2.2 黑盒测试 5
1.3 漏洞扫描器 5
1.4 小结 6
第2章 metasploit基础 7
2.1 专业术语 7
2.1.1 渗透攻击(exploit) 8
2.1.2 攻击载荷(payload) 8
2.1.3 shellcode 8
第1章 渗透测试技术基础 1
1.1 ptes标准中的渗透测试阶段 2
1.1.1 前期交互阶段 2
1.1.2 情报搜集阶段 2
1.1.3 威胁建模阶段 2
1.1.4 漏洞分析阶段 3
1.1.5 渗透攻击阶段 3
1.1.6 后渗透攻击阶段 3
1.1.7 报告阶段 4
1.2 渗透测试类型 4
1.2.1 白盒测试 5
1.2.2 黑盒测试 5
1.3 漏洞扫描器 5
1.4 小结 6
第2章 metasploit基础 7
2.1 专业术语 7
2.1.1 渗透攻击(exploit) 8
2.1.2 攻击载荷(payload) 8
2.1.3 shellcode 8
.2.1.4 模块(module) 8
2.1.5 监听器(listener) 8
2.2 metasploit用户接口 8
2.2.1 msf终端 9
2.2.2 msf命令行 9
2.2.3 armitage 11
2.3 metasploit功能程序 12
2.3.1 msf攻击载荷生成器 12
2.3.2 msf编码器 13
2.3.3 nasm shell 13
2.4 metasploit express和metasploit pro 14
2.5 小结 14
第3章 情报搜集 15
3.1 被动信息搜集 16
3.1.1 whois查询 16
3.1.2 netcraft 17
3.1.3 nslookup 18
3.2 主动信息搜集 18
3.2.1 使用nmap进行端口扫描 18
3.2.2 在metasploit中使用数据库 20
3.2.3 使用metasploit进行端口扫描 25
3.3 针对性扫描 26
3.3.1 服务器消息块协议扫描 26
3.3.2 搜寻配置不当的microsoft sql server 27
3.3.3 ssh服务器扫描 28
3.3.4 ftp扫描 29
3.3.5 简单网管协议扫描 30
3.4 编写自己的扫描器 31
3.5 小结 33
第4章 漏洞扫描 35
4.1 基本的漏洞扫描 36
4.2 使用nexpose进行扫描 37
4.2.1 配置 37
4.2.2 将扫描报告导入到metasploit中 42
4.2.3 在msf控制台中运行nexpose 43
4.3 使用nessus进行扫描 44
4.3.1 配置nessus 44
4.3.2 创建nessus扫描策略 45
4.3.3 执行nessus扫描 47
4.3.4 nessus报告 47
4.3.5 将扫描结果导入metasploit框架中 48
4.3.6 在metasploit内部使用nessus进行扫描 49
4.4 专用漏洞扫描器 51
4.4.1 验证smb登录 51
4.4.2 扫描开放的vnc空口令 52
4.4.3 扫描开放的x11服务器 54
4.5 利用扫描结果进行自动化攻击 56
第5章 渗透攻击之旅 57
5.1 渗透攻击基础 58
5.1.1 msf] show exploits 58
5.1.2 msf] show auxiliary 58
5.1.3 msf] show options 58
5.1.4 msf] show payloads 60
5.1.5 msf] show targets 62
5.1.6 info 63
5.1.7 set和unset 63
5.1.8 setg和unsetg 64
5.1.9 save 64
5.2 你的第一次渗透攻击 64
5.3 攻击一台ubuntu主机 68
5.4 全端口攻击载荷:暴力猜解目标开放的端口 71
5.5 资源文件 72
5.6 小结 73
第6章 meterpreter 75
6.1 攻陷windows xp 虚拟机 76
6.1.1 使用nmap扫描端口 76
6.1.2 攻击ms sql 76
6.1.3 暴力破解ms sql服务器 78
6.1.4 xp_cmdshell 79
6.1.5 meterpreter基本命令 80
6.1.6 获取键盘记录 81
6.2 挖掘用户名和密码 82
6.2.1 提取密码哈希值 82
6.2.2 使用meterpreter命令获取密码哈希值 83
6.3 传递哈希值 84
6.4 权限提升 85
6.5 令牌假冒 87
6.6 使用ps 87
6.7 通过跳板攻击其他机器 89
6.8 使用meterpreter脚本 92
6.8.1 迁移进程 92
6.8.2 关闭杀毒软件 93
6.8.3 获取系统密码哈希值 93
6.8.4 查看目标机上的所有流量 93
6.8.5 攫取系统信息 93
6.8.6 控制持久化 94
6.9 向后渗透攻击模块转变 95
6.10 将命令行shell升级为meterpreter 95
6.11 通过附加的railgun组件操作windows api 97
6.12 小结 97
第7章 免杀技术 99
7.1 使用msf攻击载荷生成器创建可独立运行的二进制文件 100
7.2 躲避杀毒软件的检测 101
7.2.1 使用msf编码器 102
7.2.2 多重编码 103
7.3 自定义可执行文件模板 105
7.4 隐秘地启动一个攻击载荷 106
7.5 加壳软件 107
7.6 小结:关于免杀处理的最后忠告 108
第8章 客户端渗透攻击 109
8.1 基于浏览器的渗透攻击 110
8.1.1 基于浏览器的渗透攻击原理 111
8.1.2 空指令 112
8.2 使用immunity调试器来揭秘空指令机器码 112
8.3 对ie浏览器的极光漏洞进行渗透利用 116
8.4 文件格式漏洞渗透攻击 119
8.5 发送攻击负载 120
8.6 小结 121
第9章 metasploit辅助模块 123
9.1 使用辅助模块 126
9.2 辅助模块剖析 128
9.3 小结 133
第10章 社会工程学工具包 135
10.1 配置set工具包 136
10.2 针对性钓鱼攻击向量 137
10.3 web攻击向量 142
10.3.1 java applet 142
10.3.2 客户端web攻击 146
10.3.3 用户名和密码获取 148
10.3.4 标签页劫持攻击 150
10.3.5 中间人攻击 150
10.3.6 网页劫持 151
10.3.7 综合多重攻击方法 153
10.4 传染性媒体生成器 157
10.5 teensy usb hid攻击向量 157
10.6 set的其他特性 160
10.7 小结 161
第11章 fast-track 163
11.1 microsoft sql注入 164
11.1.1 sql注入——查询语句攻击 165
11.1.2 sql注入——post参数攻击 166
11.1.3 手工注入 167
11.1.4 ms sql破解 168
11.1.5 通过sql自动获得控制(sqlpwnage) 172
11.2 二进制到十六进制转换器 174
11.3 大规模客户端攻击 175
11.4 小结:对自动化渗透的一点看法 176
第12章 karmetasploit无线攻击套件 177
12.1 配置 178
12.2 开始攻击 179
12.3 获取凭证 181
12.4 得到shell 182
12.5 小结 184
第13章 编写你自己的模块 185
13.1 在ms sql上进行命令执行 186
13.2 探索一个已存在的metasploit模块 187
13.3 编写一个新的模块 189
13.3.1 powershell 189
13.3.2 运行shell渗透攻击 190
13.3.3 编写powershell_upload_exec函数 192
13.3.4 从十六进制转换回二进制程序 192
13.3.5 计数器 194
13.3.6 运行渗透攻击模块 195
13.4 小结:代码重用的能量 196
第14章 创建你自己的渗透攻击模块 197
14.1 fuzz测试的艺术 198
14.2 控制结构化异常处理链 201
14.3 绕过seh限制 204
14.4 获取返回地址 206
14.5 坏字符和远程代码执行 210
14.6 小结 213
第15章 将渗透代码移植到metasploit框架 215
15.1 汇编语言基础 216
15.1.1 eip和esp寄存器 216
15.1.2 jmp指令集 216
15.1.3 空指令和空指令滑行区 216
15.2 移植一个缓冲区溢出攻击代码 216
15.2.1 裁剪一个已有的渗透攻击代码 218
15.2.2 构造渗透攻击过程 219
15.2.3 测试我们的基础渗透代码 220
15.2.4 实现框架中的特性 221
15.2.5 增加随机化 222
15.2.6 消除空指令滑行区 223
15.2.7 去除伪造的shellcode 223
15.2.8 我们完整的模块代码 224
15.3 seh覆盖渗透代码 226
15.4 小结 233
第16章 meterpreter脚本编程 235
16.1 meterpreter脚本编程基础 235
16.2 meterpreter api 241
16.2.1 打印输出 241
16.2.2 基本api调用 242
16.2.3 meterpreter mixins 242
16.3 编写meterpreter脚本的规则 244
16.4 创建自己的meterpreter脚本 244
16.5 小结 250
第17章 一次模拟的渗透测试过程 251
17.1 前期交互 252
17.2 情报搜集 252
17.3 威胁建模 253
17.4 渗透攻击 255
17.5 msf终端中的渗透攻击过程 255
17.6 后渗透攻击 257
17.6.1 扫描metasploitable靶机 258
17.6.2 识别存有漏洞的服务 259
17.7 攻击apache tomcat 260
17.8 攻击一个偏门的服务 262
17.9 隐藏你的踪迹 264
17.10 小结 266
附录a 配置目标机器 267
附录b 命令参考列表 275
2.1.5 监听器(listener) 8
2.2 metasploit用户接口 8
2.2.1 msf终端 9
2.2.2 msf命令行 9
2.2.3 armitage 11
2.3 metasploit功能程序 12
2.3.1 msf攻击载荷生成器 12
2.3.2 msf编码器 13
2.3.3 nasm shell 13
2.4 metasploit express和metasploit pro 14
2.5 小结 14
第3章 情报搜集 15
3.1 被动信息搜集 16
3.1.1 whois查询 16
3.1.2 netcraft 17
3.1.3 nslookup 18
3.2 主动信息搜集 18
3.2.1 使用nmap进行端口扫描 18
3.2.2 在metasploit中使用数据库 20
3.2.3 使用metasploit进行端口扫描 25
3.3 针对性扫描 26
3.3.1 服务器消息块协议扫描 26
3.3.2 搜寻配置不当的microsoft sql server 27
3.3.3 ssh服务器扫描 28
3.3.4 ftp扫描 29
3.3.5 简单网管协议扫描 30
3.4 编写自己的扫描器 31
3.5 小结 33
第4章 漏洞扫描 35
4.1 基本的漏洞扫描 36
4.2 使用nexpose进行扫描 37
4.2.1 配置 37
4.2.2 将扫描报告导入到metasploit中 42
4.2.3 在msf控制台中运行nexpose 43
4.3 使用nessus进行扫描 44
4.3.1 配置nessus 44
4.3.2 创建nessus扫描策略 45
4.3.3 执行nessus扫描 47
4.3.4 nessus报告 47
4.3.5 将扫描结果导入metasploit框架中 48
4.3.6 在metasploit内部使用nessus进行扫描 49
4.4 专用漏洞扫描器 51
4.4.1 验证smb登录 51
4.4.2 扫描开放的vnc空口令 52
4.4.3 扫描开放的x11服务器 54
4.5 利用扫描结果进行自动化攻击 56
第5章 渗透攻击之旅 57
5.1 渗透攻击基础 58
5.1.1 msf] show exploits 58
5.1.2 msf] show auxiliary 58
5.1.3 msf] show options 58
5.1.4 msf] show payloads 60
5.1.5 msf] show targets 62
5.1.6 info 63
5.1.7 set和unset 63
5.1.8 setg和unsetg 64
5.1.9 save 64
5.2 你的第一次渗透攻击 64
5.3 攻击一台ubuntu主机 68
5.4 全端口攻击载荷:暴力猜解目标开放的端口 71
5.5 资源文件 72
5.6 小结 73
第6章 meterpreter 75
6.1 攻陷windows xp 虚拟机 76
6.1.1 使用nmap扫描端口 76
6.1.2 攻击ms sql 76
6.1.3 暴力破解ms sql服务器 78
6.1.4 xp_cmdshell 79
6.1.5 meterpreter基本命令 80
6.1.6 获取键盘记录 81
6.2 挖掘用户名和密码 82
6.2.1 提取密码哈希值 82
6.2.2 使用meterpreter命令获取密码哈希值 83
6.3 传递哈希值 84
6.4 权限提升 85
6.5 令牌假冒 87
6.6 使用ps 87
6.7 通过跳板攻击其他机器 89
6.8 使用meterpreter脚本 92
6.8.1 迁移进程 92
6.8.2 关闭杀毒软件 93
6.8.3 获取系统密码哈希值 93
6.8.4 查看目标机上的所有流量 93
6.8.5 攫取系统信息 93
6.8.6 控制持久化 94
6.9 向后渗透攻击模块转变 95
6.10 将命令行shell升级为meterpreter 95
6.11 通过附加的railgun组件操作windows api 97
6.12 小结 97
第7章 免杀技术 99
7.1 使用msf攻击载荷生成器创建可独立运行的二进制文件 100
7.2 躲避杀毒软件的检测 101
7.2.1 使用msf编码器 102
7.2.2 多重编码 103
7.3 自定义可执行文件模板 105
7.4 隐秘地启动一个攻击载荷 106
7.5 加壳软件 107
7.6 小结:关于免杀处理的最后忠告 108
第8章 客户端渗透攻击 109
8.1 基于浏览器的渗透攻击 110
8.1.1 基于浏览器的渗透攻击原理 111
8.1.2 空指令 112
8.2 使用immunity调试器来揭秘空指令机器码 112
8.3 对ie浏览器的极光漏洞进行渗透利用 116
8.4 文件格式漏洞渗透攻击 119
8.5 发送攻击负载 120
8.6 小结 121
第9章 metasploit辅助模块 123
9.1 使用辅助模块 126
9.2 辅助模块剖析 128
9.3 小结 133
第10章 社会工程学工具包 135
10.1 配置set工具包 136
10.2 针对性钓鱼攻击向量 137
10.3 web攻击向量 142
10.3.1 java applet 142
10.3.2 客户端web攻击 146
10.3.3 用户名和密码获取 148
10.3.4 标签页劫持攻击 150
10.3.5 中间人攻击 150
10.3.6 网页劫持 151
10.3.7 综合多重攻击方法 153
10.4 传染性媒体生成器 157
10.5 teensy usb hid攻击向量 157
10.6 set的其他特性 160
10.7 小结 161
第11章 fast-track 163
11.1 microsoft sql注入 164
11.1.1 sql注入——查询语句攻击 165
11.1.2 sql注入——post参数攻击 166
11.1.3 手工注入 167
11.1.4 ms sql破解 168
11.1.5 通过sql自动获得控制(sqlpwnage) 172
11.2 二进制到十六进制转换器 174
11.3 大规模客户端攻击 175
11.4 小结:对自动化渗透的一点看法 176
第12章 karmetasploit无线攻击套件 177
12.1 配置 178
12.2 开始攻击 179
12.3 获取凭证 181
12.4 得到shell 182
12.5 小结 184
第13章 编写你自己的模块 185
13.1 在ms sql上进行命令执行 186
13.2 探索一个已存在的metasploit模块 187
13.3 编写一个新的模块 189
13.3.1 powershell 189
13.3.2 运行shell渗透攻击 190
13.3.3 编写powershell_upload_exec函数 192
13.3.4 从十六进制转换回二进制程序 192
13.3.5 计数器 194
13.3.6 运行渗透攻击模块 195
13.4 小结:代码重用的能量 196
第14章 创建你自己的渗透攻击模块 197
14.1 fuzz测试的艺术 198
14.2 控制结构化异常处理链 201
14.3 绕过seh限制 204
14.4 获取返回地址 206
14.5 坏字符和远程代码执行 210
14.6 小结 213
第15章 将渗透代码移植到metasploit框架 215
15.1 汇编语言基础 216
15.1.1 eip和esp寄存器 216
15.1.2 jmp指令集 216
15.1.3 空指令和空指令滑行区 216
15.2 移植一个缓冲区溢出攻击代码 216
15.2.1 裁剪一个已有的渗透攻击代码 218
15.2.2 构造渗透攻击过程 219
15.2.3 测试我们的基础渗透代码 220
15.2.4 实现框架中的特性 221
15.2.5 增加随机化 222
15.2.6 消除空指令滑行区 223
15.2.7 去除伪造的shellcode 223
15.2.8 我们完整的模块代码 224
15.3 seh覆盖渗透代码 226
15.4 小结 233
第16章 meterpreter脚本编程 235
16.1 meterpreter脚本编程基础 235
16.2 meterpreter api 241
16.2.1 打印输出 241
16.2.2 基本api调用 242
16.2.3 meterpreter mixins 242
16.3 编写meterpreter脚本的规则 244
16.4 创建自己的meterpreter脚本 244
16.5 小结 250
第17章 一次模拟的渗透测试过程 251
17.1 前期交互 252
17.2 情报搜集 252
17.3 威胁建模 253
17.4 渗透攻击 255
17.5 msf终端中的渗透攻击过程 255
17.6 后渗透攻击 257
17.6.1 扫描metasploitable靶机 258
17.6.2 识别存有漏洞的服务 259
17.7 攻击apache tomcat 260
17.8 攻击一个偏门的服务 262
17.9 隐藏你的踪迹 264
17.10 小结 266
附录a 配置目标机器 267
附录b 命令参考列表 275