| 作者 |
| 维杰·库马尔·维卢 罗伯特·贝格斯 大学霸IT达人 |
| 丛书名 |
| 网络空间安全技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9782008119494 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------Kali Linux高级渗透测试(原书第3版)--------------------------- 作为测试者或者安全实践者,你将通过本书领会渗透测试人员的侦察、漏洞评估、利用、提权以及后利用活动。首先,你将使用实验室环境来验证所学工具和技术,以及支持用于测试的协作方法的应用程序。然后,您将学习基于开源智能的被动侦察以及基于内部和外部基础设施的主动侦察。您还将专注于如何选择,使用和自定义不同漏洞扫描程序,并且解释扫描结果,然后专注于检查到目的地址的特定路由,其中包括物理安全的绕过和使用各种技术的数据外泄。你还将学习社交工程攻击,无线网络攻击,Web服务和嵌入式设备等概念。 ---------------------------从实践中学习Kali Linux渗透测试--------------------------- 渗透测试是通过模拟黑客攻击的方式来检查和评估网络安全的一种方法。Kali Linux是世界知名的渗透测试专用系统,该系统集成了几千种渗透测试的相关工具。借助Kali Linux,安全人员可以高效率地发现目标网络和主机存在的漏洞,并验证漏洞的危害性,从而评估目标的安全性。本书共10章节,涵盖的主要内容有渗透测试基础、安装Kali Linux系统、配置Kali Linux系统、配置靶机、信息收集、漏洞利用、嗅探欺骗、密码攻击、无线网络渗透。 本书适合渗透测试人员、网络维护人员和信息安全爱好者阅读。通过本书,可以帮助读者了解和掌握Kali Linux渗透测试的相关技术,熟悉渗透测试的各个要点和技巧,并掌握规范的操作流程,从而提高工作效率。 |
| 目录 |
---------------------------Kali Linux高级渗透测试(原书第3版)--------------------------- 前言 致谢 审校者简介 第1章 基于目标的渗透测试 1 1.1 安全测试概述 1 1.2 漏洞扫描、渗透测试和红队训练的误解 2 1.3 基于目标的渗透测试 2 1.4 测试方法 3 1.5 Kali Linux简介:特征 5 1.6 安装和更新Kali Linux 6 1.6.1 在便携式设备中安装Kali Linux 6 1.6.2 在Raspberry Pi 3中安装Kali 7 1.6.3 在虚拟机中安装Kali 7 1.6.4 在Docker中安装Kali 10 1.6.5 在AWS 云中安装Kali 11 1.7 组织Kali Linux 14 1.7.1 配置和自定义Kali Linux 14 1.7.2 重置超级用户密码 14 1.7.3 添加普通用户 15 1.7.4 配置网络服务和安全通信 15 1.7.5 调整网络代理设置 16 1.7.6 访问安全外壳协议 17 1.7.7 加速Kali运行 18 1.7.8 与主机操作系统共享文件夹 18 1.7.9 使用Bash脚本来定制Kali 20 1.8 构建验证环境 20 1.8.1 安装预定目标 20 1.8.2 创建活动及域控制器 22 1.9 使用Faraday管理合作渗透测试 25 1.10 小结 27 第2章 开源情报和被动侦察 28 2.1 侦察的基本原则 29 2.1.1 开源情报 29 2.1.2 进攻型OSINT 29 2.1.3 利用Sublist3r收集域资料 30 2.1.4 Maltego 31 2.1.5 OSRFramework 34 2.1.6 Web archives 35 2.1.7 抓取 35 2.1.8 收集用户名和电子邮件地址 36 2.1.9 获取用户信息 36 2.1.10 Shodan和censys.io 37 2.2 Google黑客数据库 38 2.2.1 使用dork脚本来查询Google 38 2.2.2 Data dump网站 39 2.2.3 使用脚本自动收集OSINT数据 39 2.2.4 防守型OSINT 40 2.2.5 分析用户以获取密码列表 42 2.3 创建自定义单词列表来破解密码 43 2.3.1 使用CeWL来映射网站 43 2.3.2 使用twofi从Twitter提取单词 44 2.4 小结 44 第3章 外网与内网的主动侦察 45 3.1 秘密扫描策略 46 3.1.1 调整源IP栈和工具识别设置 46 3.1.2 修改数据包参数 47 3.1.3 使用匿名网络代理 48 3.2 DNS侦察和路由映射 51 3.3 利用综合侦察应用程序 52 3.3.1 recon-ng框架 53 3.3.2 使用IPv6专用工具 56 3.3.3 映射路由到目标 57 3.4 识别外部网络基础设施 59 3.5 防火墙外映射 60 3.6 IDS / IPS识别 61 3.7 枚举主机 63 3.8 识别端口、操作系统和服务 63 3.9 使用netcat编写自己的端口扫描器 64 3.9.1 指纹识别操作系统 65 3.9.2 确定主动服务 66 3.10 大规模扫描 66 3.10.1 DHCP信息 67 3.10.2 内部网络主机的识别与枚举 67 3.10.3 本地MS Windows命令 68 3.10.4 ARP广播 70 3.10.5 ping扫描 70 3.10.6 使用脚本组合masscan和nmap扫描 71 3.10.7 利用SNMP 72 3.10.8 通过服务器消息块会话获取Windows账户信息 74 3.10.9 定位网络共享 74 3.10.10 主动侦察域服务器 75 3.10.11 使用综合工具 76 3.10.12 SPARTA配置实例 76 3.11 小结 77 第4章 漏洞评估 78 4.1 漏洞命名 78 4.2 本地和在线漏洞数据库 79 4.3 用nmap进行漏洞扫描 82 4.3.1 Lua脚本介绍 83 4.3.2 自定义NSE脚本 83 4.4 Web应用漏洞扫描器 85 4.4.1 Nikto和Vega简介 85 4.4.2 定制Nikto和Vega 87 4.5 移动应用漏洞扫描器 89 4.6 网络漏洞扫描器OpenVAS 92 4.7 商业漏洞扫描器 94 4.7.1 Nessus 94 4.7.2 Nexpose 96 4.8 专业扫描器 97 4.9 威胁建模 98 4.10 小结 99 第5章 高级社会工程学和物理安全 101 5.1 方法论和攻击方法 102 5.1.1 基于技术的攻击 103 5.1.2 基于人的攻击 103 5.2 控制台上的物理攻击 104 5.2.1 samdump2和chntpw 104 5.2.2 粘滞键 107 5.3 创建流氓物理设备 108 5.4 社会工程学工具包 112 5.4.1 使用网站攻击媒介——凭据收割机攻击方法 114 5.4.2 使用网站攻击媒介——标签钓鱼攻击方法 116 5.4.3 HTA攻击 118 5.4.4 使用PowerShell字母数字的shellcode注入攻击 120 5.5 隐藏可执行文件与伪装攻击者的URL 121 5.6 使用DNS重定向升级攻击 121 5.6.1 鱼叉式网络钓鱼攻击 122 5.6.2 使用Gophish设置网络钓鱼活动 126 5.7 发起网络钓鱼攻击 127 5.8 利用bulk转换发起网络钓鱼攻击 128 5.9 小结 129 第6章 无线攻击 130 6.1 为无线攻击配置Kali 130 6.2 无线侦察 131 6.3 绕过隐藏的服务集标识符 135 6.4 绕过MAC 地址验证和公开验证 137 6.5 攻击WPA和WPA2 138 6.5.1 暴力破解 138 6.5.2 使用Reaver攻击无线路由器 141 6.6 无线通信的拒绝服务攻击 142 6.7 破解WPA/WPA2企业版实现 143 6.8 使用Ghost Phisher 151 6.9 小结 152 第7章 基于Web应用的利用 153 7.1 Web应用程序攻击方法 153 7.2 黑客的思维导图 154 7.3 Web应用的侦察 156 7.3.1 Web应用防火墙和负载均衡器检测 157 7.3.2 指纹识别Web应用和CMS 158 7.3.3 利用命令行设置镜像网站 160 7.4 客户端代理 161 7.4.1 Burp代理 161 7.4.2 Web抓取和的暴力破解 165 7.4.3 网络服务专用漏洞扫描器 165 7.5 针对特定应用的攻击 166 7.5.1 暴力破解访问证书 166 7.5.2 注入 167 7.6 小结 177 第8章 客户端利用 178 8.1 留后门的可执行文件 178 8.2 使用恶意脚本攻击系统 181 8.2.1 使用VBScript进行攻击 181 8.2.2 使用Windows PowerShell攻击系统 184 8.3 跨站点脚本框架 185 8.4 浏览器利用框架——BeEF 190 8.5 BeEF浏览器 192 8.5.1 整合BeEF和Metasploit攻击 196 8.5.2 用BeEF作为隧道代理 196 8.6 小结 198 第9章 绕过安全控制 199 9.1 绕过网络访问控制 199 9.1.1 前准入NAC 200 9.1.2 后准入NAC 202 9.2 使用文件绕过杀毒软件 202 9.2.1 利用Veil框架 203 9.2.2 利用Shellter 207 9.3 无文件方式绕过杀毒软件 211 9.4 绕过应用程序级控制 211 9.5 绕过Windows操作系统控制 214 9.5.1 用户账户控制 215 9.5.2 采用无文件技术 218 9.5.3 其他Windows特定的操作系统控制 220 9.6 小结 222 第10章 利用 223 10.1 Metasploit框架 223 10.1.1 库 224 10.1.2 接口 225 10.1.3 模块 225 10.1.4 数据库设置和配置 226 10.2 使用MSF利用目标 230 10.2.1 使用简单反向shell攻击单个目标 230 10.2.2 利用具有PowerShell攻击媒介的反向shell攻击单个目标 231 10.3 使用MSF资源文件的多目标利用 233 10.4 使用Armitage的多目标利用 233 10.5 使用公开的漏洞利用 235 10.5.1 定位和验证公开可用的漏洞利用 236 10.5.2 编译和使用漏洞 237 10.6 开发Windows利用 239 10.6.1 模糊识别漏洞 239 10.6.2 制作Windows特定的利用 245 10.7 小结 248 第11章 操控目标与内网漫游 249 11.1 破解的本地系统上的活动 249 11.1.1 对已入侵的系统进行快速侦察 250 11.1.2 找到并提取敏感数据——掠夺目标 251 11.1.3 后利用工具 253 11.2 横向提权与内网漫游 262 11.2.1 Veil-Pillage 263 11.2.2 入侵域信任与共享 265 11.2.3 PsExec、WMIC和其他工具 266 11.2.4 利用服务实现内网漫游 270 11.2.5 支点攻击和端口转发 271 11.3 小结 273 第12章 提权 274 12.1 常见的提权方法概述 274 12.2 从域用户提权至系统管理员 275 12.3 本地系统提权 276 12.4 由管理员提权至系统管理员 277 12.5 凭据收割和提权攻击 280 12.5.1 密码嗅探器 280 12.5.2 响应者 282 12.5.3 SMB中继攻击 284 12.6 提升活动中的访问权限 285 12.7 入侵Kerberos——金票攻击 290 12.8 小结 295 第13章 命令与控制 296 13.1 持久性 296 13.2 使用持久代理 297 13.2.1 使用Netcat作为持久代理 297 13.2.2 使用schtasks来配置持久任务 300 13.2.3 使用Metasploit框架保持持久性 301 13.2.4 使用persistence脚本 302 13.2.5 使用Metasploit框架创建一个独立的持久代理 303 13.2.6 使用在线文件存储云服务保持持久性 304 13.3 前置域 310 13.3.1 利用Amazon CloudFront实现C2 310 13.3.2 利用Microsoft Azure实现C2 313 13.4 数据提取 315 13.4.1 使用现有的系统服务(Telnet、RDP、VNC) 315 13.4.2 使用DNS协议 316 13.4.3 使用ICMP协议 318 13.4.4 使用数据提取工具包 319 13.4.5 使用PowerShell 321 13.5 隐藏攻击证据 321 13.6 小结 323 第14章 嵌入式设备和RFID的入侵 324 14.1 嵌入式系统及硬件架构 324 14.2 固件解包与更新 327 14.3 RouterSploit 框架简介 330 14.4 UART 333 14.5 利用Chameleon Mini克隆RFID 335 14.6 小结 339 ---------------------------从实践中学习Kali Linux渗透测试--------------------------- 前言 第1章 渗透测试概述 1 1.1 什么是渗透测试 1 1.1.1 黑盒测试 1 1.1.2 白盒测试 1 1.1.3 灰盒测试 2 1.2 渗透测试流程 2 1.3 Kali Linux系统概述 3 1.3.1 为什么使用Kali Linux 3 1.3.2 Kali Linux发展史 4 1.4 法律边界 6 1.4.1 获取合法授权 6 1.4.2 部分操作的危害性 7 第2章 安装Kali Linux系统 8 2.1 下载镜像 8 2.1.1 获取镜像 8 2.1.2 校验镜像 13 2.2 虚拟机安装 15 2.2.1 获取VMware软件 15 2.2.2 安装VMware 16 2.2.3 创建Kali Linux虚拟机 19 2.2.4 安装操作系统 22 2.3 实体机安装 33 2.3.1 安装Win32Disk Imager工具 33 2.3.2 制作USB安装盘 36 2.3.3 准备Kali Linux硬盘分区 37 2.3.4 设置第一启动项 40 2.3.5 设置硬盘分区 43 2.3.6 安装GRUB 50 第3章 配置Kali Linux 51 3.1 认识Kali Linux 51 3.1.1 命令菜单 51 3.1.2 “文件”工具 56 3.1.3 终端 60 3.1.4 “设置”面板 63 3.2 配置网络 65 3.2.1 配置有线网络 65 3.2.2 配置无线网络 70 3.2.3 配置VPN网络 74 3.3 配置软件源 78 3.3.1 什么是软件源 78 3.3.2 添加软件源 80 3.3.3 更新软件源/系统 81 3.4 安装软件源的软件 84 3.4.1 确认软件包名 85 3.4.2 安装/更新软件 86 3.4.3 移除软件 88 3.4.4 安装虚拟机增强工具 88 3.4.5 使用VMware共享文件夹 89 3.4.6 安装中文输入法 92 3.5 安装第三方软件 92 3.5.1 安装二进制软件 93 3.5.2 安装源码包 93 3.5.3 安装源码共享式 95 3.5.4 安装Windows软件 96 3.6 执行软件 99 3.6.1 普通软件 99 3.6.2 执行脚本 102 3.7 安装驱动 105 3.7.1 查看设备 105 3.7.2 安装必备软件包 110 3.7.3 安装开源显卡驱动 110 3.7.4 安装显卡厂商驱动 113 第4章 配置靶机 120 4.1 什么是靶机 120 4.1.1 靶机的作用 120 4.1.2 靶机的分类 120 4.2 使用虚拟机 121 4.2.1 构建靶机 121 4.2.2 克隆虚拟机 122 4.2.3 使用第三方创建的虚拟机 124 第5章 信息收集 127 5.1 发现主机 127 5.1.1 确认网络范围 127 5.1.2 扫描主机 130 5.1.3 监听发现主机 132 5.2 域名分析 134 5.2.1 域名基础信息 134 5.2.2 查找子域名 138 5.2.3 发现服务器 140 5.3 扫描端口 143 5.3.1 端口简介 144 5.3.2 实施端口扫描 146 5.4 识别操作系统 148 5.4.1 基于TTL识别 148 5.4.2 使用NMAP识别 150 5.5 识别服务 151 5.5.1 使用Nmap工具 151 5.5.2 使用Amap工具 152 5.6 收集服务信息 153 5.6.1 SMB服务 154 5.6.2 SNMP服务 155 5.7 信息分析和整理 161 5.7.1 配置Maltego 161 5.7.2 使用Maltego工具 168 第6章 扫描漏洞 178 6.1 漏洞概述 178 6.1.1 人为的不当配置 178 6.1.2 软件漏洞 179 6.1.3 硬件漏洞 180 6.2 使用Nessus扫描漏洞 180 6.2.1 安装并激活Nessus 180 6.2.2 配置Nessus 186 6.2.3 扫描漏洞 192 6.2.4 分析并导出漏洞扫描报告 194 6.3 使用OpenVAS扫描漏洞 197 6.3.1 安装及初始化OpenVAS服务 197 6.3.2 登录并配置OpenVAS服务 202 6.3.3 扫描漏洞 212 6.3.4 分析并导出漏洞扫描报告 214 6.4 其他发现方式 218 6.4.1 检查Linux配置错误 218 6.4.2 查找漏洞信息 220 第7章 漏洞利用 223 7.1 Metasploit概述 223 7.1.1 什么是Metasploit 223 7.1.2 Metasploit界面 225 7.1.3 初始化Metasploit 228 7.1.4 创建工作区 228 7.1.5 导入扫描报告 229 7.2 查询渗透测试模块 230 7.2.1 预分析扫描报告 231 7.2.2 手动查找攻击载荷 232 7.2.3 第三方查找 234 7.3 实施攻击 239 7.3.1 加载攻击载荷 239 7.3.2 配置攻击载荷 241 7.3.3 设置架构 241 7.3.4 设置编码 243 7.4 攻击范例 245 7.4.1 渗透攻击MySQL数据库服务 245 7.4.2 渗透攻击PostgreSQL数据库服务 247 7.4.3 PDF文件攻击 249 7.4.4 利用MS17_010漏洞实施攻击 250 7.5 控制Meterpreter会话 255 7.5.1 关闭杀毒软件 255 7.5.2 获取目标主机的详细信息 256 7.5.3 检查目标是否运行在虚拟机 257 7.5.4 访问文件系统 257 7.5.5 上传/下载文件 258 7.5.6 键盘捕获 259 7.5.7 屏幕截图 259 7.5.8 枚举用户 260 7.5.9 权限提升 261 7.5.10 获取用户密码 261 7.5.11 绑定进程 263 7.5.12 运行程序 265 7.5.13 启用远程桌面 265 7.5.14 持久后门 268 7.5.15 清除踪迹 270 7.5.16 搭建跳板 270 7.6 免杀Payload攻击 271 7.6.1 安装及初始化Veil Evasion工具 271 7.6.2 生成免杀攻击载荷 278 第8章 嗅探欺骗 283 8.1 中间人攻击 283 8.1.1 工作原理 283 8.1.2 实施中间人攻击 284 8.2 社会工程学攻击 293 8.2.1 启动社会工程学工具包——SET 293 8.2.2 Web攻击向量 296 8.2.3 PowerShell攻击向量 303 8.3 捕获和监听网络数据 306 8.3.1 通用抓包工具Wireshark 306 8.3.2 捕获图片 308 8.3.3 监听HTTP数据 311 8.3.4 监听HTTPS数据 312 8.3.5 网络数据快速分析 314 第9章 密码攻击 320 9.1 创建字典 320 9.1.1 密码信息收集 320 9.1.2 密码策略分析 320 9.1.3 生成字典 326 9.2 破解哈希密码 331 9.2.1 识别哈希加密方式 331 9.2.2 破解LM Hashes密码 332 9.2.3 直接使用哈希密码值 333 9.3 借助Utilman绕过Windows登录 334 9.4 路由器密码破解 339 9.4.1 路由器初始密码 339 9.4.2 使用Medusa工具 339 9.5 破解Linux用户密码 340 第10章 无线网络渗透 342 10.1 无线网络概述 342 10.1.1 无线网络组成 342 10.1.2 无线网络工作流程 343 10.2 802.11协议概述 343 10.2.1 什么是802.11协议 343 10.2.2 802.11ac协议 344 10.2.3 2.4GHz频段 344 10.2.4 5GHz频段 345 10.2.5 带宽 346 10.3 无线网络安全保障 347 10.3.1 无密码模式 347 10.3.2 WEP模式 351 10.3.3 WPA/WPA2模式 352 10.3.4 WPS模式 354 10.4 无线网络监听 357 10.4.1 网卡的工作模式 357 10.4.2 支持监听的无线网卡 358 10.4.3 设置监听模式 360 10.4.4 设置5G WiFi网卡的监听模式 360 10.5 扫描无线网络 361 10.5.1 使用Airodump-ng工具 361 10.5.2 使用Kismet工具 363 10.6 无线网络密码攻击与防护 369 10.6.1 破解WEP无线网络密码 369 10.6.2 破解WPA/WPA2无线网络密码 371 10.6.3 防护措施 373 |