KaliLinux面向专业的渗透测试和审计,集成了大量挑选的检测工具。本书在KaliLinux平台上从一个攻击者的角度来审视网络框架,详细介绍了攻击者“杀链”采取的具体步骤。通过阅读本书读者能学习并掌握渗透测试方法和工具。
《Kali Linux高级渗透测试原书第2版》
1章 基于目标的渗透测试 1
1.1 安全测试的概念 1
1.2 经典漏洞扫描、渗透测试和红队练习的失败 2
1.3 测试方法 2
1.4 Kali Linux介绍——历史和目的 4
1.5 安装和更新Kali Linux 5
1.6 在便携式设备中使用Kali Linux 5
1.7 将Kali安装到虚拟机中 6
1.8 将Kali安装到Docker设备 10
1.9 将Kali安装到云——创建一个AWS实例 12
1.10 组织Kali Linux 14
1.10.1 配置和自定义Kali Linux 15
1.10.2 建立验证实验室 18
1.11 小结 26
2章 开源情报和被动侦察 27
2.1 侦察的基本原则 28
2.1.1 开源情报 28
2.1.2 进攻型OSINT 28
2.1.3 Maltego 29
2.1.4 CaseFile 32
2.1.5 Google缓存 33
2.1.6 抓取 33
2.1.7 收集姓名和电子邮件地址 34
2.1.8 获得用户信息 34
2.1.9 Shodan和censys.io 34
2.2 Google黑客数据库 36
2.2.1 使用dork脚本来查询Google 36
2.2.2 DataDump网站 36
2.2.3 使用脚本自动收集OSINT数据 38
2.2.4 防守型OSINT 38
2.2.5 分析用户密码列表 40
2.3 创建自定义单词列表来破解密码 41
2.3.1 使用CeWL来映射网站 41
2.3.2 使用Twofi从Twitter提取单词 42
2.4 小结 42
3章 外网和内网的主动侦察 43
3.1 隐形扫描策略 44
3.1.1 调整源IP栈和工具识别设置 44
3.1.2 修改数据包参数 45
3.1.3 使用匿名网络代理 46
3.2 DNS侦察和路由映射 49
3.3 综合侦察应用 50
3.3.1 recon-ng框架 51
3.3.2 使用IPv6专用工具 54
3.3.3 映射路由到目标 55
3.4 识别外部网络基础设施 57
3.5 防火墙外映射 58
3.6 IDS / IPS识别 58
3.7 枚举主机 59
3.8 端口、操作系统和发现服务 60
3.9 使用netcat编写自己的端口扫描器 61
3.9.1 指纹识别操作系统 62
3.9.2 确定主动服务 62
3.10 大规模扫描 63
3.10.1 DHCP信息 64
3.10.2 内部网络主机的识别与枚举 64
3.10.3 本地MS Windows命令 65
3.10.4 ARP广播 66
3.10.5 ping扫描 67
3.10.6 使用脚本组合Masscan和nmap扫描 68
3.10.7 利用SNMP 69
3.10.8 通过服务器消息块(SMB)会话的Windows账户信息 70
3.10.9 查找网络共享 71
3.10.10 主动侦察目录域服务器 72
3.10.11 使用综合工具(SPARTA) 73
3.10.12 配置SPARTA的示例 73
3.11 小结 74
4章 漏洞评估 75
4.1 漏洞命名 75
4.2 本地和在线漏洞数据库 76
4.3 用nmap进行漏洞扫描 79
4.3.1 LUA脚本介绍 80
4.3.2 自定义NSE脚本 80
4.4 Web应用漏洞扫描器 81
4.4.1 Nikto和Vege简介 82
4.4.2 定制Nikto和Vege 84
4.5 移动应用漏洞扫描程序 87
4.6 网络漏洞扫描程序OpenVAS 88
4.7 专业扫描器 91
4.8 威胁建模 92
4.9 小结 93
5章 物理安全和社会工程学 94
5.1 方法和攻击方法 95
5.1.1 基于计算机的攻击 95
5.1.2 基于语音的攻击 96
5.1.3 物理攻击 96
5.2 控制台上的物理攻击 97
5.2.1 samdump2和chntpw 97
5.2.2 粘滞键 99
5.2.3 使用Inception攻击系统内存 100
5.3 创建流氓物理设备 101
5.4 社会工程工具包 103
5.4.1 使用网站攻击向量——凭据收割攻击方法 106
5.4.2 使用网站攻击向量——标签钓鱼攻击方法 107
5.4.3 使用网站攻击向量——综合攻击网页方法 108
5.4.4 使用PowerShell字母数字的shellcode注入攻击 109
5.4.5 HTA攻击 110
5.5 隐藏可执行文件与伪装攻击者的URL 111
5.6 使用DNS重定向攻击的升级攻击 112
5.7 网络钓鱼攻击曝光 113
5.7.1 用Phishing Frenzy搭建网络钓鱼活动 116
5.7.2 发起网络钓鱼攻击 119
5.8 小结 120
6章 无线攻击 121
6.1 配置Kali实现无线攻击曝光 121
6.2 无线侦察 122
6.3 绕过一个隐藏的服务集标识符 126
6.4 绕过MAC 地址验证与公开验证 127
6.5 攻击WPA和WPA2 129
6.5.1 暴力攻击曝光 129
6.5.2 使用Reaver攻击无线路由器曝光 132
6.6 拒绝服务(DoS)攻击无线通信 132
6.7 对WPA/WPA2实施攻击规划 133
6.8 使用Ghost Phisher工作 137
6.9 小结 138
7章 基于Web应用的侦察与利用 139
7.1 方法 139
7.2 黑客构思 141
7.3 对网站进行侦察 142
7.3.1 Web应用防火墙和负载均衡检测 143
7.3.2 指纹识别Web应用和CMS 144
7.3.3 利用命令行设置镜像网站 146
7.4 客户端代理 147
7.4.1 Burp代理 147
7.4.2 扩展Web浏览器的功能 150
7.4.3 Web抓取和目录的暴力攻击 151
7.4.4 具体网络服务的漏洞扫描器 152
7.5 针对特定应用的攻击 153
7.5.1 暴力破解访问证书 153
7.5.2 使用commix的OS命令行注入 154
7.5.3 数据库注入攻击 155
7.6 使用WebShells维持访问 157
7.7 小结 158
8章 攻击远程访问 159
8.1 利用通信协议漏洞 160
8.1.1 破解远程桌面协议 160
8.1.2 破解安全外壳 162
8.1.3 破解远程访问协议 164
8.2 攻击安全套接字层 165
8.2.1 SSL协议的弱点和漏洞 165
8.2.2 Testssl的介绍 166
8.2.3 SSL连接的侦察 167
8.2.4 使用sslstrip 进行中间人攻击曝光 171
8.2.5 针对SSL 的拒绝服务攻击曝光 173
8.3 攻击IPSec虚拟专用网络 174
8.3.1 扫描VPN网关 174
8.3.2 指纹识别VPN网关 175
8.3.3 截获预共享密钥 176
8.3.4 执行离线PSK破解 177
8.3.5 确定默认用户账户 177
8.4 小结 177
9章 客户端攻击技术详解 178
9.1 留后门的可执行文件 178
9.2 使用恶意脚本攻击系统曝光 181
9.2.1 使用VBScript进行攻击曝光 181
9.2.2 使用Windows PowerShell攻击系统曝光 183
9.3 跨站点脚本框架 185
9.4 浏览器开发框架——BeEF 189
9.5 BeEF浏览器的演练 191
9.5.1 整合BeEF和Metasploit攻击 194
9.5.2 用BeEF作为隧道代理 195
9.6 小结 196
10章 绕过安全控制 197
10.1 绕过网络访问控制 197
10.1.1 前准入NAC 198
10.1.2 后准入NAC 199
10.2 使用不同的框架绕过防病毒软件 200
10.2.1 利用Veil框架 201
10.2.2 利用Shellter 204
10.3 绕过应用程序级控制 208
10.3.1 利用SSH穿透客户端防火墙 208
10.3.2 攻击应用程序白名单 211
10.4 绕过Windows特定的操作系统控制 212
10.4.1 增强迁移体验工具 212
10.4.2 用户账户控制(UAC) 214
10.4.3 其他Windows特定的操作系统控制 217
10.5 小结 219
11章 漏洞利用 220
11.1 Metasploit框架 220
11.1.1 库 221
11.1.2 接口 222
11.1.3 模块 222
11.1.4 数据库设置和配置 223
11.2 利用MSF开发目标 227
11.2.1 使用简单反向shell攻击单个目标 227
11.2.2 利用具有PowerShell攻击向量的反向shell攻击单个目标 228
11.3 使用MSF资源文件的多目标渗透 229
11.4 使用Armitage的多目标渗透 229
11.5 使用公开的漏洞 231
11.5.1 定位和验证公开可用的漏洞 232
11.5.2 编译和使用漏洞 233
11.6 开发Windows漏洞 234
11.6.1 模糊识别漏洞 235
11.6.2 制作特别的Windows漏洞 241
11.7 小结 243
12章 行动的目的 244
12.1 在入侵本地系统上的活动 244
12.1.1 对已入侵的系统进行快速侦察 245
12.1.2 找到并提取敏感数据——掠夺目标 246
12.1.3 漏洞利用后期工具(MSF、Veil-Pillage框架、脚本) 249
12.1.4 Veil-Pillage 251
12.2 横向提升与横向运动 254
12.2.1 侵入信任与共享域 254
12.2.2 PsExec、WMIC和其他工具 254
12.2.3 使用服务的横向运动 258
12.2.4 枢轴与端口转发 258
12.3 小结 260
13章 特权升级 261
13.1 常见的升级/扩展方法概述 261
13.2 本地系统扩展 262
13.2.1 由管理员升级到系统管理员 263
13.2.2 DLL注入 264
13.2.3 PowerShell的Empire工具 266
13.3 凭据收割和升级攻击 270
13.3.1 密码嗅探器 270
13.3.2 Responder 271
13.3.3 SMB中继攻击 273
13.4 升级Active Directory中的访问权限 274
13.5 入侵Kerberos——金票攻击 279
13.6 小结 280
14章 命令和控制 281
14.1 使用持久代理 282
14.1.1 使用Netcat作为持久代理 282
14.1.2 使用schtasks来配置持久任务 285
14.1.3 使用Metasploit框架保持持久性 286
14.1.4 使用persistence脚本 287
14.1.5 使用Metasploit框架创建一个独立持久代理 288
14.1.6 使用社交媒体和Gmail的持久性 289
14.2 提取数据 291
14.2.1 使用现有的系统服务(Telnet、RDP、VNC) 291
14.2.2 使用DNS协议提取数据 292
14.2.3 使用ICMP提取数据 294
14.2.4 使用数据提取工具包 295
14.2.5 从PowerShell提取 297
14.2.6 隐藏攻击证据 297
14.3 小结 298
作为一名测试工程师要自己拥有核心竞争力,努力提升自己是关键,而如何提升,就需要看自己个人的学习习惯了。
最后只想说,学习不会辜负任何人,《Kali Linux高级渗透测试(原书第2版)》~如果支持我这篇文章,不妨转发+评论+关注一键三连,谢谢!