安全技术大系 揭秘家用路由器0day漏洞挖掘技术
作者:吴少华 主编
出版时间:2015年版
内容简介
本书理论与实践结合,全面、深入地分析了家用路由器的安全漏洞,包括Web应用漏洞、栈溢出漏洞等,并辅以大量案例进行了翔实的分析。本书针对家用路由器这一新领域进行漏洞的挖掘与分析,其原理和方法同样适用于智能设备、物联网等。
目录
第 1 篇 路由器漏洞基础知识
第 1 章 基础准备与工具 2
1.1 路由器漏洞的分类 2
1.1.1 路由器密码破解漏洞 3
1.1.2 路由器Web漏洞 4
1.1.3 路由器后门漏洞 5
1.1.4 路由器溢出漏洞 6
1.2 路由器系统的基础知识和工具 6
1.2.1 MIPS Linux 7
1.2.2 BusyBox命令 7
1.2.3 文本编辑器 18
1.2.4 编译工具GCC 24
1.2.5 调试工具GDB 26
1.3 MIPS汇编语言基础 28
1.3.1 寄存器 28
1.3.2 字节序 30
1.3.3 MIPS寻址方式 31
1.3.4 MIPS指令集 32
1.4 HTTP协议 38
1.4.1 HTTP协议请求行 38
1.4.2 HTTP协议消息报头 40
1.4.3 HTTP协议请求正文 42
第 2 章 必备软件和环境 43
2.1 路由器漏洞分析必备软件 43
2.1.1 VMware的安装和使用 43
2.1.2 Python的安装 48
2.1.3 在Linux下安装IDA Pro 50
2.1.4 IDA的MIPS插件和脚本 52
2.2 路由器漏洞分析环境 55
2.2.1 固件分析利器Binwalk的安装 55
2.2.2 Binwalk的基本命令 56
2.2.3 QEMU和MIPS 59
第 3 章 路由器漏洞分析高级技能 71
3.1 修复路由器程序运行环境 71
3.1.1 固件分析 71
3.1.2 编写劫持函数动态库 72
3.1.3 运行测试 74
3.2 Linux下IDA的反汇编与调试 78
3.2.1 静态反汇编 78
3.2.2 动态调试 80
3.3 IDA脚本基础 87
3.3.1 执行脚本 87
3.3.2 IDC语言 88
3.3.3 IDAPython 104
3.4 Python编程基础 106
3.4.1 第一个Python程序 107
3.4.2 Python网络编程 107
第 2 篇 路由器漏洞原理与利用
第 4 章 路由器 Web 漏洞 112
4.1 XSS漏洞 112
4.1.1 XSS简介 112
4.1.2 路由器XSS漏洞 112
4.2 CSRF漏洞 113
4.2.1 CSRF简介 113
4.2.2 路由器CSRF漏洞 113
4.3 基础认证漏洞 114
4.3.1 基础认证漏洞简介 114
4.3.2 路由器基础认证漏洞 115
第 5 章 路由器后门漏洞 116
5.1 关于路由器后门 116
5.2 路由器后门事件 116
5.2.1 D-Link路由器后门漏洞 117
5.2.2 Linksys TheMoon蠕虫 117
5.2.3 NETGEAR路由器后门漏洞 117
5.2.4 Cisco路由器远程特权提升漏洞 118
5.2.5 Tenda路由器后门漏洞 118
5.2.6 磊科全系列路由器后门 118
第 6 章 路由器溢出漏洞 119
6.1 MIPS堆栈的原理 119
6.1.1 MIPS32架构堆栈 119
6.1.2 函数调用的栈布局 120
6.1.3 利用缓冲区溢出的可行性 124
6.2 MIPS缓冲区溢出 128
6.2.1 Crash 128
6.2.2 劫持执行流程 130
6.3 MIPS缓冲区溢出利用实践 134
6.3.1 漏洞攻击组成部分 134
6.3.2 漏洞利用开发过程 139
第 7 章 基于 MIPS 的 Shellcode开发 147
7.1 MIPS Linux系统调用 147
7.1.1 write系统调用 149
7.1.2 execve系统调用 153
7.2 Shellcode编码优化 156
7.2.1 指令优化 156
7.2.2 Shellcode编码 158
7.3 通用Shellcode开发 164
7.3.1 reboot Shellcode 164
7.3.2 reverse_tcp Shellcode 166
7.4 Shellcode应用实例 173
7.4.1 劫持PC和确定偏移 173
7.4.2 确定攻击途径 173
7.4.3 构建漏洞攻击数据 175
7.4.4 漏洞测试 177
第 3 篇 路由器漏洞实例分析与利用——软件篇
第 8 章 路由器文件系统与提取 180
8.1 路由器文件系统 180
8.1.1 路由器固件 180
8.1.2 文件系统 181
8.2 手动提取文件系统 182
8.2.1 查看文件类型 182
8.2.2 手动判断文件类型 184
8.2.3 手动提取文件系统 186
8.3 自动提取文件系统 189
8.3.1 Binwalk智能固件扫描 189
8.3.2 Binwalk的提取与分析 191
8.4 Binwalk用法进阶 194
8.4.1 基于magic签名文件自动提取 194
8.4.2 基于Binwalk的配置文件提取 199
第 9 章 漏洞分析简介 201
9.1 漏洞分析概述 201
9.2 漏洞分析方法 201
第 10 章 D-Link DIR-815 路由器多次溢出漏洞分析 203
10.1 漏洞介绍 203
10.2 漏洞分析 204
10.2.1 固件分析 204
10.2.2 漏洞成因分析 205
10.3 漏洞利用 216
10.3.1 漏洞利用方式:System/Exec 216
10.3.2 绕过0构造ROP Chain 218
10.3.3 生成POC 221
10.4 漏洞测试 225
第 11章 D-Link DIR-645 路由器溢出漏洞分析 227
11.1 漏洞介绍 227
11.2 漏洞分析 229
11.2.1 固件分析 229
11.2.2 漏洞成因分析 229
11.3 漏洞利用 238
11.3.1 漏洞利用方式:System/Exec 239
11.3.2 生成POC 240
11.4 漏洞测试 243
第 12 章 D-Link DIR-505 便携
路由器越界漏洞分析 244
12.1 漏洞介绍 244
12.2 漏洞分析 246
12.2.1 固件分析 246
12.2.2 漏洞成因分析 247
12.3 漏洞利用 251
12.3.1 漏洞利用方式:System/Exec 251
12.3.2 构造ROP Chain 252
12.3.3 生成POC 253
12.4 漏洞测试 255
第 13 章 Linksys WRT54G 路由器溢出漏洞分析—运行环境
修复 257
13.1 漏洞介绍 257
13.2 漏洞分析 258
13.2.1 固件分析 258
13.2.2 修复运行环境 259
13.2.3 漏洞成因分析 265
13.3 漏洞利用 267
13.3.1 漏洞利用方式:执行Shellcode 267
13.3.2 生成POC 269
13.4 漏洞测试 271
第 14 章 磊科全系列路由器后门漏洞分析 273
14.1 漏洞介绍 273
14.2 漏洞分析 274
14.2.1 固件分析 274
14.2.2 漏洞成因分析 275
14.3 漏洞利用 281
14.4 漏洞测试 283
第 15 章 D-Link DIR-600M 路由器Web漏洞分析 286
15.1 漏洞介绍 286
15.2 漏洞分析 286
15.2.1 权限认证分析 287
15.2.2 数据提交分析 288
15.3 漏洞利用 288
15.4 漏洞统计分析 290
15.4.1 ZoomEye简介 291
15.4.2 ZoomEye应用实例 291
15.4.3 小结 295