内容简介
目录
第1章 简介
1.1 进行攻击的黄金时期
1.2 问题的严重程度
1.2.1 总的趋势
1.2.2 为什么问题变得如此严重
1.3 公司正在做什么
1.3.1 零忍耐
1.3.2 侥幸的安全意识
1.3.3 试着修复已经建立起来的系统
1.3.4 过于重视或者极不重视
1.4 公司现在应该做些什么
1.4.1 预防和检测投资
1.4.2 给予监测技术更多的关注
1.4.3 注意对员工的培训
1.5 深度防御
1.6 本书的目的
1.7 合法的使用
1.8 本书的内容
1.9 小结
第2章 攻击目的和方法
2.1 什么是攻击行为
2.2 攻击的步骤
2.2.1 被动的侦察
2.2.2 主动的侦察
2.2.3 入侵系统
2.2.6 保持访问
2.2.5 下载数据
2.2.4 上传程序
2.2.7 隐藏踪迹
2.3 攻击的种类
2.4 入侵行为的种类
2.4.1 在Internet上
2.4.2 在局域网上
2.4.3 本地
2.4.4 离线
2.5 攻击者进入的途径
2.5.1 端口
2.5.2 服务
2.5.3 第三方软件
2.5.4 操作系统
2.5.6 社会工程
2.5.5 口令
2.5.7 特洛伊木马
2.5.8 推论引导
2.5.9 秘密通道
2.6 攻击者想要达到的目标
2.6.1 机密性
2.6.2 完整性
2.6.3 可用性
2.7 小结
第3章 信息搜集
3.1 信息搜集的步骤
3.1.1 找到初始信息
3.1.2 找到网络的地址范围
3.1.3 找到活动的机器
3.1.4 找到开放端口和入口点
3.1.5 弄清操作系统
3.1.6 弄清每个端口运行的服务
3.1.7 画出网络图
3.2 信息搜集总结
3.3 实际应用
3.3.1 Whois
3.3.2 Nslookup
3.3.3 ARIN Web Search
3.3.4 Traceroute
3.3.5 Ping
3.3.6 绘制网络图
3.3.7 端口扫描和指纹鉴别
3.4 小结
3.3.8 攻击系统
第4章 欺骗
4.1 欺骗的理由
4.2 欺骗的类型
4.2.1 IP欺骗
4.2.2 电子邮件欺骗
4.2.3 Web欺骗
4.2.4 非技术欺骗
4.3 小结
第5章 会话劫持
5.1 欺骗和劫持
5.2 会话劫持的种类
5.3 TCP/IP概念
5.3.1 TCP
5.4 会话劫持的细节
5.4.2 执行顺序预测
5.4.1 发现目标
5.4.3 寻找一个动态的会话
5.4.4 猜测序列号
5.4.5 使对方下线
5.4.6 接管会话
5.5 ACK风暴
5.6 会话劫持攻击的程序
5.6.1 Juggernaut
5.6.2 Hunt
5.6.3 TTY Watcher
5.6.4 IP Watcher
5.7 劫持攻击的危害
5.7.3 劫持攻击非常简单
5.7.4 劫持攻击非常危险
5.7.1 大多数计算机都易受攻击
5.7.2 没有较成功的防范措施
5.7.5 大多数反劫持攻击方法都不起作用
5.8 会话劫持攻击的防范措施
5.8.1 进行加密
5.8.2 使用安全协议
5.8.3 限制引入连接
5.8.4 减少远端连入
5.8.5 拥有完善的认证措施
5.9 小结
第6章 拒绝服务攻击
6.1 拒绝服务攻击的概念
6.1.1 拒绝服务攻击的类型
6.2 分布式拒绝服务攻击的概念
6.3 难以防范的原因
6.4 拒绝服务攻击类型
6.4.1 Ping of Death
6.4.2 SSPing
6.4.3 Land攻击
6.4.4 Smurf
6.4.5 SYN Flood
6.4.6 CPU Hog
6.4.7 Win Nuke
6.4.8 RPC Locator
6.4.9 Jolt2
6.4.10 Bubonic
6.4.12 HP Openview节点管理器SNMP DOS的脆弱性
6.4.11 Microsoft不完整TCP/IP数据包的脆弱性
6.4.13 NetScreen防火墙DOS的脆弱性
6.4.14 Checkpoint防火墙DOS的脆弱性
6.5 DOS攻击工具
6.5.1 Targa
6.6 DDOS攻击工具
6.6.1 TFN2K
6.6.2 Trinoo
6.6.3 Stacheldraht
6.7 防范拒绝服务攻击
6.7.1 有效完善的设计
6.7.2 带宽限制
6.7.3 及时给系统安装补丁
6.7.4 运行尽可能少的服务
6.8 防范分布式拒绝服务攻击
6.7.6 封锁敌意IP地址
6.7.5 只允许必要的通信
6.8.1 保持网络安全
6.8.2 安装入侵检测系统
6.8.3 使用扫描工具
6.8.4 运行Zombie工具
6.9 小结
第7章 缓冲区溢出攻击
7.1 缓冲区溢出攻击的概念
7.2 缓冲区溢出的细节
7.3 缓冲区溢出攻击类型
7.4 存在大量易受攻击程序的原因
7.5 缓冲区溢出样例
7.6 如何保护例子程序
7.7.1 NetMeeting缓冲区溢出
7.7 十种缓冲区溢出攻击
7.7.2 Outlook缓冲区溢出
7.7.3 Linuxconf缓冲区溢出
7.7.4 ToolTalk缓冲区溢出
7.7.5 IMAPD缓冲区溢出
7.7.6 AOLInstant Messenger缓冲区溢出
7.7.7 AOLInstant Messenger BuddyIcon缓冲区溢出
7.7.8 Microsoft Windows 2000ActiveX控件缓冲区溢出
7.7.9 IIS 4.0/5.0 Phone Book服务器缓冲区溢出
7.7.10 SQLServer 2000扩展存储程序缓冲区溢出
7.8 防范缓冲区溢出攻击
7.8.1 关闭端口或服务
7.8.2 安装厂商的补丁
7.9 小结
7.8.5 以需要的最少权限运行软件
7.8.3 在防火墙上过滤特殊通信
7.8.4 检查关键程序
第8章 口令安全
8.1 典型攻击
8.2 口令现状
8.3 口令的历史
8.4 口令的未来
8.5 口令管理
8.5.1 口令的必要性
8.5.2 口令策略的必要性
8.5.3 强口令的概念
8.5.4 选取强口令的方法
8.5.5 保护口令的方法
8.6.1 口令破解的概念
8.6 口令攻击
8.6.2 口令破解的重要性
8.6.3 口令攻击的类型
8.6.4 其他攻击类型
8.7 小结
第9章 Microsoft NT 口令破解
9.1 NT中口令的存放
9.2 破解NT口令的方法
9.3 所有的口令都能破解
9.3.1 LAN管理器哈希
9.3.2 没有添加成分
9.4 NT口令破解程序
9.4.1 LOphcrack
9.4.2 NTSweep
9.4.3 NTCrack
9.5 比较
9.4.4 PWDump2
9.6 提取口令哈希
9.7 预防NT口令破解
9.7.1 禁用LAN管理器认证
9.7.2 贯彻强口令
9.7.3 拥有强口令策略
9.7.4 使用SYSKEY
9.7.5 使用一次性口令
9.7.6 使用生物技术
9.7.9 保存活动账号清单
9.7.10 限制拥有域管理员权限的用户
9.7.8 搜索破解工具
9.7.7 审计关键文件访问
9.8 小结
第10章 UNIX口令破解
10.1 UNIX中口令的存放
10.1.1 Shadow文件
10.2 UNIX加密口令的方法
10.3 UNIX口令破解程序
10.3.1 Crack
10.3.2 John the Ripper
10.3.3 XIT
10.3.4 Slurpie
10.4 比较
10.5 防止UNIX口令破解
10.5.1 采用强口令策略
10.5.3 使用一次性口令
10.5.2 使用Shadow文件
10.5.4 使用生物技术
10.5.5 使用Passwd+以实现强口令
10.5.6 审计关键文件访问
10.5.7 扫描破解工具
10.5.8 保存活动账号清单
10.5.9 限制拥有根权限的用户
10.6 小结
第11章 Microsoft NT基础
11.1 NT安全概述
11.2 源代码可用性
11.3 NT基础
11.3.1 NT的组织方式
11.3.3 注册表
11.3.2 物理安全
11.3.4 运行的服务
11.3.5 账号管理
11.3.6 网络设置
11.3.7 审计
11.3.8 NetBIOS
11.3.9 服务包
11.3.10 资源工具箱
11.3.11 系统增强指导
11.4 小结
第12章 NT攻击
12.1 NT攻击工具
12.1.1 GetAdmir
12.1.2 SecHole
12.1.3 Red Button
12.1.4 MicrosoftIIS中的RDS安全漏洞
12.1.5 Microsoft Shares
12.1.6 Legion
12.1.7 相对Shell路径弱点
12.1.8 使用ODBC数据源工具拦截NT DSN
12.1.9 Winfreeze
12.1.10 Microsoft Windows媒体播放器JavaScript URL弱点
12.1.11 Microsoft Internet Explorer Mstask.exe CPU占用弱点
12.1.12 Microsoft MSHTML.DLL崩溃弱点
12.1.13 2001 IIS 5.0允许文件浏览
12.1.14 媒体播放器7和IE Java弱点
12.1.15 IE 5.x/Outlook允许执行任何程序
12.1.16 IIS 5.0允许执行任何网站服务器命令
12.1.17 Microsoft WINS域控制器欺骗弱点
12.2 小结
第13章 UNIX基础
13.1 Linux
13.2 UNIX的弱点
13.2.1 示例脚本
13.2.2 无关软件
13.2.3 开放端口
13.2.4 未打补丁的系统
13.3 UNIX基础
13.3.1 重要命令
13.3.2 文件许可
13.3.3 Inetd
13.3.5 Tripwire
13.3.4 Netstat
13.3.6 TCP Wrappers
13.3.7 Lsof
13.3.8 Suid
13.4 小结
第14章 UNIX攻击
14.1 UNIX攻击
14.1.1 Aglimpse
14.1.2 Campas
14.1.3 NetPR
14.1.4 DTprintinfo
14.1.5 Sadmind攻击
14.1.6 XWindows
14.1.8 Multiple Linux Vendor RPC.STATD攻击
14.1.7 Solaris Catman Race Condition漏洞
14.2 小结
第15章 保留访问权限
15.1 后门和特洛伊木马程序
15.1.1 QAZ
15.1.2 后门监听代理
15.2 Rootkit
15.2.1 文件级Rootkit
15.2.2 内核级Rootkit
15.2.3 NT Rootkit
15.2.4 UNIX Rootkit
15.3 NT后门
15.3.1 Brown Orifice攻击
15.3.2 Donald Iick 1.55
15.3.3 SubSeven
15.3.4 Back Orifice
15.3.5 包装程序
15.4 小结
第16章 隐藏踪迹
16.1 隐藏攻击踪迹的方法
16.1.1 日志文件
16.1.2 文件信息
16.1.3 附加文件
16.1.4 隐藏网络上的踪迹
16.2 小结
17.1.1 攻击细节
17.1.2 协议描述
17.1 Bind 8.2 NXT攻击
第17章 其他类型的攻击
17.1.3 变种描述
17.1.4 攻击原理
17.1.5 使用方法
17.1.6 攻击特征
17.1.7 防范措施
17.1.8 源代码/伪代码
17.2 Cookie攻击
17.2.1 攻击细节
17.2.2 CGI协议描述
17.2.3 CGI协议工作原理
17.2.4 CGI协议弱点
17.2.5 Cookie协议描述
17.2.8 攻击原理
17.2.9 成功原因
17.2.6 Cookie协议工作原理
17.2.7 Cookie协议弱点
17.2.10 攻击图解
17.2.11 攻击特征
17.2.12 怎样防止攻击
17.2.13 防范措施
17.2.14 源代码/伪代码
17.3 SNMP团体字符串
17.3.1 攻击细节
17.3.2 协议描述
17.3.3 历史回溯
17.3.4 SNMP结构
17.3.5 SNMP消息
17.3.8 使用方法
17.3.6 SNMP验证
17.3.7 攻击原理
17.3.9 攻击特征
17.3.10 防范措施
17.3.11 攻击图解
17.3.12 源代码/伪代码
17.3.13 脆弱的设备
17.3.14 附加信息
17.4 Sniffing与Dsniff
17.4.1 攻击细节
17.4.2 协议描述
17.4.3 攻击变种
17.4.4 回顾
17.4.5 详细描述
17.4.6 使用Dsniff及其应用
17.4.7 进行攻击
17.4.8 攻击特征
17.4.9 防范措施
17.4.10 源代码/伪代码
17.4.11 附加信息
17.5 PGP ADK攻击
17.5.1 攻击细节
17.5.2 协议描述
17.5.3 攻击原理
17.5.4 攻击图解
17.5.5 使用方法
17.5.6 攻击特征
17.5.7 防范措施
17.6.1 攻击细节
17.6.2 Cisco IOS的概念
17.5.8 附加信息
17.6 Cisco IOS口令脆弱性
17.6.3 Cisco IOS口令的不同种类
17.6.4 攻击原理
17.6.5 使用方法
17.6.6 攻击特征
17.6.7 防范措施
17.6.8 源代码/伪代码
17.6.9 附加信息
17.7 针对密钥交换的Man-in-the-Middle攻击
17.7.1 攻击细节
17.7.2 回顾
17.7.3 协议描述
17.7.5 Otway-Rees密钥交换协议规范
17.7.4 基本注意事项
17.7.6 攻击原理
17.7.7 变种描述
17.7.8 使用方法
17.7.9 攻击特征
17.7.10 防范Otway-Rees密钥交换协议攻击的措施
17.7.11 源代码
17.7.12 伪代码
17.7.13 附加信息
17.8 HTTPTunnel攻击
17.8.1 攻击细节
17.8.2 协议描述
17.8.4 实施攻击
17.8.5 攻击特征
17.8.3 攻击机制
17.8.6 建议
17.8.7 附加信息
17.9 小结
第1 8章 SANS十大漏洞
18.1 SANS列出的十种漏洞
18.1.1 BIND漏洞会使Root权限被马上攻克
18.1.2 脆弱的CGI程序和程序扩展
18.1.3 远程过程调用漏洞
18.1.4 RDS安全漏洞
18.1.5 Sendmail缓冲区溢出漏洞
18.1.6 Sadmind和Mountd
18.1.7 基于NetBIOS的全局文件共享和不适当信息共享
18.1.8 无口令或口令脆弱的User ID,特别是root/管理员
18.1.9 IMAP和POP缓冲区溢出漏洞或不正确设置
18.1.11 附:Internet Exporer和Office 2000中的诸多脚本漏洞
18.1.10 设为Public和Private的默认SNMP团体字符串
18.2 经常被探测的端口
18.3 根据SANSTop 10列表来判断脆弱性
18.4 小结
第19章 回顾
19.1 攻击详述
19.1.1 场景1——Rogue调制解调器
19.1.2 场景2——社会工程
19.1.3 场景3——安全的物理破坏
19.1.4 场景4——攻击NT
19.1.5 场景5——攻击UNIX
19.2 小结
第20章 总结
20.1 安全不容忽视
20.2 保护站点的一般技巧
20.2.1 最少权限原则
20.2.2 了解系统运行的程序
20.2.3 防范是目标,探测是必须
20.2.4 安装最新的补丁
20.2.5 定期的系统检测
20.3 情况越来越糟
20.4 未来尚未可知
20.4.1 安全破坏会增加
20.4.2 重大安全事件发生的必然性
20.4.3 厂商会生产安全的产品
20.4.4 公司会以安全为重点
20.4.5 我们将会拥有一个安全的世界
20.5 小结
附录A 参考资料