失效链接处理 |
渗透测试—完全初学者指南 PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1735279441.html
相关截图:
资料简介: 所谓渗透测试是借助各种漏洞扫描工具,通过模拟黑客的攻击方法来对网络进行评估。 《渗透测试——完全初学者指南》作为入门渗透测试领域的理想读物,全面介绍每一位渗透测试人员有了解和掌握的核心技巧与技术。本书分为20章,其内容涵盖了渗透测试实验室的搭建、Kali Linux的基本用法、编程相关的知识、Metasploit框架的用法、信息收集、漏洞检测、流量捕获、漏洞利用、密码攻击、客户端攻击、社会工程学、规避病毒检测、深度渗透、Web应用测试、攻击无线网络、Linux/Windows栈缓冲区溢出、SEH覆盖、模糊测试/代码移植及Metasploit模块、智能手机渗透测试框架的使用等。有别于其他图书的是,本书在这20章之外还增加了一个第0章,用来解释渗透测试各个阶段应该做的工作。 《渗透测试——完全初学者指南》内容实用,理论与实战相互辅佐。读者借助于书中提及的各个工具,可复现每一个实验操作,加深对渗透测试技术的进一步理解。无论是经验丰富的信息从业人员,还是有志于从事信息行业的新手,都会在阅读中获益匪浅。本书还适合信息专业的高校师生阅读。 资料目录: 第0章 渗透测试导论 1 0.1 渗透测试的各个阶段 2 0.1.1 明确需求阶段 2 0.1.2 信息收集阶段 3 0.1.3 威胁建模阶段 4 0.1.4 漏洞分析阶段 4 0.1.5 漏洞验证阶段 4 0.1.6 深度攻击阶段 4 0.1.7 书面汇报阶段 5 0.2 小结 6 第 1章 搭建虚拟渗透实验室 7 1.1 安装VMware 7 1.2 安装 Kali Linux 8 1.2.1 网络配置 11 1.2.2 安装 Nessus 14 1.2.3 安装其他软件 18 1.2.4 安装Android 模拟器 20 1.2.5 智能手机渗透测试框架 24 1.3 靶机虚拟机 25 1.4 创建Windows XP靶机 25 1.4.1 Microsoft Windows上的VMware Player 26 1.4.2 Mac OS上的VMware Fusion 28 1.4.3 安装并激活Windows系统 29 1.4.4 安装VMware Tools 32 1.4.5 关闭Windows防火墙 33 1.4.6 设置用户密码 34 1.4.7 设置静态IP 34 1.4.8 调整网络登录模式 36 1.4.9 安装一些存在漏洞的软件 37 1.4.10 安装Immunity Debugger和Mona 42 1.5 安装Ubuntu 8.10 靶机 44 1.6 安装Windows 7 靶机 44 1.6.1 创建用户账号 44 1.6.2 关闭自动更新 46 1.6.3 设置静态IP地址 47 1.6.4 安装*二块网卡 47 1.6.5 安装其他的软件 48 1.7 小结 49 第 2章 使用Kali Linux 50 2.1 Linux命令行 50 2.2 Linux文件系统 51 2.3 操作说明:查看参考手册的命令 52 2.4 用户权限 53 2.4.1 添加用户 53 2.4.2 把用户添加到sudoers文件中 54 2.4.3 切换用户与sudo命令 54 2.4.4 创建文件和目录 55 2.4.5 文件的复制、移动和删除 55 2.4.6 给文件添加文本 56 2.4.7 向文件附加文本 56 2.5 文件权限 57 2.6 编辑文件 58 2.6.1 字符串搜索 59 2.6.2 使用vi编辑文件 59 2.7 数据处理 60 2.7.1 grep 60 2.7.2 sed 61 2.7.3 使用awk进行模式匹配 62 2.8 软件包管理 62 2.9 进程和服务 63 2.10 网络管理 63 2.10.1 设置静态IP地址 64 2.10.2 查看网络连接 65 2.11 Netcat——TCP/IP连接的瑞士军刀 65 2.11.1 连接端口 66 2.11.2 开放式shell 67 2.11.3 反弹式shell 67 2.12 使用cron进行定时任务 68 2.13 小结 69 第3章 编程 71 3.1 Bash脚本 71 3.1.1 ping 71 3.1.2 脚本编程 72 3.1.3 运行程序 72 3.1.4 if语句 73 3.1.5 for循环 74 3.1.6 提炼数据 75 3.2 Python编程 77 3.2.1 连接端口 79 3.2.2 Python中的if语句 79 3.3 编写和编译C语言程序 80 3.4 小结 82 第4章 使用Metasploit框架 83 4.1 启动Metasploit 84 4.2 查找Metasploit模块 85 4.2.1 在线的模块数据库 86 4.2.2 内置的搜索命令 87 4.3 设置模块选项 90 4.3.1 RHOST 90 4.3.2 RPORT 91 4.3.3 SMBPIPE 91 4.3.4 Exploit Target 91 4.4 有效载荷 92 4.4.1 查找可兼容的有效载荷 92 4.4.2 试运行 94 4.5 shell的种类 95 4.5.1 绑定型 95 4.5.2 反射型 95 4.6 手动设置有效载荷 95 4.7 Msfcli 98 4.7.1 查看帮助信息 98 4.7.2 查看可用选项 98 4.7.3 设置有效载荷 99 4.8 使用Msfvenom创建有效载荷 100 4.8.1 选取有效载荷 101 4.8.2 设定相关选项 101 4.8.3 选择输出格式 101 4.8.4 部署可执行文件 102 4.8.5 使用Multi/Handler模块 103 4.9 使用辅助类模块 104 4.10 小结 106 第5章 信息收集 108 5.1 开源情报收集(OSINT) 108 5.1.1 Netcraft 109 5.1.2 whois 110 5.1.3 DNS侦查 111 5.1.4 收集邮件地址 113 5.1.5 Maltego 114 5.2 端口扫描 117 5.2.1 手动端口扫描 118 5.2.2 使用Nmap进行端口扫描 119 5.3 小结 127 第6章 漏洞检测 128 6.1 Nmap的版本检测功能 128 6.2 Nessus 129 6.2.1 扫描策略 130 6.2.2 使用Nessus进行扫描 132 6.2.3 漏洞评级 135 6.2.4 漏洞扫描器的必要性 135 6.2.5 导出Nessus的扫描结果 136 6.2.6 漏洞研究 136 6.3 Nmap脚本引擎(NSE) 137 6.4 运行单独的NSE脚本 139 6.5 Metasploit的扫描器模块 141 6.6 Metasploit漏洞检验功能 142 6.7 Web应用程序扫描 143 6.7.1 Nikto 144 6.7.2 攻击XAMPP 145 6.7.3 默认登录账号 145 6.8 人工分析 146 6.8.1 检测非标准端口 146 6.8.2 查找有效登录名 148 6.9 小结 149 第7章 流量捕获 150 7.1 流量捕获网络 150 7.2 Wireshark的使用 151 7.2.1 流量捕获 151 7.2.2 流量过滤 153 7.2.3 查看TCP会话 154 7.2.4 数据包解析 155 7.3 ARP缓存攻击 155 7.3.1 ARP基础 156 7.3.2 IP转发 158 7.3.3 ARP缓存攻击与Arpspoof 159 7.3.4 使用ARP缓存攻击冒充默认网关 160 7.4 DNS缓存攻击 161 7.4.1 入门 163 7.4.2 使用Dnsspoof 163 7.5 SSL攻击 164 7.5.1 SSL基础 165 7.5.2 使用Ettercap进行SSL中间人攻击 165 7.6 SSL Stripping 167 7.7 小结 169 第8章 漏洞利用 171 8.1 回顾MS08-067 171 8.1.1 Metasploit有效载荷 172 8.1.2 Meterpreter 173 8.2 利用WebDAV的默认口令 174 8.2.1 在目标Web服务器上执行脚本 175 8.2.2 上传Msfvenom有效载荷 175 8.3 攻击开源phpMyAdmin 177 8.4 下载敏感文件 180 8.4.1 下载配置文件 180 8.4.2 下载Windows SAM文件 181 8.5 利用第三方软件的缓存溢出漏洞 182 8.6 攻击第三方Web应用 183 8.7 攻击系统服务的缺陷 186 8.8 攻击开源NFS的漏洞 186 8.9 小结 188 第9章 密码攻击 190 9.1 密码管理 190 9.2 在线密码攻击 191 9.2.1 字典 191 9.2.2 使用Hydra猜测用户名和密码 194 9.3 离线密码攻击 196 9.3.1 还原Windows SAM文件中的密码哈希值 197 9.3.2 通过物理访问提取密码哈希值 199 9.3.3 LM与NTLM算法 201 9.3.4 LM哈希算法的局限 201 9.3.5 John the Ripper 203 9.3.6 破解Linux 密码 205 9.3.7 破解配置文件中的密码 205 9.3.8 彩虹表 206 9.3.9 在线密码破解服务 206 9.4 使用Windows Credential Editor提取内存中的密码明文 206 9.5 小结 207 第 10章 客户端攻击 208 10.1 使用Metasploit有效载荷规避过滤规则 209 10.1.1 规避端口限制规则 209 10.1.2 HTTP和HTTPS有效载荷 210 10.2 客户端攻击 211 10.2.1 攻击浏览器漏洞 212 10.2.2 攻击PDF漏洞 219 10.2.3 攻击Java漏洞 223 10.2.4 browser_autopwn 230 10.2.5 Winamp 232 10.3 小结 235 第 11章 社会工程学 236 11.1 SET 237 11.2 鱼叉式钓鱼攻击 237 11.2.1 选择有效载荷 238 11.2.2 选项设置 239 11.2.3 文件命名 240 11.2.4 单个邮箱或者批量地址 240 11.2.5 创建模板 240 11.2.6 设置收件人 241 11.2.7 设置会话受理端 242 11.3 Web攻击 243 11.4 群发邮件攻击 245 11.5 组合攻击 248 11.6 小结 248 第 12章 规避病毒检测 249 12.1 木马程序 249 12.2 防病毒软件的工作原理 252 12.3 Microsoft Security Essentials 252 12.4 VirusTotal 254 12.5 规避防病毒软件的查杀 255 12.5.1 编码技术 255 12.5.2 交叉编译 258 12.5.3 Hyperion加密 261 12.5.4 使用Veil-Evasion规避防病毒软件检测 262 12.6 远在天边近在眼前的“隐藏”方法 266 12.7 小结 266 第 13章 深度渗透 268 13.1 Meterpreter 268 13.1.1 upload命令 269 13.1.2 getuid命令 270 13.1.3 其他命令 270 13.2 Meterpreter脚本 271 13.3 Metasploit的深度渗透模块 272 13.4 Railgun 274 13.5 本地权限升级 274 13.5.1 面向Windows的getsystem命令 275 13.5.2 面向Windows的本地权限提升模块 276 13.5.3 绕过Windows上的UAC 277 13.5.4 Linux上的Udev权限提升 278 13.6 本地信息收集 283 13.6.1 搜索文件 283 13.6.2 键盘记录 283 13.6.3 收集密码 284 13.6.4 net命令 286 13.6.5 另辟蹊径 287 13.6.6 Bash的历史文件 287 13.7 横向移动 288 13.7.1 PSExec 288 13.7.2 传递哈希值 290 13.7.3 SSHExec 291 13.7.4 冒用令牌 293 13.7.5 Incognito 293 13.7.6 SMB捕获 294 13.8 跳板 297 13.8.1 向Metasploit中添加路由 298 13.8.2 Metasploit端口扫描器 299 13.8.3 通过跳板执行漏洞利用 300 13.8.4 Socks4a和ProxyChains 300 13.9 持久化 302 13.9.1 添加用户 302 13.9.2 Metasploit持久化 303 13.9.3 创建Linux cron作业 304 13.10 小结 305 第 14章 Web应用测试 306 14.1 使用Burp Proxy 306 14.2 SQL注入 311 14.2.1 检测SQL注入漏洞 312 14.2.2 利用SQL注入漏洞 313 14.2.3 SQLMap 313 14.3 XPath 注入 315 14.4 本地文件包含 317 14.5 远程文件包含 319 14.6 命令执行 320 14.7 跨站脚本攻击 322 14.7.1 检测反射型XSS漏洞 322 14.7.2 BeEF与XSS 323 14.8 跨站请求伪造 327 14.9 使用W3AF扫描Web应用 328 14.10 小结 329 第 15章 攻击无线网络 331 15.1 配置 331 15.1.1 查看可用的无线网卡 332 15.1.2 扫描无线接入点 332 15.2 监听模式 333 15.3 捕获数据包 334 15.4 开放网络 335 15.5 有线等效加密 335 15.5.1 WEP的弱点 338 15.5.2 用Aircrack-ng破解WEP密钥 338 15.6 WPA 342 15.7 WPA2 342 15.7.1 企业架构网络的联网过程 343 15.7.2 个人架构网络的联网过程 343 15.7.3 四次握手 343 15.7.4 破解 WPA/WPA2密钥 345 15.8 WiFi保护设置 348 15.8.1 WPS的问题 348 15.8.2 用Bully 破解 WPS 349 15.9 小结 349 第 16章 Linux栈缓冲区溢出 350 16.1 内存相关的理论 350 16.2 Linux 缓冲区溢出 353 16.2.1 程序漏洞实例 353 16.2.2 蓄意崩溃 355 16.2.3 运行GDB调试工具 356 16.2.4 引发程序崩溃 361 16.2.5 操纵EIP 363 16.2.6 命令劫持 364 16.2.7 小端字节序 366 16.3 小结 367 第 17章 Windows系统的栈缓冲区溢出 368 17.1 检索War-FTP的已知漏洞 369 17.2 蓄意崩溃进程 371 17.3 寻找EIP 373 17.3.1 创建循环模式字符串,判断关键溢出点 373 17.3.2 验证偏移量 377 17.4 劫持执行程序 379 17.5 获取shell 384 17.6 小结 389 第 18章 SEH覆盖 390 18.1 SEH覆盖 391 18.2 把控制传递给SEH 395 18.3 在内存中搜索攻击字符串 396 18.4 POP POP RET 400 18.5 SafeSEH 401 18.6 使用短跳转(short jump) 405 18.7 选用有效载荷 406 18.8 小结 407 第 19章 模糊测试、代码移植及Metasploit模块 409 19.1 模糊测试 409 19.1.1 源代码审计法检测bug 409 19.1.2 模糊测试法审计TFTP服务器程序 410 19.1.3 引发崩溃 411 19.2 移植代码 415 19.2.1 查找返回地址 418 19.2.2 替换shellcode 419 19.2.3 编辑exploit 419 19.3 编写MSF模块 421 19.3.1 相似模块 423 19.3.2 移植代码 424 19.4 攻击缓解技术 428 19.4.1 Stack Cookie 429 19.4.2 地址空间布局随机化(ASLR) 429 19.4.3 数据执行保护(DEP) 430 19.4.4 强制代码签名机制 430 19.5 小结 431 第 20章 使用智能手机渗透测试框架 432 20.1 移动设备的攻击向量 432 20.1.1 短信 433 20.1.2 NFC 433 20.1.3 二维码 433 20.2 智能手机渗透测试框架 434 20.2.1 安装 434 20.2.2 Android模拟器 436 20.2.3 给移动设备添加调试解调器 436 20.2.4 建立Android App 436 20.2.5 部署被控端App 437 20.2.6 建立SPF会话 438 20.3 远程攻击 440 20.4 客户端攻击 441 20.4.1 客户端shell 441 20.4.2 USSD远程控制 443 20.5 恶意应用程序 445 20.6 移动平台的深度渗透测试 451 20.6.1 信息收集 452 20.6.2 远程遥控 453 20.6.3 用作跳板 454 20.6.4 权限提升 459 20.7 小结 460 |