描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121318252
编辑推荐
自2013年首次问世以来,本书迅速掳获了从业人员的芳心。作为*一本经官方团队亲自评审并高度认可(“现今已有*好的Metasploit框架软件参考指南”)的著作,本书不仅涵盖了基础的工具和技术,也深入分享了如何实施渗透测试的方法与经验。四位来自不同领域的资深黑客作者从不同的视角无私奉献了他们的技巧与心得:既贡献了企业安全架构上的经验,也端出了安全漏洞挖掘和渗透代码开发的“私房菜”。
本次的修订版,在译者的精心组织与编排下完成,主要的修订在于:基于Metasploit*的版本复现并更新了原书的实验案例,同时考虑到国情与本地化的需求,将关键的实验对象、分析工具等换成了国内读者更容易接触和使用的替代品。这使读者能更容易通过复现实验过程,深刻而快速地掌握相关渗透技巧。
译者来自诸葛建伟老师的团队。诸葛建伟老师是XCTF联赛发起人、著名的蓝莲花团队创始人之一,在网络安全领域有多年的从业经验。
口碑好书,值得珍藏!
内容简介
Metasploit渗透测试指南(修订版)》介绍Metasploit——近年来强大、流行和有发展前途的开源渗透测试平台软件,以及基于Metasploit进行网络渗透测试与安全漏洞研究分析的技术、流程和方法。 本书共有17章,覆盖了渗透测试的情报搜集、威胁建模、漏洞分析、渗透攻击和后渗透攻击各个环节,并包含了免杀技术、客户端渗透攻击、社会工程学、自动化渗透测试、无线网络攻击等高级技术专题,以及如何扩展Metasploit情报搜集、渗透攻击与后渗透攻击功能的实践方法,本书一步一个台阶地帮助初学者从零开始建立起作为渗透测试者的基本技能,也为职业的渗透测试工程师提供一本参考用书。本书获得了Metasploit开发团队的一致好评,Metasploit项目创始人HD Moore评价本书为:”现今难得一见的优秀的Metasploit框架软件参考指南”。
目 录
第1 章 渗透测试技术基础 ………………………………………………………………………………………………………………………………………. 1
1.1 PTES 中的渗透测试阶段
1.1.1 前期交互阶段
1.1.2 情报搜集阶段
1.1.3 威胁建模阶段
1.1.4 漏洞分析阶段
1.1.5 渗透攻击阶段
1.1.6 后渗透攻击阶段
1.1.7 报告阶段
1.2 渗透测试类型
1.2.1 白盒测试
1.2.2 黑盒测试
1.2.3 灰盒测试
1.3 漏洞扫描器
1.4 小结
第2 章 Metasploit 基础 …………………………………………………………………………………………………………………………………………… 7
2.1 专业术语
2.1.1 渗透攻击(Exploit)
2.1.2 攻击载荷(Payload)
2.1.3 shellcode
2.1.4 模块(Module)
2.1.5 监听器(Listener)
2.2 Metasploit 用户接口
2.2.1 MSF 终端
2.2.2 MSF 命令行
2.2.3 Armitage
2.3 Metasploit 功能程序
2.3.1 MSF 攻击载荷生成器
2.3.2 MSF 编码器
2.3.3 Nasm shel
2.4 Metasploit Express 和Metasploit Pro
2.5 小结
第3 章 情报搜集 ……………………………………………………………………………………………………………………………………………………. 15
3.1 被动信息搜集
3.1.1 whois 查询
3.1.2 Netcraft
3.1.3 nslookup
3.1.4 Google Hacking
3.2 主动信息搜集
3.2.1 使用nmap 进行端口扫描
3.2.2 在Metasploit 中使用数据库
3.2.3 使用Metasploit 进行端口扫描
3.3 针对性扫描
3.3.1 服务器消息块协议扫描
3.3.2 搜寻配置不当的Microsoft SQL Server
3.3.3 SSH 服务器扫描
3.3.4 FTP 扫描
3.3.5 简单网管协议扫描
3.4 编写自己的扫描器
3.5 展望
第4 章 漏洞扫描 ……………………………………………………………………………………………………………………………………………………. 36
4.1 基本的漏洞扫描
4.2 使用Nexpose 进行扫描
4.2.1 配置
4.2.2 将扫描报告导入到Metasploit 中
4.2.3 在MSF 控制台中运行Nexpose
4.3 使用Nessus 进行扫描
4.3.1 配置Nessus
4.3.2 创建Nessus 扫描策略
4.3.3 执行Nessus 扫描
4.3.4 Nessus 报告
4.3.5 将扫描结果导入Metasploit 框架中
4.3.6 在Metasploit 内部使用Nessus 进行扫描
4.4 专用漏洞扫描器
4.4.1 验证SMB 登录
4.4.2 扫描开放的VNC 空口令
4.4.3 扫描开放的X11 服务器
4.5 利用扫描结果进行自动化攻击
第5 章 渗透攻击之旅 …………………………………………………………………………………………………………………………………………….. 65
5.1 渗透攻击基础
5.1.1 msf> show exploits
5.1.2 msf> show auxiliary
5.1.3 msf> show options
5.1.4 msf> show payloads
5.1.5 msf> show targets
5.1.6 info
5.1.7 set 和unset
5.1.8 setg 和unsetg
5.1.9 save
5.2 你的第一次渗透攻击
5.3 攻击Metasploitable 主机
5.4 全端口攻击载荷:暴力猜解目标开放的端口
5.5 资源文件
5.6 小结
第6 章 Meterpreter ………………………………………………………………………………………………………………………………………………. 83
6.1 攻陷Windows XP 虚拟机
6.1.1 使用nmap 扫描端口
6.1.2 攻击MS SQL
6.1.3 暴力破解MS SQL 服务
6.1.4 xp_cmdshell
6.1.5 Meterpreter 基本命令
6.1.6 获取键盘记录
6.2 挖掘用户名和密码
6.2.1 提取密码哈希值
6.2.2 使用Meterpreter 命令获取密码哈希值
6.3 传递哈希值
6.4 权限提升
6.5 令牌假冒
6.6 使用PS
6.7 通过跳板攻击其他机器
6.7.1 使用Meterpreter 进行跳板攻击
6.7.2 使用Metasploit Pro 的VPN 跳板
6.8 使用Meterpreter 脚本
6.8.1 迁移进程
6.8.2 关闭杀毒软件
6.8.3 获取系统密码哈希值
6.8.4 查看目标机上的所有流量
6.8.5 攫取系统信息
6.8.6 控制持久化
6.9 向后渗透攻击模块转变
6.10 将命令行shell 升级为Meterpreter
6.11 通过附加的Railgun 组件操作Windows API
6.12 小结
第7 章 免杀技术 …………………………………………………………………………………………………………………………………………………. 112
7.1 使用MSF 攻击载荷生成器创建可独立运行的二进制文件
7.2 躲避杀毒软件的检测
7.2.1 使用MSF 编码器
7.2.2 多重编码
7.3 自定义可执行文件模板
7.4 隐秘地启动一个攻击载荷
7.5 加壳软件
7.6 使用Metasploit Pro 的动态载荷实现免杀
7.7 关于免杀处理的最后忠告
第8 章 客户端渗透攻击 ………………………………………………………………………………………………………………………………………. 127
8.1 基于浏览器的渗透攻击
8.1.1 基于浏览器的渗透攻击原理
8.1.2 关于空指令
8.2 使用ollydbg 调试器揭秘空指令机器码
8.3 对IE 浏览器的极光漏洞进行渗透利用
8.4 文件格式漏洞渗透攻击
8.5 发送攻击负载
8.6 小结
第9 章 Metasploit 辅助模块 ……………………………………………………………………………………………………………………………….. 141
9.1 使用辅助模块
9.2 辅助模块剖析
9.3 展望
第10 章 社会工程学工具包 …………………………………………………………………………………………………………………………………. 153
10.1 配置SET 工具包
10.2 针对性钓鱼攻击向量
10.3 Web 攻击向量
10.3.1 Java Applet
10.3.2 客户端Web 攻击
10.3.3 用户名和密码获取
10.3.4 标签页劫持攻击(Tabnabbing)
10.3.5 中间人攻击
10.3.6 网页劫持
10.3.7 综合多重攻击方法
10.4 传染性媒体生成器
10.5 USB HID 攻击向量
10.6 SET 的其他特性
10.7 展望
第11 章 Fast-Track ……………………………………………………………………………………………………………………………………………. 183
11.1 Microsoft SQL 注入
11.1.1 SQL 注入——查询语句攻击
11.1.2 SQL 注入——POST 参数攻击
11.1.3 手工注入
11.1.4 MS SQL 破解
11.1.5 通过SQL 自动获得控制(SQL Pwnage)
11.2 二进制到十六进制转换器
11.3 大规模客户端攻击
11.4 对自动化渗透的一点看法
第12 章 Karmetasploit 无线攻击套件…………………………………………………………………………………………………………………. 198
12.1 配置
12.2 开始攻击
12.3 获取凭证
12.4 得到shell
12.5 小结
第13 章 编写你自己的模块 …………………………………………………………………………………………………………………………………. 207
13.1 在MS SQL 上进行命令执行
13.2 探索一个已存在的Metasploit 模块
13.3 编写一个新的模块
13.3.1 PowerShell
13.3.2 运行shell 渗透攻击
13.3.3 编写Powershell_upload_exec 函数
13.3.4 从十六进制转换回二进制程序
13.3.5 计数器
13.3.6 运行渗透攻击模块
13.4 小结——代码重用的能量
第14 章 创建你自己的渗透攻击模块 …………………………………………………………………………………………………………………… 220
14.1 Fuzz 测试的艺术
14.2 控制结构化异常处理链
14.3 绕过SEH 限制
14.4 获取返回地址
14.5 坏字符和远程代码执行
14.6 小结
第15 章 将渗透代码移植到Metasploit ………………………………………………………………………………………………………………… 239
15.1 汇编语言基础
15.1.1 EIP 和ESP 寄存器
15.1.2 JMP 指令集
15.1.3 空指令和空指令滑行区
15.2 移植一个缓冲区溢出攻击代码
15.2.1 裁剪一个已有的渗透攻击代码
15.2.2 构造渗透攻击过程
15.2.3 测试我们的基础渗透代码
15.2.4 实现框架中的特性
15.2.5 增加随机化
15.2.6 消除空指令滑行区
15.2.7 去除伪造的shellcode
15.2.8 我们完整的模块代码
15.3 SEH 覆盖渗透代码
15.4 小结
第16 章 Meterpreter 脚本编程 …………………………………………………………………………………………………………………………… 258
16.1 Meterpreter 脚本编程基础
16.2 Meterpreter API
16.2.1 打印输出
16.2.2 基本API 调用
16.2.3 Meterpreter Mixins
16.3 编写Meterpreter 脚本的规则
16.4 创建自己的Meterpreter 脚本
16.5 小结
第17 章 一次模拟的渗透测试过程 ……………………………………
1.1 PTES 中的渗透测试阶段
1.1.1 前期交互阶段
1.1.2 情报搜集阶段
1.1.3 威胁建模阶段
1.1.4 漏洞分析阶段
1.1.5 渗透攻击阶段
1.1.6 后渗透攻击阶段
1.1.7 报告阶段
1.2 渗透测试类型
1.2.1 白盒测试
1.2.2 黑盒测试
1.2.3 灰盒测试
1.3 漏洞扫描器
1.4 小结
第2 章 Metasploit 基础 …………………………………………………………………………………………………………………………………………… 7
2.1 专业术语
2.1.1 渗透攻击(Exploit)
2.1.2 攻击载荷(Payload)
2.1.3 shellcode
2.1.4 模块(Module)
2.1.5 监听器(Listener)
2.2 Metasploit 用户接口
2.2.1 MSF 终端
2.2.2 MSF 命令行
2.2.3 Armitage
2.3 Metasploit 功能程序
2.3.1 MSF 攻击载荷生成器
2.3.2 MSF 编码器
2.3.3 Nasm shel
2.4 Metasploit Express 和Metasploit Pro
2.5 小结
第3 章 情报搜集 ……………………………………………………………………………………………………………………………………………………. 15
3.1 被动信息搜集
3.1.1 whois 查询
3.1.2 Netcraft
3.1.3 nslookup
3.1.4 Google Hacking
3.2 主动信息搜集
3.2.1 使用nmap 进行端口扫描
3.2.2 在Metasploit 中使用数据库
3.2.3 使用Metasploit 进行端口扫描
3.3 针对性扫描
3.3.1 服务器消息块协议扫描
3.3.2 搜寻配置不当的Microsoft SQL Server
3.3.3 SSH 服务器扫描
3.3.4 FTP 扫描
3.3.5 简单网管协议扫描
3.4 编写自己的扫描器
3.5 展望
第4 章 漏洞扫描 ……………………………………………………………………………………………………………………………………………………. 36
4.1 基本的漏洞扫描
4.2 使用Nexpose 进行扫描
4.2.1 配置
4.2.2 将扫描报告导入到Metasploit 中
4.2.3 在MSF 控制台中运行Nexpose
4.3 使用Nessus 进行扫描
4.3.1 配置Nessus
4.3.2 创建Nessus 扫描策略
4.3.3 执行Nessus 扫描
4.3.4 Nessus 报告
4.3.5 将扫描结果导入Metasploit 框架中
4.3.6 在Metasploit 内部使用Nessus 进行扫描
4.4 专用漏洞扫描器
4.4.1 验证SMB 登录
4.4.2 扫描开放的VNC 空口令
4.4.3 扫描开放的X11 服务器
4.5 利用扫描结果进行自动化攻击
第5 章 渗透攻击之旅 …………………………………………………………………………………………………………………………………………….. 65
5.1 渗透攻击基础
5.1.1 msf> show exploits
5.1.2 msf> show auxiliary
5.1.3 msf> show options
5.1.4 msf> show payloads
5.1.5 msf> show targets
5.1.6 info
5.1.7 set 和unset
5.1.8 setg 和unsetg
5.1.9 save
5.2 你的第一次渗透攻击
5.3 攻击Metasploitable 主机
5.4 全端口攻击载荷:暴力猜解目标开放的端口
5.5 资源文件
5.6 小结
第6 章 Meterpreter ………………………………………………………………………………………………………………………………………………. 83
6.1 攻陷Windows XP 虚拟机
6.1.1 使用nmap 扫描端口
6.1.2 攻击MS SQL
6.1.3 暴力破解MS SQL 服务
6.1.4 xp_cmdshell
6.1.5 Meterpreter 基本命令
6.1.6 获取键盘记录
6.2 挖掘用户名和密码
6.2.1 提取密码哈希值
6.2.2 使用Meterpreter 命令获取密码哈希值
6.3 传递哈希值
6.4 权限提升
6.5 令牌假冒
6.6 使用PS
6.7 通过跳板攻击其他机器
6.7.1 使用Meterpreter 进行跳板攻击
6.7.2 使用Metasploit Pro 的VPN 跳板
6.8 使用Meterpreter 脚本
6.8.1 迁移进程
6.8.2 关闭杀毒软件
6.8.3 获取系统密码哈希值
6.8.4 查看目标机上的所有流量
6.8.5 攫取系统信息
6.8.6 控制持久化
6.9 向后渗透攻击模块转变
6.10 将命令行shell 升级为Meterpreter
6.11 通过附加的Railgun 组件操作Windows API
6.12 小结
第7 章 免杀技术 …………………………………………………………………………………………………………………………………………………. 112
7.1 使用MSF 攻击载荷生成器创建可独立运行的二进制文件
7.2 躲避杀毒软件的检测
7.2.1 使用MSF 编码器
7.2.2 多重编码
7.3 自定义可执行文件模板
7.4 隐秘地启动一个攻击载荷
7.5 加壳软件
7.6 使用Metasploit Pro 的动态载荷实现免杀
7.7 关于免杀处理的最后忠告
第8 章 客户端渗透攻击 ………………………………………………………………………………………………………………………………………. 127
8.1 基于浏览器的渗透攻击
8.1.1 基于浏览器的渗透攻击原理
8.1.2 关于空指令
8.2 使用ollydbg 调试器揭秘空指令机器码
8.3 对IE 浏览器的极光漏洞进行渗透利用
8.4 文件格式漏洞渗透攻击
8.5 发送攻击负载
8.6 小结
第9 章 Metasploit 辅助模块 ……………………………………………………………………………………………………………………………….. 141
9.1 使用辅助模块
9.2 辅助模块剖析
9.3 展望
第10 章 社会工程学工具包 …………………………………………………………………………………………………………………………………. 153
10.1 配置SET 工具包
10.2 针对性钓鱼攻击向量
10.3 Web 攻击向量
10.3.1 Java Applet
10.3.2 客户端Web 攻击
10.3.3 用户名和密码获取
10.3.4 标签页劫持攻击(Tabnabbing)
10.3.5 中间人攻击
10.3.6 网页劫持
10.3.7 综合多重攻击方法
10.4 传染性媒体生成器
10.5 USB HID 攻击向量
10.6 SET 的其他特性
10.7 展望
第11 章 Fast-Track ……………………………………………………………………………………………………………………………………………. 183
11.1 Microsoft SQL 注入
11.1.1 SQL 注入——查询语句攻击
11.1.2 SQL 注入——POST 参数攻击
11.1.3 手工注入
11.1.4 MS SQL 破解
11.1.5 通过SQL 自动获得控制(SQL Pwnage)
11.2 二进制到十六进制转换器
11.3 大规模客户端攻击
11.4 对自动化渗透的一点看法
第12 章 Karmetasploit 无线攻击套件…………………………………………………………………………………………………………………. 198
12.1 配置
12.2 开始攻击
12.3 获取凭证
12.4 得到shell
12.5 小结
第13 章 编写你自己的模块 …………………………………………………………………………………………………………………………………. 207
13.1 在MS SQL 上进行命令执行
13.2 探索一个已存在的Metasploit 模块
13.3 编写一个新的模块
13.3.1 PowerShell
13.3.2 运行shell 渗透攻击
13.3.3 编写Powershell_upload_exec 函数
13.3.4 从十六进制转换回二进制程序
13.3.5 计数器
13.3.6 运行渗透攻击模块
13.4 小结——代码重用的能量
第14 章 创建你自己的渗透攻击模块 …………………………………………………………………………………………………………………… 220
14.1 Fuzz 测试的艺术
14.2 控制结构化异常处理链
14.3 绕过SEH 限制
14.4 获取返回地址
14.5 坏字符和远程代码执行
14.6 小结
第15 章 将渗透代码移植到Metasploit ………………………………………………………………………………………………………………… 239
15.1 汇编语言基础
15.1.1 EIP 和ESP 寄存器
15.1.2 JMP 指令集
15.1.3 空指令和空指令滑行区
15.2 移植一个缓冲区溢出攻击代码
15.2.1 裁剪一个已有的渗透攻击代码
15.2.2 构造渗透攻击过程
15.2.3 测试我们的基础渗透代码
15.2.4 实现框架中的特性
15.2.5 增加随机化
15.2.6 消除空指令滑行区
15.2.7 去除伪造的shellcode
15.2.8 我们完整的模块代码
15.3 SEH 覆盖渗透代码
15.4 小结
第16 章 Meterpreter 脚本编程 …………………………………………………………………………………………………………………………… 258
16.1 Meterpreter 脚本编程基础
16.2 Meterpreter API
16.2.1 打印输出
16.2.2 基本API 调用
16.2.3 Meterpreter Mixins
16.3 编写Meterpreter 脚本的规则
16.4 创建自己的Meterpreter 脚本
16.5 小结
第17 章 一次模拟的渗透测试过程 ……………………………………
评论
还没有评论。