第1部分 窥探设施 1
第1章 踩点--目标探测 1
前言页 1
1.1 什么是踩点 2
1.1.1 踩点必要性的原因 3
1.2 因特网踩点 3
1.2.1 步骤1.确定活动范围 3
1.2.2 步骤2:网络查点 6
1.2.3 步骤3:DNS质询 13
1.2.4 步骤4:网络勘察 18
1.3 小结 20
第2章 扫描 22
2.1 网络ping扫射 22
2.1.1 ping扫射对策 26
2.2 ICMP查询 29
2.3 端口扫描 30
2.3.1 扫描类型 30
2.2.1 ICMP查询对策 30
2.3.2 标识运行着的TCP服务和UDP服务 31
2.3.3 端口扫描细目 37
2.3.4 端口扫描对策 38
2.4 操作系统检测 41
2.4.1 协议栈指纹鉴别 41
2.4.2 操作系统检测对策 43
2.5 完整的春卷:自动发现工具 44
2.6 小结 45
2.5.1 自动发现工具对策 45
第3章 查点 46
3.1 简介 46
3.1.1 Windows NT查点 46
3.1.2 Novell查点 58
3.1.3 UNIX查点 62
3.2 小结 67
第2部分 攻击系统 69
第4章 攻击Windows95/98 69
4.1.1 直接连接到Windows 9x共享资源 70
4.1 Windows 9x远程漏洞发掘 70
4.1.2 Windows 9x后门 75
4.1.3 已知的服务器程序脆弱点 78
4.1.4 Windows 9x拒绝服务 78
4.2 从控制台攻击Windows 9x 79
4.2.1 绕开Windows 9x安全:重启 79
4.2.2 较隐秘的方法之一:Autorun与暴露屏幕保护程序保密字 80
4.2.3 更为隐秘的方法之二:揭示内存中的Windows 9x保密字 81
4.2.4 隐秘方法之三:破解保密字 82
4.3 小结 84
第5章 攻击Windows NT 85
5.1 索取Administrator账号 87
5.1.1 在网络上猜测保密字 87
5.1.2 对策:防御保密字猜测 91
5.1.3 远程漏洞发掘:拒绝服务和缓冲区溢区 97
5.1.4 特权升级 99
5.2.1 破解SAM 106
5.2 巩固权力 106
5.2.2 发掘信任漏洞 114
5.2.3 远程控制与后门 119
5.2.4 一般性后门与对策 127
5.3 掩盖踪迹 129
5.3.1 禁止审计 130
5.3.2 清空事件登记结果 130
5.3.3 隐藏文件 130
第6章 攻击Novell NetWare 134
6.1 附接但不接触 134
6.1.1 On-Site Admin 135
6.1.2 snlist和nslist 135
6.2 查点平构数据库和NDS树 136
6.2.1 userinfo 136
6.2.2 userdump 136
6.1.3 附接对策 136
6.2.4 bindery 137
6.2.5 bindin 137
6.2.3 finger 137
6.2.6 nlist 138
6.2.7 Cx 138
6.2.8 On-Site Admin 140
6.2.9 查点对策 140
6.3 打开未锁的门 140
6.3.1 chknull 141
6.3.2 chknull对策 142
6.4 经认证的查点 142
6.4.1 userlist/a 143
6.4.2 On-Site Admin 143
6.4.3 NDSsnoop 143
6.5 检测入侵者锁闭特性 144
6.5.1 入侵者锁闭特性检测对策 146
6.6 获取管理性特权 146
6.6.1 偷窃 146
6.6.2 偷窃对策 147
6.6.3 Nwpcrack 147
6.7 服务器程序脆弱点 148
6.7.1 NetWare Perl 148
6.6.4 Nwpcrack对策 148
6.7.3 NetWare FTP 149
6.7.4 NetWare FTP对策 149
6.7.2 NetWare Perl对策 149
6.7.6 NetWare Web Server对策 150
6.8 欺骗性攻击(Pandora) 150
6.7.5 NetWare Web Server 150
6.8.1 gameover 151
6.9 拥有一台服务器的管理权之后 152
6.9.1 rconsole攻击 152
6.8.2 Pandora对策 152
6.9.2 rconsole(明文保密字)对策 153
6.10 攫取NDS文件 154
6.10.1 NetBasin.nlm 154
6.10.2 Dsmaint 155
6.10.3 Jcmd 156
6.10.4 攫取NDS对策 157
6.10.5 破解NDS文件 157
6.11.1 关掉审计功能 159
6.11.2 变更文件历史 159
6.11 登记结果篡改 159
6.11.4 登记结果篡改对策 160
6.12 后门 160
6.11.3 篡改控制台登记结果 160
6.12.1 后门对策 162
6.13.2 Web网站 163
6.13.1 Kane Security Analyst 163
6.13.3 Usenet新闻组 163
6.13 更深入的资源 163
7.1 追求root访问权 164
7.1.1 简短回顾 164
第7章 攻击UNIX 164
7.1.2 脆弱点映射 165
7.2 远程访问对比本地访问 165
7.3 远程访问 166
7.3.1 蛮力攻击 167
7.3.2 数据驱动攻击之一:缓冲区溢出 168
7.3.3 数据驱动攻击之二:输入验证 171
7.3.4 想要自己的shell 172
7.3.5 常用类型的远程攻击 176
7.4 本地访问 187
7.4.1 保密字构造脆弱点 187
7.4.2 本地缓冲区溢出 190
7.4.3 符号链接 191
7.4.4 文件描述字攻击 193
7.4.5 竞争状态 194
7.4.6 core文件操纵 195
7.4.7 共享函数库 196
7.4.8 系统误配置 196
7.4.9 shell攻击 200
7.5.2 特洛伊木马 201
7.5.1 root工具箱 201
7.5 获取root特权之后 201
7.5.3 嗅探程序 202
7.5.4 登记结果清理 205
7.6 小结 207
第3部分 攻击网络 209
第8章 拨号攻击与VPN 209
8.1 电话号码踩点 211
8.1.1 对策:阻止信息的泄漏 212
8.2 战术拨号 212
8.2.1 硬件 212
8.2.2 合法性问题 213
8.2.3 外围 213
8.2.4 软件 213
8.2.5 载波漏洞发掘技巧 220
8.2.6 拨号安全措施 223
8.3 虚拟私用连网(VPN)攻击 224
8.4 小结 226
9.1 发现 228
9.1.1 检测 228
第9章 网络设备 228
9.1.2 SNMP 233
9.2 后门 235
9.2.1 缺省账号 235
9.2.2 网络设备脆弱点 237
9.3 共享式媒体对比交换式媒体 243
9.3.1 检测自己所在的媒体 244
9.3.2 捕捉SNMP信息 245
9.5 RIP欺骗 246
9.4.1 SNMP set请求对策 246
9.5.1 RIP欺骗对策 246
9.4 SNMP set请求 246
9.6 小结 247
第10章 防火墙 248
10.1 防火墙概貌 248
10.2 防火墙标识 249
10.2.1 直接扫描:嘈杂的技巧 249
10.2.2 路径跟踪 251
10.2.3 旗标攫取 252
10.2.4 使用nmap简单推断 253
10.2.5 端口标识 256
10.3 穿透防火墙扫描 257
10.3.1 hping 257
10.3.2 firewalk工具 258
10.4 分组过滤 259
10.4.1 自由散漫的ACL规则 259
10.4.2 CheckPoint诡计 260
10.4.3 ICMP和UDP隧道 261
10.5 应用代理脆弱点 261
10.5.1 主机名:localhost 262
10.5.2 未加认证的外部代理访问 262
10.5.3 WinGate脆弱点 263
10.6 小结 267
第11章 拒绝服务型攻击 268
11.1 DoS攻击者的动机 268
11.2.1 带宽耗用 269
11.2.2 资源衰竭 269
11.2 DoS攻击类型 269
11.2.3 编程缺陷 270
11.2.4 路由和DNS攻击 270
11.3 通用DoS攻击手段 271
11.3.1 smurf 272
11.3.2 SYN淹没 274
11.3.3 DNS攻击 277
11.4 特定于UNIX和Windows NT的DoS攻击手段 278
11.4.1 远程DoS攻击 278
11.4.2 本地DoS攻击 280
11.5 小结 281
第12章 远程控制的不安全性 282
12.1 发现远程控制软件 282
第4部分 攻击软件 282
12.2 连接 283
12.3 脆弱点 284
12.3.1 明文形式的用户名和保密字 284
12.3.2 经模糊处理的保密字 285
12.3.3 揭示出来的保密字 285
12.3.4 上载配置文件 286
12.4 对策 287
12.4.1 使能保密字 287
12.4.2 强制使用健壮的保密字 287
12.4.3 施行候选的认证形式 288
12.4.4 使用保密字保护配置文件 289
12.4.5 调用完毕就注销用户 289
12.4.6 加密会话分组 289
12.4.9 锁闭登录失败的用户 290
12.5 各个软件包的安全性比较 290
12.4.10 变更缺省的监听端口 290
12.5.1 pcAnywhere 290
12.4.8 登记失败的登录尝试 290
12.4.7 限定登录尝试次数 290
12.5.3 Remotely Anywhere 291
12.5.4 Remotely Possible/ControlIT 291
12.5.2 ReachOut 291
12.5.5 Timbuktu 292
12.5.6 Virtual Network Computing 292
12.5.7 Citrix 293
12.6 小结 293
13.1 会话劫持 294
13.1.1 Juggernaut 294
第13章 高级技巧 294
12.1.2 Hunt 295
13.1.3 劫持对策 296
13.2 后门 296
13.2.1 用户账号 297
13.2.2 启动文件 297
13.2.3 受调度的作业 298
13.2.4 远程控制后门 299
13.2.5 远程控制对策 304
13.2.6 总体后门对策 307
13.3 特洛伊木马 307
13.3.2 BoSniffer 308
13.3.3 eLiTeWrap 308
13.3.1 Whack-A-Mole 308
13.3.4 Windows NT FPWNCLNT.DLL 309
13.4 小结 310
14.1 Web盗窃 311
14.1.1 逐页手工扫描 311
第14章 攻击Web 311
14.1.2 简化自动扫描 312
14.1.3 Web盗窃对策 314
14.2 找出众所周知的脆弱点 314
14.2.1 适合“脚本小子”的自动执行的脚本 315
14.2.2 自动执行的应用程序 316
14.3 脚本机能不全:输入验证攻击 317
14.3.1 IIS 4.0 MDAC RDS脆弱点 318
14.3.2 CGI脆弱点 322
14.3.3 ASP脆弱点 324
14.3.4 Cold Fusion脆弱点 326
14.4 缓冲区溢出 326
14.4.1 PHP脆弱点 327
14.4.2 wwwcount.cgi脆弱点 327
14.4.3 IIS 4.0 iishack 328
14.5 糟糕的Web设计 329
14.5.1 误用隐藏的标记 329
14.5.2 服务器端包含(SSI) 330
14.5.3 添加到文件 330
14.6 小结 331
第5部分 附录 332
附录A 端口 332
附录B Windows 2000安全问题 335
附录C 资源与超链接 348
附录D 工具 355
附录E 最危险的14个安全脆弱点 360
附录F 关于伴随的Web网站 361
5.4 小结 532