Kali Linux2
网络渗透测试实践指南 第2版
目录
第1章 网络安全渗透测试的相关理论和工具
1.1 网络安全渗透测试的概念
1.2 网络安全渗透测试的执行标准
1.2.1 前期与客户的交流阶段
1.2.2 情报的搜集阶段
1.2.3 威胁建模阶段
1.2.4 漏洞分析阶段
1.2.5 漏洞利用阶段
1.2.6 后渗透攻击阶段
1.2.7 报告阶段
1.3 网络安全渗透测试的常用工具
1.4 渗透测试报告的编写
1.4.1 编写渗透测试报告的目的
1.4.2 编写渗透测试报告的内容摘要
1.4.3 编写渗透测试报告包含的范围
1.4.4 安全交付渗透测试报告
1.4.5 渗透测试报告应包含的内容
1.5 小结
第2章 Kali Linux 2使用基础
2.1 Kali Linux 2简介
2.2 Kali Linux 2的安装
2.2.1 在VMware虚拟机中安装Kali Linux 2
2.2.2 在树莓派中安装Kali Linux 2
2.3 Kali Linux 2的常用操作
2.3.1 Kali Linux 2中的文件系统
2.3.2 Kali Linux 2的常用命令
2.3.3 对Kali Linux 2的网络进行配置
2.3.4 在Kali Linux 2中安装第三方软件
2.3.5 对Kali Linux 2网络进行SSH远程控制
2.3.6 Kali Linux 2的更新操作
2.4 VMware的高级操作
2.4.1 在VMware中安装其他操作系统
2.4.2 VMware中的网络连接
2.4.3 VMware中的快照与克隆功能
2.5 小结
第3章 被动扫描
3.1 被动扫描的范围
3.2 Maltego的使用
3.3 使用sn0int进行信息搜集
3.3.1 sn0int的安装
3.3.2 sn0int的使用
3.4 神奇的搜索引擎——ZoomEye
3.4.1 ZoomEye的基本用法
3.4.2 ZoomEye中的关键词
3.4.3 ZoomEye中指定设备的查找功能
3.5 小结
第4章 主动扫描
4.1 Nmap的基本用法
4.2 使用Nmap进行设备发现
4.2.1 使用ARP进行设备发现
4.2.2 使用ICMP进行设备发现
4.2.3 使用TCP进行设备发现
4.2.4 使用UDP进行设备发现
4.3 使用Nmap进行端口扫描
4.3.1 什么是端口
4.3.2 端口的分类
4.3.3 Nmap中对端口状态的定义
4.3.4 Nmap中的各种端口扫描技术
4.4 使用Nmap扫描目标系统
4.5 使用Nmap扫描目标服务
4.6 将Nmap的扫描结果保存为XML文件
4.7 对Web服务进行扫描
4.8 小结
第5章 漏洞扫描技术
5.1 程序漏洞的成因与分析
5.1.1 笑脸漏洞的产生原因
5.1.2 如何检测笑脸漏洞
5.2 漏洞信息库的介绍
5.3 在Nmap中对操作系统漏洞进行扫描
5.4 常见的专业扫描工具
5.5 对Web应用程序进行漏洞扫描
5.6 小结
第6章 远程控制
6.1 为什么6200端口变成了一个“后门”
6.2 远程控制程序基础
6.3 如何使用MSFPC生成被控端
6.4 如何在Kali Linux 2中生成被控端
6.5 如何在Kali Linux 2中启动主控端
6.6 远程控制被控端与杀毒软件的博弈
6.6.1 msfvenom提供的免杀方法
6.6.2 PowerSploit提供的免杀方法
6.7 Meterpreter在各种操作系统中的应用
6.7.1 在Android操作系统下使用Meterpreter
6.7.2 Windows操作系统下Meterpreter的使用
6.8 Metasploit 5.0中的Evasion模块
6.9 通过Web应用程序实现远程控制
6.10 小结
第7章 渗透攻击
7.1 Metasploit基础
7.2 Metasploit的基本命令
7.3 使用Metasploit对操作系统发起攻击
7.4 使用Metasploit对软件发起攻击
7.5 使用Metasploit对客户端发起攻击
7.5.1 利用浏览器插件漏洞进行渗透攻击
7.5.2 利用HTA文件进行渗透攻击
7.5.3 使用宏病毒进行渗透攻击
7.5.4 使用browser_autopwn2模块进行渗透攻击
7.6 使用Metasploit对Web应用的攻击
7.7 小结
第8章 Armitage
8.1 Armitage的安装与启动
8.2 使用Armitage生成被控端和主控端
8.3 使用Armitage扫描网络
8.4 使用Armitage针对漏洞进行攻击
8.5 使用Armitage完成渗透之后的工作
8.6 小结
第9章 社会工程学工具
9.1 社会工程学的概念
9.2 Kali Linux 2中的社会工程学工具包
9.3 用户名和密码的窃取
9.4 自动播放文件攻击
9.5 使用Arduino伪装键盘
9.6 快捷的HID攻击工具USB橡皮鸭
9.7 通过计划任务实现持续性攻击
9.8 小结
第10章 编写漏洞渗透模块
10.1 如何对软件的溢出漏洞进行测试
10.2 计算软件溢出的偏移地址
10.3 查找JMP ESP指令
10.4 编写漏洞渗透程序
10.5 坏字符的确定
10.6 使用Metasploit生成Shellcode
10.7 小结
第11章 基于结构化异常处理的渗透
11.1 什么是SEH溢出
11.2 编写基于SEH溢出渗透模块的要点
11.2.1 计算到catch块的偏移量
11.2.2 查找POP/POP/RET指令的地址
11.3 使用Python编写渗透模块
11.4 小结
第12章 网络数据的嗅探与欺骗
12.1 使用TcpDump分析网络数据
12.2 使用Wireshark进行网络分析
12.3 Wireshark的部署方式
12.3.1 集线器环境
12.3.2 交换环境下的流量捕获
12.3.3 完成虚拟机流量的捕获
12.4 使用Ettercap进行网络嗅探
12.5 实现对HTTPS的中间人攻击
12.5.1 HTTPS与HTTP的区别
12.5.2 数字证书颁发机构的工作原理
12.5.3 基于HTTPS的中间人攻击
12.6 小结
第13章 身份认证攻击
13.1 简单网络服务认证的攻击
13.2 使用Burp Suite对网络认证服务的攻击
13.3 散列密码破解
13.3.1 对最基本的LM散列加密密码进行破解
13.3.2 在线破解LM散列加密密码
13.3.3 在Kali Linux 2中破解散列值
13.3.4 散列值传递攻击
13.4 字典
13.5 小结
第14章 无线安全渗透测试
14.1 如何对路由器进行渗透测试
14.2 如何扫描出可连接的无线网络
14.3 使用Wireshark捕获无线信号
14.4 使用Kismet进行网络审计
14.5 小结
第15章 拒绝服务攻击
15.1 数据链路层的拒绝服务攻击
15.2 网络层的拒绝服务攻击
15.3 传输层的拒绝服务攻击
15.4 应用层的拒绝服务攻击
15.5 小结