第1章 走近Metasploit渗透测试框架
1.1 组织一次渗透测试
1.1.1 前期交互阶段
1.1.2 信息收集/侦查阶段
1.1.3 威胁建模阶段
1.1.4 漏洞分析阶段
1.1.5 渗透攻击阶段和后渗透攻击阶段
1.1.6 报告阶段
1.2 工作环境的准备
1.3 Metasploit基础
1.4 使用Metasploit进行渗透测试
1.5 使用Metasploit进行渗透测试的优势
1.5.1 源代码的开放性
1.5.2 对大型网络测试的支持以及便利的命名规则
1.5.3 灵活的攻击载荷模块生成和切换机制
1.5.4 干净的通道建立方式
1.5.5 图形化管理界面
1.6 案例研究:渗透进入一个未知网络
1.6.1 信息收集
1.6.2 威胁建模
1.6.3 漏洞分析——任意文件上传(未经验证)
1.6.4 渗透与控制
1.6.5 使用Metasploit保持控制权限
1.6.6 后渗透测试模块与跳板功能
1.6.7 漏洞分析——基于SEH的缓冲区溢出
1.6.8 利用人为疏忽来获得密码
1.7 案例研究回顾
1.8 小结与练习
第2章 打造定制化的Metasploit渗透测试框架
2.1 Ruby——Metasploit的核心
2.1.1 创建你的第一个Ruby程序
2.1.2 Ruby中的变量和数据类型
2.1.3 Ruby中的方法
2.1.4 决策运算符
2.1.5 Ruby中的循环
2.1.6 正则表达式
2.1.7 Ruby基础知识小结
2.2 开发自定义模块
2.2.1 模块编写的概要
2.2.2 了解现有模块
2.2.3 分解已有的HTTP服务器扫描模块
2.2.4 编写一个自定义FTP扫描程序模块
2.2.5 编写一个自定义的SSH认证暴力破解器
2.2.6 编写一个让硬盘失效的后渗透模块
2.2.7 编写一个收集登录凭证的后渗透模块
2.3 突破Meterpreter脚本
2.3.1 Meterpreter脚本的要点
2.3.2 设置永久访问权限
2.3.3 API调用和mixin类
2.3.4 制作自定义Meterpreter脚本
2.4 与RailGun协同工作
2.4.1 交互式Ruby命令行基础
2.4.2 了解RailGun及其脚本编写
2.4.3 控制Windows中的API调用
2.4.4 构建复杂的RailGun脚本
2.5 小结与练习
第3章 渗透模块的开发过程
3.1 渗透的最基础部分
3.1.1 基础部分
3.1.2 计算机架构
3.1.3 寄存器
3.2 使用Metasploit实现对栈的缓冲区溢出
3.2.1 使一个有漏洞的程序崩溃
3.2.2 构建渗透模块的基础
3.2.3 计算偏移量
3.2.4 查找JMP ESP地址
3.2.5 填充空间
3.2.6 确定坏字符
3.2.7 确定空间限制
3.2.8 编写Metasploit的渗透模块
3.3 使用Metasploit实现基于SEH的缓冲区溢出
3.3.1 构建渗透模块的基础
3.3.2 计算偏移量
3.3.3 查找POP/POP/RET地址
3.3.4 编写Metasploit的SEH渗透模块
3.4 在Metasploit模块中绕过DEP
3.4.1 使用msfrop查找ROP指令片段
3.4.2 使用Mona创建ROP链
3.4.3 编写绕过DEP的Metasploit渗透模块
3.5 其他保护机制
3.6 小结与练习
第4章 渗透模块的移植
4.1 导入一个基于栈的缓冲区溢出渗透模块
4.1.1 收集关键信息
4.1.2 构建Metasploit模块
4.1.3 使用Metasploit完成对目标应用程序的渗透
4.1.4 在Metasploit的渗透模块中实现一个检查方法
4.2 将基于Web的RCE导入Metasploit
4.2.1 收集关键信息
4.2.2 掌握重要的Web函数
4.2.3 GET/POST方法的使用要点
4.2.4 将HTTP渗透模块导入到Metasploit中
4.3 将TCP服务端/基于浏览器的渗透模块导入Metasploit
4.3.1 收集关键信息
4.3.2 创建Metasploit模块
4.4 小结与练习
第5章 使用Metasploit对服务进行测试
5.1 SCADA系统测试的基本原理
5.1.1 ICS的基本原理以及组成部分
5.1.2 ICS-SCADA安全的重要性
5.1.3 对SCADA系统的HMI进行渗透
5.1.4 攻击Modbus协议
5.1.5 使SCADA变得更加安全
5.2 数据库渗透
5.2.1 SQL Server
5.2.2 使用Metasploit的模块进行扫描
5.2.3 暴力破解密码
5.2.4 查找/捕获服务器的密码
5.2.5 浏览SQL Server
5.2.6 后渗透/执行系统命令
5.3 VOIP 渗透测试
5.3.1 VOIP的基本原理
5.3.2 对VOIP服务踩点
5.3.3 扫描VOIP服务
5.3.4 欺骗性的VOIP电话
5.3.5 对VOIP进行渗透
5.4 小结与练习
第6章 虚拟化测试的原因及阶段
6.1 使用Metasploit集成的服务完成一次渗透测试
6.1.1 与员工和最终用户进行交流
6.1.2 收集信息
6.1.3 使用Metasploit中的OpenVAS插件进行漏洞扫描
6.1.4 对威胁区域进行建模
6.1.5 获取目标的控制权限
6.1.6 使用Metasploit完成对Active Directory的渗透
6.1.7 获取Active Direc
展开