内容简介:
KaliLinux专业的渗透测试和审计集成了大量选定的测试工具。这本书在KaliLinux从攻击者的角度审视网络框架,详细介绍了攻击者杀链的具体步骤。读者可以通过阅读这本书来学习和掌握渗透测试方法和工具。
目录:
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.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.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.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.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.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/WPA实施攻击计划 133 6.8 使用Ghost Phisher工作 137 6.9 小结 138
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.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
91 留后门的可执行文件 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.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.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.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.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.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版)》