目 录 第1章 Kali与渗透测试 1.1 Kali概述 2 1.1.1 Kali的由来 2 1.1.2 Kali的特点 4 1.1.3 Kali新特性 5 1.1.4 Kali的工具 6 1.1.5 Kali的应用领域 10 1.2 渗透测试概述 10 1.2.1 渗透与渗透测试 10 1.2.2 常见的渗透测试工具类型 11 1.2.3 常见的渗透测试工具 12 1.2.4 渗透安全测试执行标准 15 1.3 打造实验环境 17 1.3.1 打造实验环境的必要性 17 1.3.2 虚拟机的作用 17 1.3.3 虚拟机的安装及配置 17 1.3.4 Kali的下载 22 1.3.5 Kali的安装 24 动手练 设置Kali系统的语言 28 案例实战:下载并安装Kali的虚拟机版本 30 知识延伸:将Kali安装至U盘 31 第2章 Kali入门基础知识 2.1 Kali环境介绍 35 2.1.1 登录及退出 35 2.1.2 桌面环境配置 35 动手练 调整Kali息屏时间 39 动手练 修改桌面背景 40 2.2 终端窗口的使用 40 2.2.1 终端窗口 40 2.2.2 终端窗口的操作 42 2.2.3 命令基础 44 动手练 使用命令查看Kali版本 48 2.3 软件基础 48 2.3.1 配置软件源升级系统及软件 48 2.3.2 安装及卸载软件包 51 动手练 为Kali安装LibreOffice 54 2.4 远程管理Kali 54 2.4.1 使用远程桌面连接Kali 54 2.4.2 使用SSH远程连接Kali 55 动手练 使用第三方工具实现远程桌面 56 2.5 Kali系统的基础知识 57 2.5.1 Kali的文件系统 57 2.5.2 Kali的用户及权限 60 2.5.3 磁盘管理 63 2.5.4 网络服务 64 动手练 在图形界面配置网络参数 65 案例实战:为Kali设置固定的网络参数 67 知识延伸:在Kali中安装和使用无线网卡 68 第3章 信息收集 3.1 信息收集概述 70 3.1.1 信息收集的主要内容 70 3.1.2 信息收集的方法 71 3.2 综合型信息收集软件 71 3.2.1 网络扫描工具nmap 71 3.2.2 情报分析工具maltego 79 动手练 使用legion扫描 84 3.3 专项型信息枚举工具 86 3.3.1 枚举的作用 86 3.3.2 DNS枚举工具 86 3.3.3 SNMP枚举工具 88 3.3.4 SMB枚举工具 91 3.3.5 其他信息收集工具的使用 92 动手练 使用amass进行子域名枚举 97 案例实战:使用dmitry进行域名查询 97 知识延伸:使用Recon-NG收集信息 98 第4章 嗅探与欺骗 4.1 了解嗅探与欺骗 102 4.1.1 嗅探简介 102 4.1.2 网络欺骗简介 102 4.1.3 网络欺骗的典型应用 103 4.2 使用wireshark抓包及分析网络 105 4.2.1 认识wireshark 105 4.2.2 使用wireshark抓包 105 动手练 使用wireshark统计数据 110 4.3 使用Burp Suite截获与修改数据包 111 4.3.1 认识Burp Suite 111 4.3.2 使用Burp Suite截获发送的 动手练 数据包 111 4.3.3 使用Burp Suite拦截返回 动手练 数据包 113 4.3.4 使用Burp Suite篡改数据包 114 动手练 使用Burp Suite篡改搜索内容 115 4.4 使用欺骗工具检测网络 116 4.4.1 使用tcpreplay进行网络压力测试 116 4.4.2 使用DNS-Rebind进行 DNS欺骗 117 动手练 使用arpspoof进行网络欺骗 117 案例实战:使用tcpdump抓取数据包 119 知识延伸:使用ettercap-graphical进行ARP欺骗 120 第5章 漏洞的扫描与利用 5.1 什么是漏洞 124 5.1.1 漏洞的产生 124 5.1.2 漏洞的危害 124 5.1.3 漏洞扫描技术的原理 125 动手练 查询最新的漏洞信息 126 5.2 漏洞扫描工具的使用 127 5.2.1 使用nmap扫描漏洞 127 5.2.2 使用nikto扫描漏洞 129 5.2.3 使用Nessus扫描漏洞 129 5.2.4 使用OpenVAS扫描漏洞 135 动手练 使用unix-privesc-check扫描漏洞 141 5.3 漏洞的利用 142 5.3.1 认识Metasploit检测工具 142 5.3.2 指定漏洞检测 142 5.3.3 入侵目标 145 动手练 使用Metasploit控制目标主机 146 案例实战:创建和使用后门程序 148 知识延伸:日志的清除 150 第6章 提升权限 6.1 假冒令牌的使用 152 6.1.1 假冒令牌应用方法 152 6.1.2 提升权限 153 6.2 社会工程学工具包的使用 153 6.2.1 社会工程学简介 153 6.2.2 启动工具包 154 6.2.3 工具包的使用 155 动手练 使用内置模板进行网络钓鱼 168 案例实战:使用SET实施攻击页面劫持欺骗攻击 170 知识延伸:网页攻击的其他功能 171 第7章 密码攻击 7.1 简单的网络服务密码攻击 175 7.1.1 常见的攻击模式 175 7.1.2 使用Hydra工具 175 7.1.3 使用Medusa工具攻击 178 动手练 使用Hydra交互模式进行破解 179 7.2 常见密码的破解 181 7.2.1 破解Hash密码 181 7.2.2 破解系统用户密码 185 动手练 破解Linux密码 188 7.3 密码字典的生成 189 7.3.1 密码字典的作用 189 7.3.2 常见的密码字典生成工具 190 动手练 社工密码字典生成工具Cupp 195 案例实战:破解ZIP压缩文件密码 196 知识延伸:数据加密技术及应用 197 第8章 无线网络渗透 8.1?无线网络与嗅探 202 8.1.1 无线网络简介 202 8.1.2 无线网络的安全技术 203 8.1.3 无线网络的嗅探 204 动手练 查看某无线网络中的所有主机 206 8.2?使用Aircrack-ng破解无线密码 207 8.2.1 Aireplay-ng攻击模式 207 8.2.2 破解原理分析 208 8.2.3 启动侦听模式 209 8.2.4 抓取握手包 211 8.2.5 密码破解 212 动手练 强制断开设备连接 213 8.3?使用fern wifi cracker破解无线网络 213 8.3.1 fern wifi cracker简介 213 8.3.2 使用fern wifi cracker破解无线网络 214 8.4?使用wifite破解无线网络 217 8.4.1 wifite简介 217 8.4.2 使用wifite破解无线密码 218 8.4.3 使用wifite破解WPS PIN码 219 动手练 使用wifite多种模式获取无线密码 220 8.5?无线网络钓鱼攻击 221 8.5.1 钓鱼攻击简介 221 8.5.2 Fluxion简介与部署 221 8.5.3 使用Fluxion抓取握手包 223 8.5.4 使用Fluxion进行钓鱼攻击 225 动手练 破解握手包 228 案例实战:使用Airgeddon破解握手包 229 知识延伸:使用Reaver破解WPS PIN码及注意事项 231