第1部分 收集情报 2
案例研究 2
都是匿名和无知惹的祸(IT'S ALL ABOUT ANONYMITY,STUPID,IAAAS) 2
利用Tor折磨好人 3
第1章 踩点 7
1.1 什么是踩点 8
为什么说踩点是必须的 10
1.2 因特网踩点 10
1.2.1 步骤1:确定踩点活动的范围 10
1.2.2 步骤2:获得必要的授权 11
1.2.3 步骤3:可以从公开渠道获得的信息 11
1.2.4 步骤4:WHOIS和DNS查点 25
1.2.5 步骤5:DNS查询 35
1.2.6 步骤6:网络侦察 40
1.3 小结 44
第2章 扫描 46
2.1 确定目标系统是否真实存在 47
2.2 确定目标系统上哪些服务正在运行或监听 58
2.2.1 扫描类型 59
2.2.2 确定运行的TCP和UDP服务 60
2.2.3 基于Windows的端口扫描工具 66
2.2.4 端口扫描工具汇总表 70
2.3 探查操作系统 72
2.3.1 主动式协议栈指纹分析技术 73
2.3.2 被动式协议栈指纹分析技术 77
2.4 小结 81
第3章 查点 82
3.1 旗标抓取基础 84
3.2 对常用网络服务进行查点 87
3.3 小结 149
第2部分 系统攻击 152
案例研究:DNS HIGH JINX-PWNING THE INTERNET 152
第4章 攻击Windows 156
4.1 概述 158
本章没有讨论的问题 159
4.2 取得合法身份前的攻击手段 159
4.2.1 认证欺骗攻击 160
4.2.2 远程非授权漏洞利用 172
4.3 取得合法身份后的攻击手段 179
4.3.1 权限提升 179
4.3.2 获取并破解口令字 181
4.3.3 远程控制和后门 193
4.3.4 端口重定向 197
4.3.5 掩盖入侵痕迹 200
4.3.6 通用防御措施:攻击者已经可以“合法地”登录到你的系统时该怎么办 203
4.4 Windows安全功能 207
4.4.1 Windows防火墙 207
4.4.2 自动更新 208
4.4.3 安全中心 209
4.4.4 安全策略与组策略 210
4.4.5 Bitlocker和Encrypting File System(EFS,加密文件系统) 212
4.4.6 Windows资源保护(WRP) 214
4.4.7 完整性级别(Integrity Level)、UAC和LoRIE 214
4.4.8 内存保护:DEP 216
4.4.9 服务安全加固 217
4.4.10 基于编译器的功能加强 220
4.4.11 反思:Windows的安全负担 222
4.5 小结 222
第5章 攻击Unix 224
5.1 获取root权限 225
5.1.1 简短回顾 225
5.1.2 弱点映射 226
5.1.3 远程访问与本地访问 226
5.2 远程访问 227
5.2.1 数据驱动攻击 232
5.2.2 我想有个shell 246
5.2.3 常见的远程攻击 250
5.3 本地访问 275
5.4 获取root特权之后 291
5.4.1 什么是嗅探程序 295
5.4.2 嗅探程序工作原理 295
5.4.3 流行的嗅探程序 296
5.4.4 rootkit恢复 306
5.5 小结 307
第3部分 基础设施攻击 310
案例研究:无线传输加密(WEP) 310
第6章 远程连接和VoIP攻击 314
6.1 准备拨号攻击 316
6.2 轰炸拨打 318
6.2.1 硬件 318
6.2.2 法律问题 319
6.2.3 外围成本 319
6.2.4 软件 320
6.3 蛮力脚本——自己动手 334
关于蛮力脚本攻击的最后说明 343
6.4 PBX攻击 345
6.5 Voicemail攻击 349
6.6 VPN攻击 354
IPSec VPN概述 357
6.7 VoIP(Voice over IP)攻击 363
最常见的VoIP攻击手段 365
6.8 小结 381
第7章 网络设备攻击 383
7.1 寻找攻击目标 384
探查 385
7.2 自治系统查询(AS查询) 389
7.2.1 普通的traceroute命令输出 389
7.2.2 带ASN信息的traceroute命令输出 389
7.2.3 show ip bgp命令 390
7.3 公共新闻组 391
7.4 对网络服务进行探测 392
7.5 网络的安全漏洞 398
7.5.1 OSI模型的第1层 399
7.5.2 OSI模型的第2层 401
7.5.3 OSI模型的第3层 416
7.5.4 配置失误 421
7.5.5 针对各种路由协议的攻击手段 427
7.5.6 利用网络管理协议发动的攻击 438
7.6 小结 442
第8章 无线攻击 443
8.1 无线踩点 445
8.1.1 设备 446
8.1.2 驾驶攻击软件 451
8.1.3 把无线网络标注在地图上 456
8.2 无线扫描和查点 461
8.2.1 无线嗅探器 462
8.2.2 无线监控工具 465
8.3 查明目标无线网络已采取的防御措施 470
8.3.1 SSID 471
8.3.2 基于MAC地址的访问控制机制 473
8.4 获得访问权限(攻击802.11协议) 476
8.4.1 SSID 476
8.4.2 MAC访问控制 477
8.5 WEP标准 479
8.5.1 WEP算法的安全弱点 480
8.5.2 以WEP为目标的黑客工具 481
8.6 LEAP攻击 486
8.7 WPA协议标准 487
8.7.1 WPA协议的安全特征 488
8.7.2 针对WPA算法的攻击 488
8.8 其他资源 490
8.9 小结 492
第9章 硬件攻击 494
9.1 物理访问:入门 495
9.2 对设备进行黑客攻击 501
9.3 默认配置所面临的危险 505
9.3.1 使用默认的出厂设置面临的危险 505
9.3.2 标准口令面临的危险 505
9.3.3 蓝牙设备面临的危险 506
9.4 对工业设备进行硬件攻击的手段 506
9.4.1 获取设备中元器件的信号连接 506
9.4.2 嗅探总线上的数据 507
9.4.3 对固件(Firmware)进行攻击 508
9.4.4 JTAG工具 511
9.5 小结 512
第4部分 应用程序和数据攻击 514
案例研究:会话控制(Session Riding) 514
第10章 攻击应用代码 516
10.1 常见的安全漏洞利用技术 517
10.1.1 缓冲区溢出和产品设计缺陷 518
10.1.2 输入检查攻击 525
10.2 一些通用防范措施 528
10.2.1 人:改变企业文化 528
10.2.2 流程:产品开发过程中的安全问题 531
10.2.3 技术 539
10.2.4 推荐阅读材料 541
10.3 小结 542
第11章 Web攻击 543
11.1 攻击Web服务器 544
11.1.1 样板文件 546
11.1.2 源代码泄露 547
11.1.3 资源解析攻击 547
11.1.4 服务器功能扩展模块 548
11.1.5 缓冲区溢出 551
11.1.6 Web服务器漏洞扫描器 552
11.2 针对Web应用程序的攻击 554
11.2.1 利用Google搜索引擎去查找有漏洞的Web应用程序 554
11.2.2 网络爬虫:全站点下载 556
11.2.3 对Web应用程序进行评估 558
11.3 Web应用程序的常见安全漏洞 571
11.4 小结 585
第12章 攻击因特网用户 586
12.1 因特网客户软件的常见安全漏洞 587
12.1.1 因特网客户端软件攻击技术简史 587
12.1.2 JavaScript和Active Scripting 592
12.1.3 cookie 593
12.1.4 跨站点脚本(XSS) 595
12.1.5 跨框架/域漏洞 596
12.1.6 SSL攻击 598
12.1.7 定时炸弹:让恶意代码自动执行 601
12.1.8 电子邮件攻击 601
12.1.9 即时消息(IM) 607
12.1.10 微软客户端软件的安全漏洞和相关防范措施 607
12.1.11 微软客户端软件的通用安全措施 613
12.1.12 为什么不使用非微软客户端软件 618
12.2 社交工程攻击:网上欺诈和身份盗用 619
网络欺诈技术 620
12.3 烦人和害人的灰色软件:间谍软件、广告软件与垃圾邮件 624
12.3.1 灰色软件的常用种植技术 625
12.3.2 灰色软件的拦截、监测和清除 626
12.4 恶意软件 628
12.4.1 恶意软件的种类和常用攻击技术 628
12.4.2 查杀恶意软件 637
12.5 小结 642
第5部分 附录 645
附录A 端口 645
附录B 最有威胁的14个安全漏洞 652
附录C 拒绝服务(DOS)与分布式拒绝服务(DDOS)攻击 654