近年来,网络空间安全作为国家安全保障需求,被提升到了一个全新的战略高度,“没有网络安全,就没有国家安全”的政策理念也越发深入人心。网络安全行业正在经历前所未有的蓬勃发展和技术巨变,但随之而来的却是安全行业人才稀缺的尴尬现状。究其原因,主要在于网络安全是一门需要通过长期实战演练获得经验并进一步提升技能的技术,目前无论是高校,还是与国内安全相关的网络资源,受限于各种原因,大多还停留在学术教育以及概念普及的阶段,从而导致“入门”到“入行”之间存在着较大的鸿沟。
以下途径均可购买
京东 当当
视频解读
读者对象
如何阅读本书
目录
前 言
准备篇
第1章 欢迎,年轻的勇士:准备
工作 2
1.1 一份道具包:主机环境搭建 2
1.1.1 VMware与Kali Linux 2
1.1.2 VulnHub主机操作指南 14
1.1.3 Hack The Box主机操作指南 20
1.2 一个武器套装:常用工具使用
说明 28
1.2.1 使用nmap收集目标主机
信息 28
1.2.2 Web目录枚举工具的使用 29
1.2.3 使用Burpsuite捕获流量 31
1.2.4 反弹shell的功能 38
1.2.5 文件传输操作 39
1.2.6 目标主机系统的本地信息
枚举 39
1.3 一包补给品:常见问题求助
渠道 40
1.4 小结 41
基础实战篇
第2章 新手村:从Kioptrix开始 44
2.1 Kioptrix Level 1:过时软件的
安全风险 45
2.1.1 目标主机信息收集 45
2.1.2 漏洞线索:过时的Apache
中间件 47
2.1.3 利用mod_ssl缓冲区溢
出漏洞 50
2.1.4 Samba版本的漏洞猜想 50
2.1.5 利用Samba远程命令执行
漏洞 53
2.2 Kioptrix Level 2:SQL注入引发的
蝴蝶效应 53
2.2.1 目标主机信息收集 54
2.2.2 漏洞线索1:表单数据与SQL
注入 55
2.2.3 利用SQL注入漏洞枚举数据库信息 56
2.2.4 漏洞线索2:Web授权后远程
命令执行漏洞 59
2.2.5 目标主机本地脆弱性枚举 60
2.2.6 本地脆弱性:操作系统
内核漏洞 61
2.2.7 内核提权与“Kernel panic” 62
2.2.8 内核提权经验教训与方式
改进 63
2.3 Kioptrix Level 3:持续探索与
摸索前行 63
2.3.1 目标主机信息收集 64
2.3.2 漏洞线索1:过时的Gallarif?ic系统 69
2.3.3 漏洞线索2:过时的LotusCMS系统 70
2.3.4 渗透测试路径1:利用LotusCMS远程命令执行漏洞与内核提权 71
2.3.5 渗透测试路径2:借助SQL
注入漏洞获取登录凭证与
sudo提权 74
2.4 Kioptrix Level 4:rbash逃逸 80
2.4.1 目标主机信息收集 80
2.4.2 漏洞线索:表单数据与SQL
注入 82
2.4.3 利用SQL注入漏洞枚举数据库信息 83
2.4.4 登录凭证的利用与二次探索 84
2.4.5 rbash逃逸技术 85
2.4.6 目标主机本地脆弱性枚举 86
2.4.7 本地脆弱性1:操作系统内核
漏洞 87
2.4.8 本地脆弱性2:无密码的
MySQL数据库root账号 87
2.4.9 MySQL UDF提权实战 88
2.5 Kioptrix 2014:Ban、Bypass与
发散思维 91
2.5.1 目标主机信息收集 91
2.5.2 漏洞线索1:pChart目录穿越
漏洞 93
2.5.3 漏洞线索2:phptax远程命令
执行漏洞 98
2.5.4 目标主机本地脆弱性枚举 101
2.5.5 FreeBSD 9内核提权实战 101
2.6 小结 103
第3章 过时即风险:综合技能的
扩展与提升 104
3.1 HTB-Optimum:Windows渗透
初体验 104
3.1.1 目标主机信息收集 104
3.1.2 漏洞线索:HTTP File Server
远程命令执行漏洞 105
3.1.3 目标主机本地脆弱性
枚举 107
3.1.4 基于MS16-098漏洞进行提权
实战 109
3.2 HTB-Legacy:当XP邂逅MS08-
067和“永恒之蓝” 110
3.2.1 目标主机信息收集 111
3.2.2 漏洞线索1:MS08-067 112
3.2.3 漏洞线索2:MS17-010“永恒之蓝” 113
3.3 HTB-Grandpa:搜索与选择的
智慧 115
3.3.1 目标主机信息收集 115
3.3.2 漏洞线索:过时的Microsoft
IIS中间件 116
3.3.3 目标主机本地脆弱性枚举 119
3.3.4 利用MS08-025漏洞 119
3.4 HTB-Lame:此路不通,也可以
绕道而行 119
3.4.1 目标主机信息收集 120
3.4.2 漏洞线索1:vsftpd远程命令
执行漏洞 121
3.4.3 漏洞线索2:Samba远程命令
执行漏洞 122
3.5 HTB-Beep:有时,恰巧每条路
都是坦途 124
3.5.1 目标主机信息收集 124
3.5.2 漏洞线索:过时的Elastix
系统 126
3.5.3 利用Elastix系统本地文件
包含漏洞的测试 127
3.5.4 利用泄露凭证进行ssh服务
爆破 128
3.5.5 利用Elastix系统远程命令
执行漏洞 129
3.6 HTB-Shocker:经典的Shellshock漏洞 133
3.6.1 目标主机信息收集 133
3.6.2 漏洞线索:/cgi-bin/目录下的
.sh脚本文件 135
3.6.3 Shellshock漏洞POC测试 136
3.6.4 利用Shellshock漏洞的实战 139
3.6.5 目标主机本地脆弱性枚举 140
3.6.6 本地脆弱性:sudo权限 140
3.6.7 挑战无回显Shellshock漏洞 141
3.7 HTB-Valentine:通过Heartbleed
获取关键信息 144
3.7.1 Heartbleed漏洞的原理简介 144
3.7.2 目标主机信息收集 146
3.7.3 漏洞线索1:OpenSSL上的
“心脏滴血”漏洞 148
3.7.4 漏洞线索2:泄露的ssh
私钥 149
3.7.5 目标主机本地脆弱性枚举 152
3.7.6 本地脆弱性:tmux终端
复用器 152
3.8 VulnHub-DC3:初次使用PHP
“一句话Webshell” 153
3.8.1 目标主机信息收集 154
3.8.2 漏洞线索:Joomla! SQL注入
漏洞 158
3.8.3 john密码爆破实战 159
3.8.4 Joomla!登录与PHP“一句话Webshell”的植入 159
3.8.5 利用PHP“一句话Webshell”
获得反弹shell 162
3.8.6 目标主机本地脆弱性枚举 164
3.8.7 本地脆弱性:操作系统内核
漏洞 164
3.9 VulnHub-Sar1:计划任务与权限
传递 166
3.9.1 目标主机信息收集 166
3.9.2 漏洞线索:sar2html远程命令
执行漏洞 170
3.9.3 目标主机本地脆弱性枚举 172
3.9.4 利用计划任务进行提权
实战 173
3.10 HTB-Redcross:利用XSS漏洞
获取用户Cookie 174
3.10.1 目标主机信息收集 174
3.10.2 XSS漏洞POC测试 177
3.10.3 利用XSS漏洞获取Web
系统管理员权限 179
3.10.4 漏洞线索1:Web系统SQL
注入漏洞 179
3.10.5 漏洞线索2:子域名系统 180
3.10.6 漏洞线索3:Web系统的用户
添加功能 182
3.10.7 漏洞线索4:Web系统授权后
远程命令执行漏洞 183
3.10.8 目标主机本地脆弱性枚举 186
3.10.9 Web系统的代码白盒分析 186
3.10.10 本地脆弱性:篡改Web
系统用户添加功能 188
实战进阶篇
第4章 兔子洞:当漏洞的可利用性
似是而非时 194
4.1 HTB-Cronos:另辟蹊径 194
4.1.1 目标主机信息收集 194
4.1.2 漏洞线索1:laravel系统的
远程命令执行漏洞 197
4.1.3 漏洞线索2:DNS域传送
漏洞 197
4.1.4 DNS域传送漏洞POC
测试 198
4.1.5 漏洞线索3:表单数据与SQL
注入漏洞 199
4.1.6 漏洞线索4:授权后远程命令
执行漏洞 202
4.1.7 目标主机本地脆弱性枚举 204
4.1.8 本地脆弱性1:操作系统内核
漏洞 204
4.1.9 本地脆弱性2:计划任务 204
4.2 HTB-Friendzone:蹊径有时也
需要组合利用 206
4.2.1 目标主机信息收集 206
4.2.2 Samba枚举共享目录简介 209
4.2.3 探索Samba共享目录文件
信息 209
4.2.4 漏洞线索1:DNS域传送
漏洞 210
4.2.5 漏洞线索2:子域名系统 212
4.2.6 漏洞线索3:任意文件上传 213
4.2.7 漏洞线索4:泄露登录凭证 214
4.2.8 漏洞线索5:本地文件包含
漏洞 214
4.2.9 组合利用漏洞线索执行远程
命令 215
4.2.10 目标主机本地脆弱性枚举 216
4.2.11 本地脆弱性1:密码复用 217
4.2.12 pspy动态、实时地进行命令
检测 218
4.2.13 本地脆弱性2:Python链接库
文件修改 221
4.2.14 Web系统的白盒代码回溯
分析 221
第5章 报错?告警?:当工具无法
正常使用时 224
5.1 VulnHub-BREACH-1:nmap
探测失效 224
5.1.1 目标主机的设置要求 224
5.1.2 目标主机信息收集 225
5.1.3 漏洞线索1:泄露的登录
凭证 229
5.1.4 漏洞线索2:加密流量审计 233
5.1.5 漏洞线索3:已授权的Tomcat
应用管理服务 240
5.1.6 本地脆弱性:操作系统内核
漏洞 242
5.2 HTB-Nibbles:密码爆破工具
失效 242
5.2.1 目标主机信息收集 242
5.2.2 漏洞线索1:遗留的Web系统
敏感文件 246
5.2.3 漏洞线索2:NibbleBlog授权
后任意文件上传漏洞 246
5.2.4 NibbleBlog登录凭证爆破 247
5.2.5 NibbleBlog登录凭证推测 249
5.2.6 利用NibbleBlog授权后任意
文件上传漏洞 250
5.2.7 目标主机本地脆弱性枚举 251
5.2.8 本地脆弱性:sudo权限 252
5.2.9 密码爆破工具推荐 252
5.3 HTB-BLUE:自动化利用MS17-
010漏洞失败 254
5.3.1 目标主机信息收集 254
5.3.2 绕过命名管道限制利用MS17-
010的实战 256
第6章 匿名者:匿名登录与匿名
访问 259
6.1 HTB-Devel:利用FTP匿名访问 259
6.1.1 目标主机信息收集 259
6.1.2 漏洞线索:FTP匿名访问
权限 260
6.1.3 借助FTP匿名访问权限获得Webshell 262
6.1.4 目标主机本地脆弱性枚举 264
6.1.5 MS14-058漏洞提权实战 265
6.2 VulnHub-Bravely:利用NFS匿名访问 267
6.2.1 目标主机信息收集 267
6.2.2 漏洞线索1:NFS匿名访问
权限 270
6.2.3 探索NFS共享目录文件
信息 270
6.2.4 漏洞线索2:Samba匿名访问
权限 271
6.2.5 探索Samba共享目录的文件
信息 273
6.2.6 漏洞线索3:Cuppa CMS本地/
远程文件包含漏洞 275
6.2.7 目标主机本地脆弱性枚举 277
6.2.8 本地脆弱性:sudo权限 278
第7章 Debug & Release:当界限
模糊时 279
7.1 HTB-Bashed:暴露的调试接口 279
7.1.1 目标主机信息收集 279
7.1.2 漏洞线索:暴露的Webshell
程序 281
7.1.3 目标主机本地脆弱性枚举 282
7.1.4 本地脆弱性1:sudo权限 282
7.1.5 本地脆弱性2:计划任务 284
7.2 HTB-Poison:内部系统、脆弱
代码及安全意识 284
7.2.1 目标主机信息收集 285
7.2.2 漏洞线索1:泄露的登录
凭证 285
7.2.3 漏洞线索2:Web系统目录
穿越漏洞 287
7.2.4 组合利用漏洞线索获得主机
访问权限 288
7.2.5 漏洞线索2仅仅是个目录
穿越漏洞吗 288
7.2.6 LFI转化为RCE的漏洞利用 289
7.2.7 目标主机本地脆弱性枚举 292
7.2.8 本地脆弱性:root权限的vnc
会话 294
第8章 密码123456:弱口令与
默认口令风险 296
8.1 HTB-Jerry:利用Tomcat中的
弱口令 297
8.1.1 目标主机信息收集 297
8.1.2 漏洞线索:Tomcat应用管理
服务的弱口令 298
8.2 HTB-Sense:如果防火墙也被
设置了默认口令 301
8.2.1 目标主机信息收集 301
8.2.2 漏洞线索1:pfSense授权后
远程命令的执行 302
8.2.3 漏洞线索2:pfSense默认
口令 304
第9章 自豪地采用Wordpress:Wordpress专项渗透集锦 307
9.1 VulnHub-DerpNStink1:爆破Wordpress的用户名、密码 307
9.1.1 目标主机信息收集 307
9.1.2 漏洞线索1:Wordpress弱
口令 313
9.1.3 漏洞线索2:通过slideshow
插件上传任意文件 314
9.1.4 目标主机本地脆弱性枚举 317
9.1.5 本地脆弱性1:MySQL
服务弱口令 317
9.1.6 流量信息审计分析 321
9.1.7 本地脆弱性2:sudo权限 322
9.2 VulnHub-DC6:Wordpress第三方
插件的安全性问题 324
9.2.1 申请个人用户api-token 324
9.2.2 目标主机信息收集 325
9.2.3 漏洞线索:Wordpress插件
漏洞 326
9.2.4 目标主机本地脆弱性枚举 332
9.2.5 本地脆弱性1:泄露的登录
凭证 332
9.2.6 本地脆弱性2:sudo权限 333
第10章 我在看着你:安全限制与
绕过尝试 336
10.1 VulnHub-Djinn1:绕过黑名单
限制 336
10.1.1 目标主机信息收集 337
10.1.2 漏洞线索1:ftp匿名
登录 338
10.1.3 漏洞线索2:未知服务手动
探测 339
10.1.4 漏洞线索3:Web系统远程
命令执行漏洞 339
10.1.5 Web系统黑名单检测技术
绕过 342
10.1.6 目标主机本地脆弱性
枚举 344
10.1.7 本地脆弱性1:泄露的登录
凭证 345
10.1.8 本地脆弱性2:不安全的
程序功能 346
10.1.9 本地脆弱性3:sudo
权限 347
10.1.10 本地脆弱性4:泄露的pyc文件 347
10.1.11 Python反编译实战 348
10.1.12 1337端口未知服务代码
白盒分析 350
10.1.13 端口碰撞技术实战 352
10.1.14 利用Python沙盒逃逸
漏洞 354
10.2 VulnHub-Development:当试错
被屡屡禁止时 355
10.2.1 目标主机信息收集 355
10.2.2 漏洞线索1:SiTeFiLo文件
内容泄露漏洞 363
10.2.3 漏洞线索2:密码复用 364
10.2.4 rbash逃逸技术 364
10.2.5 目标主机本地脆弱性枚举 365
10.2.6 本地脆弱性1:操作系统内核漏洞 366
10.2.7 本地脆弱性2:密码复用 366
10.2.8 本地脆弱性3:sudo权限 367
写在最后:结束是另一个开始 370