©2018 刺掌信息. All rights reserved 苏公网安备 32111102000145号
本书配套资源下载见首页“工具”页面!
一.目录
第1章 提权基础 1
1.1 提权概述 1
1.2 Windows账号和密码的获取与破解 6
1.3 使用John the Ripper破解Linux密码 25
1.4 Linux提权辅助工具Linux Exploit Suggester 28
1.5 PHP WeBaCoo后门 30
1.6 对提权工具PR的免杀 34
1.7 通过LCX端口转发实现内网突破 39
1.8 使用SocksCap进行内网突破 42
1.9 Windows系统提权基础命令 44
第2章 Windows漏洞利用与提权 49
2.1 Windows提权基础 49
2.2 提权辅助工具Windows-Exploit-Suggester 58
2.4 Windows口令扫描及3389口令暴力破解 70
2.5 使用WinlogonHack获取系统密码 81
2.6 Windows Server 2003域控服务器密码获取 86
2.7 MS05-039漏洞利用实战 92
2.8 MS08-067远程溢出漏洞利用实战 95
2.9 通过Pr提权渗透某高速服务器 102
2.10 以Public权限渗透某ASP.NET网站 110
2.11 Windows 7/2008服务器64位版本MS12-042漏洞提权 118
2.12 对某虚拟主机的一次SiteManager提权 121
2.13 社工渗透并提权某服务器 127
2.14 通过SQL注入漏洞渗透某服务器并直接提权 132
2.15 phpinfo函数信息泄露漏洞的利用与提权 135
2.16 通过简单的漏洞渗透某公司内外部网络 140
2.17 通过文件上传漏洞渗透某Windows 2012服务器并提权 143
2.18 通过戴尔服务器远程访问管理卡获取服务器权限 148
第3章 Linux漏洞利用与提权 151
3.1 使用fakesu记录root用户的密码 151
3.2 使用Hydra暴力破解Linux密码 155
3.3 Linux操作系统root账号密码获取防范技术研究 162
3.4 通过Linux OpenSSH后门获取root密码 167
3.5 利用FCKeditor漏洞渗透某Linux服务器 174
3.6 chkrootkit 0.49本地提权漏洞利用与防范研究 181
3.7 从服务器信息泄露到Linux服务器权限获取 185
3.8 通过WinSCP配置文件获取Linux服务器权限 188
3.9 通过网上信息获取某Linux服务器权限 193
3.10 渗透某Linux服务器并提权 196
3.11 通过SQL注入获取某Linux服务器权限 198
3.12 Struts 2远程代码执行漏洞s2-032及其提权利用 202
3.13 快速利用s02-45漏洞获取服务器权限 206
3.14 安全设置Linux操作系统的密码 214
第4章 MSSQL漏洞利用与提权 217
4.1 SQL Server提权基础 217
4.2 SQL Server口令扫描 223
4.3 SQL Server 2000 MS08-040漏洞 227
4.4 SQL Server 2000提权 233
4.5 SQL Server 2005提权 237
4.5.10 总结 241
4.6 Windows Server 2008中SQL Server 2008的提权 242
4.7 通过Windows Server 2008和SQL Server 2008 sa权限获取WebShell 246
4.8 通过sa权限注入获取服务器权限 250
4.9 通过FTP账号渗透并提权某服务器 255
4.10 Windows Server 2003下SQL Server 2005绕过安全狗提权 259
第5章 MySQL漏洞利用与提权 264
5.1 MySQL提权基础 264
5.2 用MOF方法提取MySQL root权限 271
5.3 MySQL数据库UDF提权 276
5.4 通过MySQL数据库反弹端口连接提权 284
5.5 通过MySQL账号社工渗透某Linux服务器 287
5.6 MySQL root口令的利用及提权 291
5.7 从MySQL口令扫描到提权 296
5.8 MySQL无法通过WebShell执行命令提权某服务器 301
5.9 phpMyAdmin漏洞利用与安全防范 306
5.10 巧用Cain破解MySQL数据库密码 311
5.11 MySQL数据库安全加固 319
第6章 Oracle漏洞利用与提权 324
6.1 Oracle提权基础 324
6.2 Oracle口令破解 330
6.3 通过注入存储过程提升数据库用户权限 338
6.4 Web下的SQL注入及提权 342
6.5 在Oracle上利用Java执行命令 349
6.6 利用SQL*Plus获取WebShell 353
6.7 Oracle数据库备份 355
6.8 Oracle数据库攻击的防范方法 358
第7章 Metasploit漏洞利用与提权 362
7.1 Metasploit提权基础知识 363
7.2 PowerShell渗透利用剖析 365
7.3 getsystem提权全解析 372
7.4 MS16-016本地溢出漏洞利用实战 374
7.5 通过WMIC实战MS16-032溢出漏洞 377
7.6 绕过用户控制实战 383
7.7 通过假冒令牌获取Windows Server 2008 R2域管权限 386
7.8 错误的Windows系统配置漏洞提权实战 389
7.9 Windows服务漏洞研究与利用 396
7.10 AlwaysInstallElevated提权实战演练 399
7.11 Metasploit下Mimikatz的使用 404
7.12 通过Metasploit渗透手机 407
7.13 移植s2-045漏洞利用代码模块实战 411
第8章 其他应用程序漏洞利用与提权 415
8.1 通过Serv-U提权ASP.NET服务器 415
8.2 扫描FTP口令并利用Serv-U提权某服务器 419
8.3 Windows Server 2008中的Magic Winmail Server提权 429
8.4 Radmin网络渗透提权研究 432
8.5 pcAnywhere账号和口令的破解与提权 445
8.5.1 pcAnywhere账号和口令破解 446
8.5.2 一个渗透实例 447
8.6 JBoss远程代码执行漏洞提权 454
8.7 Struts s2-016和s2-017漏洞利用实例 461
8.8 从JspRun后台获取WebShell 465
8.9 Gene6 FTP Server本地提权 469
8.10 通过Tomcat弱口令提取某Linux服务器权限 472
8.11 Citrix密码绕过漏洞引发的渗透 478
8.12 从CuteEditor漏洞利用到全面控制服务器 482
8.13 利用VNC认证口令绕过漏洞进行渗透 494
8.14 0day分析之ColdFusion本地包含漏洞的利用方法 499
8.15 ElasticSearch命令执行漏洞利用及渗透提权 504
8.16 通过JBoss Application Server获取WebShell 513
8.17 Zabbix SQL注入漏洞及利用探讨 520
8.18 OpenSSL“心脏出血”漏洞分析及利用 529
8.19 ImageMagick远程执行漏洞分析及利用 537
8.20 Linux glibc幽灵漏洞的测试与修复 540
第9章 Windows及Linux安全防范 545
9.1 网站挂马的检测与清除 546
9.2 巧用MBSA检查和加固个人计算机 551
9.3 使用冰刀、Antorun、CurrPorts等工具进行安全检查 557
9.4 巧用事件查看器维护服务器安全 568
9.5 使用防火墙和杀毒软件进行安全检查 571
9.6 手工清除病毒 575
9.7 计算机网络入侵安全检查研究 585
9.8 实战个人计算机网络安全检查 590
9.9 移动存储设备安全隐患及其防范对策 593
9.10 电子邮件社会工程学攻击防范研究 595
9.11 SQL注入攻击技术及其防范研究 599
9.12 Windows系统克隆用户攻击与防范 604
9.13 操作系统密码安全设置 614
9.14 使用chkrootkit和rkhunter检查Linux后门 618
9.15 Windows下PHP+MySQL+IIS安全配置 622
9.16 Windows下PHP+MySQL+IIS高级安全配置 629
二.内容简介
本书主要讨论目前常见的漏洞利用和提权技术,从攻击与防御的角度介绍渗透过程中相对最难,同时又是渗透最高境界的部分——如何获取服务器乃至整个网络的权限。本书共分9章,由浅入深,按照读者容易理解的方式对内容进行分类,每一节介绍一个典型应用,同时结合案例进行讲解,并给出一些经典的总结。
第1章 提权基础
提权是整个黑客攻防过程中最难的环节,提权过程则汇聚了思路、技巧、工具和技术。本章着重介绍提权的基础知识,包括如何进行提权,如何破解Windows及Linux密码,一些后门工具的使用,如何实现对提权工具的免杀,以及端口转发和代理工具的使用。
第2章 Windows漏洞利用与提权
Windows是目前使用最为广泛的操作系统之一。从2000年开始,计算机操作系统飞速发展,从Windows 95到Windows Server 2017,人们感受到了互联网技术的跌宕起伏。在操作系统层面,曾经多次爆发高危漏洞,攻击者可以远程直接获取目标服务器的权限。在渗透过程中,很多人认为提权是最难攻克的,其实不然,只要掌握了相关的知识点,在各种技术的配合下,99%都可以提权成功。本章着重介绍Windows提权的基础知识、Windows提权技巧、常用的口令扫描方法及一些新颖的提权方法和思路。
第3章 Linux漏洞利用与提权
在网络渗透过程中,经常碰到通过CMS等漏洞获取了服务器的WebShell,但因为Linux服务器设置了严格的权限而较难获取root账号权限的情况。在本章中讨论了Linux密码的获取与破解,以及利用一些Linux漏洞来提权的方法和技巧。本章原来的设想是对Linux中存在的各种本地提权漏洞进行介绍和利用,但在实际测试过程中,未能达到大众化利用的程度,因此将在后续的图书中陆续介绍这些方法。本章将着重介绍如何对Linux密码进行破解,以及如何通过各种漏洞来渗透并提权Linux服务器。
第4章 MSSQL漏洞利用与提权
MSSQL数据库是微软开发的目前世界上最为流行的数据库软件之一,它只能运行在Windows平台上,最常见的架构为ASP+MSSQL和ASP.NET+MSSQL。在Windows Server 2008以下版本中,只要获取了sa账号及其密码,就可以快速、方便地通过一些技巧获取系统权限。在Windows Server 2008以上版本中,虽然不能直接获取系统权限,但可以通过恢复存储过程等方式执行命令,通过系统中存在的提权漏洞进行提权。本章着重介绍SQL Server提权的基础知识,以及Windows下SQL Server的提权方法,同时通过一些案例介绍了如何利用sa账号来提权。
第5章 MySQL漏洞利用与提权
MySQL数据库是目前世界上最为流行的数据库软件之一,很多流行的架构都会用到MySQL,例如LAMPP(Linux+Apache+MySQL+PHP+Perl)架构。目前很多流行的CMS系统使用MySQL+PHP架构,MySQL主要在Windows和Linux操作系统中安装使用。因此,在获取了root账号的情况下,攻击者通过一些工具软件和技巧极有可能获取系统的最高权限。本章着重介绍MySQL提权的基础知识,以及Windows下MySQL的提权方法,同时通过一些案例介绍了如何利用MySQL来提权。
第6章 Oracle漏洞利用与提权
Oracle是一款大型的数据库系统,市场占有率很高,在数据库领域有极其重要的地位。作为世界上第一个支持SQL语言的关系型数据库,Oracle提供了丰富的包和存储过程,支持Java和创建library等特性,拥有丰富的系统表,几乎所有的信息都存储在系统表里,包括当前数据库运行的状态、用户的信息、数据库的信息、用户所能访问的数据库和表的信息等,在提供强大功能的同时,也带来了众多隐患。从第一代Oracle产品发布起,互联网上就不断有Oracle数据库的安全漏洞被公开。虽然Oracle一直在努力弥补这些缺陷,例如定期发布更新补丁去修复已发现的安全漏洞,但是随着Oracle数据库版本的更新,新的漏洞层出不穷。此外,由于数据库管理员安全意识较弱或未进行全面、有效的安全策略配置,导致数据库存在被攻击的安全风险。对Oracle的攻击主要包括弱口令或默认口令的猜解、SQL注入、权限配置不当、拒绝服务攻击等。本章针对Oracle数据库漏洞介绍了常见的提权方法及相应的防御手段。
第7章 Metasploit漏洞利用与提权
在Metasploit下所说的提权,通常是指在已经获得MSF的Meterpreter Shell后采取的各种提升权限的方法。通常,在渗透过程中很有可能只获得了一个系统的Guest或User权限的Meterpreter Shell,如果在网络环境中仅获得受限用户权限,那么在实施横向渗透或者提权攻击时将很困难。在主机上,如果没有管理员权限,就无法进行获取Hash值、安装软件、修改防火墙规则和修改注册表等操作,所以,必须将访问权限从Guset提升到User,再到Administrator,最后到System级别。可以说,渗透的目的是获取服务器的最高权限,即Windows操作系统中管理员账号的权限或Linux操作系统中root账户的权限。
第8章 其他应用程序漏洞利用与提权
在本章主要介绍一些应用程序的提权,包括Serv-U、Winmail、Radmin、pcAnywhere、JBoss、Struts、JspRun、Gene6 FTP Server、Tomcat、Citrix、VNC、ElasticSearch、Zabbix等。
第9章 Windows及Linux安全防范
本章就一些常见的系统漏洞和弱点进行分析。真正的安全防范是一个持续的改进和完善过程,我们需要随时关注0day及安全漏洞。在网络攻防过程中,安全防范非常重要:攻击方需要隐藏自己的IP地址、消除痕迹、防止被发现;而防守方则关注如何加固,如何使自己的系统更安全,“牢不可破”是终极目标。在武侠小说中经常提及一个理念:最好的防御就是攻击。通过攻击自身系统发现漏洞,对漏洞进行分析、修补和加固,也就有了日常听到的安全公司进行某项目的安全评估。
本书配套资源下载见首页“工具”页面!
目录
第1章 渗透测试之信息收集
1.1 域名信息收集 1
1.2 敏感信息收集 2
1.3 子域名信息收集 4
1.4 常用端口信息收集 7
1.5 指纹识别 10
1.6 查找真实IP 11
1.7 敏感目录文件收集 14
1.8 社会工程 15
第2章 搭建漏洞环境及实战
2.1 在Linux系统中安装LANMP 17
2.2 在Windows系统中安装WAMP 19
2.3 搭建DVWA漏洞环境 21
2.3.1 安装DVWA 21
2.4 搭建SQL注入平台 23
2.4.1 安装SQL注入平台 23
2.5 搭建XSS测试平台 25
2.5.1 安装XSS测试平台 25
第3章 常用工具
3.1 SQLMap详解 29
3.1.1 安装SQLMap 29
3.1.2 SQLMap入门 30
3.1.3 SQLMap进阶:参数讲解 37
3.1.4 SQLMap自带绕过脚本tamper的讲解 40
3.2 Burp Suite详解 49
3.2.1 Burp的安装 49
3.2.2 Burp Suite入门 51
3.2.3 Burp进阶 54
3.3 Nmap详解 69
3.3.1 安装Nmap 70
3.3.2 Nmap入门 70
3.3.3 Nmap进阶 82
第4章 Web安全原理剖析
4.1 SQL注入基础 89
4.1.1 SQL注入介绍 89
4.1.2 SQL注入原理 89
4.1.3 MySQL注入相关知识点 90
4.1.4 Union注入攻击 94
4.1.5 Union注入代码分析 98
4.1.6 Boolean注入攻击 98
4.1.7 Boolean注入代码分析 102
4.1.8 报错注入攻击 103
4.1.9 报错注入代码分析 104
4.2 SQL注入进阶 105
4.2.1 时间注入攻击 105
4.2.2 时间注入代码分析 107
4.2.3 堆叠查询注入攻击 108
4.2.4 堆叠查询注入代码分析 109
4.2.5 二次注入攻击 110
4.2.6 二次注入代码分析 112
4.2.7 宽字节注入攻击 114
4.2.8 宽字节注入代码分析 117
4.2.9 Cookie注入攻击 118
4.2.10 Cookie注入代码分析 119
4.2.11 BASE64注入攻击 119
4.2.12 BASE64注入代码分析 121
4.2.13 XFF注入攻击 121
4.2.14 XFF注入代码分析 123
4.3 SQL注入绕过技术 124
4.3.1 大小写绕过注入 124
4.3.2 双写绕过注入 125
4.3.3 编码绕过注入 127
4.3.4 内联注释绕过注入 128
4.3.5 SQL注入修复建议 129
4.4 XSS基础 132
4.4.1 XSS漏洞介绍 132
4.4.2 XSS漏洞原理 132
4.4.3 反射性XSS攻击 134
4.4.4 反射性XSS代码分析 136
4.4.5 储存型XSS攻击 137
4.4.6 储存型XSS代码分析 138
4.4.7 DOM型XSS攻击 139
4.4.8 DOM型XSS代码分析 141
4.5 XSS进阶 142
4.5.1 XSS常用语句及编码绕过 142
4.5.2 使用XSS平台测试XSS 143
4.5.3 XSS漏洞修复建议 145
4.6 CSRF漏洞 146
4.6.1 CSRF漏洞介绍 146
4.6.2 CSRF漏洞原理 146
4.6.3 CSRF漏洞利用 147
4.6.4 CSRF漏洞代码分析 149
4.6.5 CSRF漏洞修复建议 152
4.7 SSRF漏洞 152
4.7.1 SSRF漏洞介绍 152
4.7.2 SSRF漏洞原理 153
4.7.3 SSRF漏洞利用 153
4.7.4 SSRF漏洞代码分析 154
4.7.5 SSRF漏洞修复建议 155
4.8 文件上传 155
4.8.1 文件上传漏洞介绍 155
4.8.2 文件上传原理 155
4.8.3 JS检测绕过攻击 156
4.8.4 JS检测绕过攻击分析 157
4.8.5 文件后缀绕过攻击 158
4.8.6 文件后缀绕过代码分析 159
4.8.7 文件类型绕过攻击 160
4.8.8 文件类型绕过代码分析 161
4.8.9 文件截断绕过攻击 163
4.8.10 文件截断绕过代码分析 164
4.8.11 竞争条件攻击 165
4.8.12 竞争条件代码分析 166
4.8.13 文件上传修复建议 167
4.9 暴力破解 167
4.9.1 暴力破解漏洞介绍 167
4.9.2 暴力破解漏洞攻击 167
4.9.3 暴力破解漏洞代码分析 168
4.9.4 暴力破解漏洞修复建议 169
4.10 命令执行 169
4.10.1 命令执行漏洞介绍 169
4.10.2 命令执行漏洞攻击 169
4.10.3 命令执行漏洞代码分析 171
4.10.4 命令执行漏洞修复建议 171
4.11 逻辑漏洞挖掘 171
4.11.1 逻辑漏洞介绍 171
4.11.2 逻辑漏洞:越权访问攻击 173
4.11.3 逻辑漏洞:越权访问代码分析 173
4.11.4 逻辑漏洞:越权访问修复建议 175
4.12 XXE漏洞 175
4.12.1 XXE漏洞介绍 175
4.12.2 XXE漏洞攻击 176
4.12.3 XXE漏洞代码分析 177
4.12.4 XXE漏洞修复建议 177
4.13 WAF的那些事 177
4.13.1 WAF的介绍 177
4.13.2 WAF判断 178
4.13.3 一些WAF绕过方法 180
第5章 Metasploit技术
5.1 Metasploit简介 184
5.2 Metasploit基础 186
5.2.1 专业术语 186
5.2.2 渗透攻击步骤 187
5.3 主机扫描 187
5.3.1 使用辅助模块进行端口扫描 187
5.3.2 使用辅助模块进行服务扫描 189
5.3.3 使用Nmap扫描 189
5.4 漏洞利用 191
5.4.1 对Linux机器的渗透攻击 191
5.5 后渗透攻击:信息收集 196
5.5.1 进程迁移 196
5.5.2 系统命令 198
5.5.3 文件系统命令 204
5.6 后渗透攻击:权限提升 206
5.6.1 利用WMIC实战ms16_032本地溢出漏洞 211
5.6.2 令牌窃取 213
5.6.3 Hash攻击 216
5.7 后渗透攻击:移植漏洞利用代码模块 226
5.7.1 NSA“永恒之蓝”Windows版MS17-010漏洞利用代码模块 226
5.8 后渗透攻击:后门 230
5.8.1 操作系统后门 230
5.8.2 Web后门 234
5.9 内网攻击域渗透测试实例 239
5.9.1 介绍渗透环境 239
5.9.2 提升权限 239
5.9.3 信息收集 242
5.9.4 获取一台服务器的权限 244
5.9.5 PowerShell寻找域管在线服务器 248
5.9.6 获取域管权限 249
5.9.7 登录域控制 252
5.9.8 SMB爆破内网 254
5.9.9 清理日志 256
第6章 PowerShell攻击指南
6.1 PowerShell技术 258
6.1.1 PowerShell简介 258
6.1.2 PowerShell的基本概念 260
6.1.3 PowerShll的常用命令 261
6.2 PowerSploit 263
6.2.1 PowerSploit的安装 263
6.2.2 PowerSploit脚本攻击实战 265
6.2.3 PowerUp攻击模块讲解 272
6.2.4 PowerUp攻击模块实战演练 281
6.3 Empire 289
6.3.1 Empire简介 289
6.3.2 Empire的安装 289
6.3.3 设置监听 290
6.3.4 生成木马 293
6.3.5 连接主机及基本使用 304
6.3.6 信息收集 308
6.3.7 权限提升 317
6.3.8 横向渗透 322
6.3.9 后门 328
6.3.10 Empire反弹回Metasploit 331
6.4 Nishang 332
6.4.1 Nishang简介 332
6.4.2 Nishang模块攻击实战 336
6.4.3 PowerShell隐藏通信隧道 342
6.4.4 WebShell后门 345
6.4.5 权限提升 346
第7章 实例分析
7.1 代码审计实例分析 364
7.1.1 SQL注入漏洞 364
7.1.2 文件删除漏洞 366
7.1.3 文件上传漏洞 367
7.1.4 添加管理员漏洞 373
7.1.5 竞争条件漏洞 378
7.2 渗透测试实例分析 380
7.2.1 后台爆破 380
7.2.2 SSRF+Redis获得WebShell 383
7.2.3 旁站攻击 388
7.2.4 重置密码 391
7.2.5 SQL注入 393
目录(暂定版)
第一章.内网渗透基础
1.1 内网基础知识
1.1.1 工作组
1.1.2 域
1.1.3 活动目录(AD)
1.1.4 DC和AD区别
1.1.5 安全域划分
1.1.6 域中计算机分类
1.1.5 域内权限解读
1.2 攻击主机环境及常用工具
1.2.1 虚拟机的安装
1.2.2 Linux渗透测试平台及常用工具
1.2.3 Windows渗透测试平台及常用工具
1.2.4 Windows下PowerShell基础知识
1.2.5 PowerShell的执行策略
1.3 内网环境构建
1.3.1 域环境搭建
1.3.2 其他服务器环境搭建
第二章.内网探测
2.1 内网信息收集第三章.隐藏通信隧道技术
3.1 通信隧道概述第四章.本机权限的提升
4.1 GPP在内网域环境中的利用(组策略首选项)第五章.域内横向渗透
5.1 拥有本地管理员权限或域管理员权限第六章.权限维持
6.1 操作系统后门
第一章 内网渗透基础
1.1内网基础知识
1.1.1工作组
1.1.2域
1.1.3 活动目录
1.1.4 DC和AD的区别
1.1.5 安全域划分
1.1.6 域中计算机分类
1.1.7 域内权限解读
1.2攻击主机平台及常用工具
1.2.1虚拟机的安装
1.2.2 Kali Linux渗透测试平台及常用工具
1.2.3 Windows渗透测试平台及常用工具
1.2.4 Windows下PowerShell基础知识介绍
1.2.5 PowerShell的基本概念
1.2.6 PowerShll的常用命令
1.3内网环境构建
1.3.1 域环境搭建
1.3.2 其他服务器环境搭建
第二章 信息收集
2.1内网信息收集概述
2.2 本机信息收集
2.2.1 手动信息收集
2.2.2 自动信息收集
2.2.3 Empire下主机信息收集
2.3 查询当前权限
2.4 判断是否有域
2.5 域内存活主机探测
2.5.1 利用netbios快速探测内网
2.5.2 利用 icmp 协议快速探测内网
2.5.3通过 arp 扫描完整探测内网
2.5.4常规tcp/udp端口扫描探测内网
2.6域内端口扫描
2.6.1 利用telnet命令扫描
2.6.2 S扫描器
2.6.3 Metasploit端口扫描
2.6.4 PowerSploit 下Invoke-portscan.ps1模块
2.6.5 Nishang下Invoke-PortScan模块
2.6.6 端口banner信息
2.7 域内基础信息收集
2.8 域内控制器的查找
2.9域内用户和管理员的获取
2.9.1查询所有域用户列表
2.9.2 查询域管理员用户组
2.10定位域管理员
2.10.1域内定位管理员概述
2.10.2常用管理员定位工具
2.11 查找域管理进程
2.11.1本机检查
2.11.2 查询域控制器的域用户会话
2.11.3 扫描远程系统上运行的任务
2.11.4 扫描远程系统上NetBIOS信息
2.12 模拟域管理员方法简介
2.13利用PowerShell收集域信息
2.14 域渗透分析工具BloodHound
2.15 敏感资料/数据/文件定位收集
2.15.1 资料/数据/文件定位流程
2.15.2 定位内部人事组织结构
2.15.3 重点核心业务机器及敏感信息收集
2.15.4 应用与文件形式的信息收集
2.16域内网段划分信息及拓扑架构分析
2.16.1目标主机基本架构的判断
2.16.2 域内网段划分信息
2.16.3 多层域结构分析
2.16.4 绘制内网拓扑图
第三章 隐藏通信隧道技术
3.1 隐藏通信隧道基础知识
3.1.1 隐藏通信隧道概述
3.1.2 内网连通性判断
3.2 网络层隧道
3.2.1 IPv6隧道
3.2.2 ICMP隧道
3.3 传输层隧道技术
3.3.1 lcx端口转发
3.3.2 netcat
3.3.3 PS Powercat
3.4 应用层隧道技术
3.4.1 SSH协议
3.4.2 HTTP协议
3.4.3 DNS协议
3.5 socks代理
3.5.1 常用socks代理工具介绍
3.6 socks代理技术在各种网络环境的实际应用
3.6.1 Earthworm在各类网络环境中的实际应用
3.6.2 Windows下使用sockscap64实现内网漫游
3.6.3 LINUX下使用proxychains实现内网漫游
3.7 压缩目标机器数据
3.7.1 Rar
3.7.2 7zip
3.8 上传及下载
3.8.1 利用ftp协议上传
3.8.2 利用vbs上传
3.8.3 利用debug上传
3.8.4 利用Bitsadmin下载
3.8.5 利用Powershell下载
3.8.6 利用Nishang上传
第四章 权限提升
4.1 系统内核漏洞溢出提权
4.1.1 手动命令发现缺失补丁
4.1.2 利用Metasploit模块发现缺失补丁
4.1.3 Windows Exploit Suggester
4.1.4 利用PowerShell-Sherlock脚本
4.2 Windows错误系统配置
4.2.1 系统服务错误权限配置(可写目录漏洞)
4.2.2 注册表键AlwaysInstallElevated
4.2.3 可信任服务路径(包含空格且没有引号的路径)漏洞
4.2.4 自动安装配置文件
4.2.5 计划任务
4.2.6 Empire内置模块
4.3 组策略首选项(GPP)
4.3.1 组策略首选项(GPP)提权简介
4.3.2组策略首选项(GPP)实战演示
4.4 绕过用户控制(UAC)
4.4.1 User Account Control(uac)简介
4.4.2 bypassuac绕过UAC
4.4.3 RunAs绕过UAC
4.4.4 Nishang下Invoke-PsUACme模块绕过UAC
4.4.5 Empire下Bypass UAC模块
4.5 令牌窃取
4.5.1 令牌窃取本地提权
4.5.2 Rotten Potato本地提权
4.5.3 令牌窃取添加域管理员
4.5.4 Empire下令牌窃取
4.6 无凭证条件下的权限获取
4.6.1 LLMNR和NetBIOS欺骗攻击基本概念
4.6.2使用Responder进行LLMNR和NetBIOS欺骗攻击
第五章 横向移动
5.1 常用windows远程连接和执行命令介绍
5.1.1 ipc连接
5.1.2Windows自带工具获取远程主机信息
5.1.3计划任务
5.2Windows系统HASH获取
5.2.1 LM&NTLM Hash简介
5.2.2单机密码抓取
5.2.3 Hashcat离线破解LM&NTLM Hash明文密码
5.2.4如何防御抓取密码明文和Hash
5.3哈希传递攻击PTH(Pass the Hash)
5.3.1 PTH的概念及渗透流程
5.3.2 Pass The Hash的攻击原理
5.3.3 PTH在更新kb2871997补丁后的影响
5.4票据传递攻击PTT (Pass the Ticket)
5.4.1使用mimikatz进行PTT攻击
5.4.2使用kekeo进行PTT攻击
5.5使用Psexec进行横向渗透
5.5.1 PsTools工具包中Psexec
5.5.2 Metasploit中的Psexec模块
5.6使用WMI进行横向渗透
5.6.1 wmic基本命令
5.6.2 impackets工具包中的wmiexec
5.6.3 wmiexec.vbs
5.6.4 Invoke-WmiCommand
5.6.5 Invoke-WMIMethod
5.7永恒之蓝(MS17-010)漏洞利用
5.8利用smbexec进行横向渗透
5.8.1 c++版smbexec
5.8.2 impacket工具包中的smbexec.py
5.9Linux跨Windows远程命令执行
5.9.1 Smbexec Tools
5.10利用DCOM在远程系统执行命令
5.10.1 本地DCOM执行命令
5.10.2 使用DCOM在远程机器执行命令
5.11 SPN在域环境中的利用
5.11.1 SPN扫描
5.11.2 Kerberos TGS票据离线破解(Kerberoast)
5.12 Exchange邮件服务器渗透
5.12.1 Exchange Server介绍
5.12.2 Exchnage服务发现
5.12.3 Exchange基本操作
5.12.4 实战使用导出指定邮件
第六章 攻击域控
6.1使用VSS卷影副本提取ntds.dit
6.1.1 ntdsutil工具提取
6.1.2 vssadmin工具提取
6.1.3 vssown.vbs脚本提取
6.1.4 使用NTDSUTIL的IFM创建卷影副本
6.1.5 使用diskshadow导出ntds.dit
6.2 导出ntds.dit中HASH
6.2.1 使用esedbexport恢复ntds.dit
6.2.2 使用impacket工具包导出Hash
6.2.3 Windows下解析ntds.dit导出域账号及域Hash
6.3利用Dcsync获取域用户Hash
6.3.1 Mimikatz转储域Hash
6.3.2 Powershell脚本DCsync获取域账号及域Hash
6.4 metasploit获取域Hash
6.5 vshadow.exe+QuarksPwDump.exe快速导出域账号及域Hash
6.6 kerberos- MS14-068(kerberos域用户提权)
6.6.1 利用Kerberos提权的常用方法介绍
6.6.2 Pykek工具包
6.6.3 goldenPac.py
6.6.4 metasploit中利用ms14-068攻击域控制器
第七章 跨域攻击
7.1 跨域攻击的方法简介
7.2 利用域信任关系跨域攻击
7.2.1域信任关系简介
7.2.2 获取域信息
7.2.3 利用域信任密钥获取目标域权限
7.2.4 利用krbtgt哈希获取目标域权限
7.2.5 外部信任和林信任的利用
7.2.6 利用无约束委派+ MS-RPRN获取信任林权限
第八章 权限维持
8.1操作系统后门
8.1.1 粘滞键后门
8.1.2 注册表注入后门
8.1.3 计划任务后门
8.1.4 Meterpreter后门
8.1.5 Cymothoa后门
8.1.6 WMI型后门
8.2 Web后门
8.2.1 Nishang下的WEBSHELL
8.2.2 weevely后门
8.2.3 webacoo后门
8.2.4 Aspx Meterpreter后门
8.2.5 PHP Meterpreter后门
8.3 域控权限持久化
8.3.1 DSRM域后门
8.3.2 SSP维持域控权限
8.3.3 SID History域后门
8.3.4 Golden Ticket(黄金票据)
8.3.5 白银票据(Silver Tickets)
8.3.6 万能密码(Skeleton Key)
8.3.7 Hook PasswordChangeNotify
8.4 NISHANG下脚本后门
第九章 Cobalt Strike
9.1 安装Cobalt Strike
9.1.1 安装java运行环境
9.1.2 部署teamserver
9.2 启动Cobalt Strike
9.2.1 启动cobaltstrike
9.2.2 利用Cobalt Strike获取第一个beacon
9.3 Cobalt Strike模块详解
9.3.1 Cobalt Strike模块
9.3.2 View模块
9.3.3 Attacks模块
9.3.4 Reporting模块
9.4 Cobalt Strike实战功能详解
9.4.1 监听模块实战利用
9.4.2 Cobalt Strike反弹到Metasploit
9.4.3 Web Delivery模块实战
9.4.4 Web Delivery模块实战
9.4.5 Payload模块
9.4.6 后渗透模块:
9.5 Cobalt Strike常用命令
9.5.1 CobaltStrike基本命令
9.5.2 Beacon操作常用命令
9.6 Aggressor Script编写实战
9.6.1 Aggressor Script简介
9.6.2 Aggressor Script语言基础
第1章 渗透测试之信息收集
1.1 常见的Web渗透信息收集方式第2章 漏洞环境
2.1 安装Docker第3章 常用的渗透测试工具
3.1 SQLMap详解第4章 Web安全原理剖析
4.1 暴力破解漏洞第5章 WAF绕过
5.1 WAF那些事儿第6章 实用渗透技巧
6.1 针对云环境的渗透第7章 实战代码审计
7.1 代码审计的学习路线第8章 Metasploit和PowerShell技术实战
8.1 Metasploit技术实战第9章 实例分析
9.1 代码审计实例分析第1章 渗透测试概述篇
1.1 信息安全发展史
1.1.1 互联网的起源
1.2 信息安全服务行业的现状
1.2 渗透测试基本流程
1.4 渗透测试的基本流程
1.5 小结
第2章 Python语言基础篇
2.1 Python环境搭建
2.1.1 Windows系统下的安装
2.1.2 Linux系统下的安装
2.2 编写第一个python程序
2.3 Python模块的安装与使用
2.3.1 Python扩展库的安装
2.3.2 Python模块的导入与使用
2.4 Python序列
2.4.1 列表
2.4.2 元组
2.4.3 字典
2.4 Python控制结构
2.4.1 选择结构
2.4.2循环结构
2.5 文件处理
2.6 异常处理结构
2.7 Socket网络编程
2.8 可执行文件的生成
2.8.1 Window系统下的生成
2.8.2 Linux系统下的生成
2.9 小结
第3章 渗透测试框架篇
3.1 Pocsuite框架
3.1.1功能介绍
3.1.2安装Pocsuite
3.1.3使用Pocsuite
3.2 POC脚本编写
3.3 EXP脚本编写
3.4小结
第4章 信息搜集篇
4.1被动信息搜集
4.1.1 DNS解析
4.1.2 子域名挖掘
4.1.3 邮件爬取
4.2 主动信息收集
4.2.1基于ICMP主机发现
4.2.2基于TCP、DUP主机发现
4.2.3 基于ARP主机发现
4.2.4 端口探测
4.2.5 服务识别
4.2.6 系统识别
4.2.7敏感目录探测
4.3 小结
第5章 漏洞检测与防御篇
5.1 未授权访问漏洞
5.1.1 redis未授权访问简介
5.1.2 redis未授权访问利用
5.1.3 redis未授权访问检测
5.1.4redis未授权访问的防御策略
5.2 外部实体注入漏洞与防御
5.2.1外部实体注入漏洞简介
5.2.2外部实体注入漏洞检测
5.2.3外部实体注入漏洞防御策略
5.3 Sql盲注漏洞
5.3.1 Sql盲注简介
5.3.2 布尔型Sql盲注检测
5.3.3 时间型Sql盲注检测
5.3.4 Sql注入防御
5.4 SQLMap Tamper脚本
5.4.1 SQLMap及Tamper脚本简介
5.4.2 Tamper脚本的编写(一)
5.4.3 Tamper脚本的编写(二)
5.5 服务端请求伪造漏洞
5.5.1 服务端请求伪造简介
5.5.2 服务端请求伪造检测
5.5.3 服务端请求伪造防御
5.6网络代理
5.6.1 网络代理的简介
5.6.2 网络代理的使用
5.7小结
第6章 数据加解密篇
6.1 常见的加密算法
6.1.1对称加密算法
6.1.2非对称加密算法
6.1.3分组密码工作模式
6.2 PyCrytodome库函数
6.3 Base64编码
6.3.1 Base64编码原理
6.3.2 Python实现Base64编码
6.4 DES加密算法
6.4.1 DES加密原理
6.4.2 Python实现DES加解密
6.5 AES加密算法
6.5.1 AES加密原理
6.5.2 Python实现AES加解密
6.6 MD5加密算法
6.6.1 MD5加密原理
6.6.2 Python实现MD5加密
6.7小结21
第7章 暴力破解篇
7.1社会工程学密码字典
7.1.1社工字典的生成
7.1.2社工字典的防御
7.2后台弱口令爆破
7.2.1后台弱口令爆破脚本
7.2.2后台弱口令爆破的防御
7.3SSH暴力破解
7.3.1SSH爆破脚本
7.3.2SSH爆破的防御
7.4FTP暴力破解
7.4.1FTP爆破脚本
7.4.2FTP爆破的防御
7.5小结
第8章 模糊测试篇
8.1FUZZ模糊测试
8.2FUZZ绕过安全狗
8.3FUZZ绕过安全狗的优化
8.4FUZZ结合WebShell
8.5FUZZ工具介绍
8.5.1浏览器模糊测试工具BFuzz
8.5.2XSS模糊测试工具XSStrike
8.5.3Sulley模糊测试框架
8.6小结
第9章流量分析篇
9.1流量嗅探
9.1.1流量嗅探原理
9.1.2流量嗅探工具编写
9.2ARP毒化
9.2.1ARP毒化原理
9.2.2ARP毒化工具的编写
9.2.3ARP毒化防御
9.3拒绝服务攻击
9.3.1数据链路层拒绝服务攻击
9.3.2网络层拒绝服务攻击
9.3.3传输层拒绝服务攻击
9.3.4应用层拒绝服务攻击
9.3.5拒绝服务攻击防御
9.4小结
第10章python免杀技术篇
10.1shellcode执行与可执行文件生成
10.2免杀处理
10.3CobaltStrike使用及拓展
10.4小结
第11远控工具篇
11.1远程控制工具简介
11.2远程控制的基础模块
11.3被控端的编写
11.4控制端的编写
11.5远程控制工具的演示
11.6小结
第一章 初识Java代码审计
1.1代码审计的意义
1.2 Java代码审计的所需基础
1.3代码审计的常用思路
第二章 代码审计环境搭建
2.1 JDK的下载与安装
2.1.1 JDK的下载
2.1.2 JDK的安装
2.1.3 添加JDK到系统环境
2.2 Docker容器编排
2.2.1 Docker基本原理及操作
2.2.2 使用Vulhub快速搭建漏洞验证环境
2.3 远程调试
2.3.1 对Weblogic进行远程调试
2.3.2 对Tomcat进行远程调试
2.3.3 Vmware虚拟机搭建远程调试环境
2.4 项目构建工具
2.4.1 Maven基础知识及掌握
2.4.2 Swagger特点及使用
第三章 代码审计辅助工具
3.1 代码编辑器
3.1.1 Sublime
3.1.2 IDEA
3.1.3 Eclipse
3.2 测试工具
3.2.1 Burp Suite
3.2.2 SwitchyOmega
3.2.3 Max Hacker Bar
3.2.4 Postman
3.2.5 Postwomen
3.2.6 TamperData
3.2.7 Ysoserial
3.2.8 marshalsec
3.2.9 Mysql 监视工具
3.2.10 Beyond Compare
3.3 反编译工具
3.3.1 JD-GUI
3.3.2 FernFlower
3.3.3 CRF
3.3.4 IntelliJ IDEA
3.4 Java代码静态扫描工具
3.4.1 Fortify SCA
3.4.2 VCG
3.4.3 FindBugs与FindSecBugs插件
3.4.4 SpotBugs
3.5 公开漏洞查找平台
3.5.1 CVE(http://cve.mitre.org/)
3.5.2 NVD(https://nvd.nist.gov/)
3.5.3 CNVD(https://www.cnvd.org.cn/)
3.5.4 CNNVD(http://www.cnnvd.org.cn/)
3.6 小结
第四章 Java EE基础知识补充
4.1 Java EE 分层模型
4.1.1 Java EE的核心技术
4.1.2 Java EE分层模型
4.2 了解MVC模式与MVC框架
4.2.1 Java MVC 模式
4.2.2 Java MVC框架
4.3 Java Web的核心技术——Servlet
4.3.1 Servlet 的配置
4.3.2 Servlet 的访问流程
4.3.3 Servlet 的接口方法
4.3.4 Servlet 的生命周期
4.4 Java Web 过滤器——filter
4.4.1 filter 的配置
4.4.2 filter 的使用流程及实现方式
4.4.3 filter 的接口方法
4.4.4 filter 的生命周期
4.5 Java反射机制
4.5.1 什么是反射
4.5.2 反射的用途
4.5.3 反射的基本运用
4.5.4 不安全的反射
4.6 ClassLoader类加载机制
4.6.1 ClassLoader类
4.6.2 loadClass()方法的流程
4.6.3 自定义的类加载器
4.6.4 loadClass()方法和Class.forName的区别
4.6.5 URLClassLoader
4.7 Java动态代理
4.7.1 静态代理
4.7.2 动态代理
4.7.3 CGLib 代理
4.8 Javassist动态编程
4.9 可用于JavaWeb的安全开发框架
4.9.1 Spring Security
4.9.2 Apache Shiro
4.9.3 OAuth2.0
4.9.4 JWT
第五章 “OWASP Top10 2017”漏洞的代码审计
5.1注入
5.1.1 漏洞简介
5.1.2 SQL注入
5.1.3 命令注入
5.1.4 代码注入
5.1.5 表达式注入
5.1.6 模板注入
5.1.7 小结
5.2失效的身份认证
5.2.1 漏洞简介
5.2.2 Webgoat8 JWT Token猜解实验
5.2.3 小结
5.3敏感信息泄露
5.3.1 漏洞简介
5.3.2 TurboMail 5.2.0敏感信息泄露漏洞
5.3.3 开发组件敏感信息泄露漏洞
5.3.4小结
5.4 XML 外部实体注入(XXE)
5.4.1 漏洞简介
5.4.2 读取系统文件
5.4.3 DoS攻击
5.4.4 Blind XXE
5.4.5 修复案例
5.4.6小结
5.5 失效的访问控制
5.5.1 漏洞简介
5.5.2 横向越权
5.5.3 纵向越权
5.5.4 小结
5.6 安全配置错误
5.6.1 漏洞简介
5.6.2 Tomcat 任意文件写入(CVE-2017-12615)
5.6.3 Tomcat AJP 文件包含漏洞(CVE-2020-1938)
5.6.4 Spring Boot 远程命令执行
5.6.5 小结
5.7 跨站脚本(XSS)
5.7.1 漏洞简介
5.7.2 反射型XSS
5.7.3 存储型XSS
5.7.4 DOM型XSS
5.7.5 修复建议
5.7.6小结
5.8 不安全的反序列化
5.8.1漏洞简介
5.8.2 反序列化基础
5.8.3漏洞产生的必要条件
5.8.4 反序列化拓展
5.8.5 Apache Commons Collections反序列化漏洞
5.8.6 FastJSON反序列化漏洞
5.8.7小结
5.9 使用含有已知漏洞的组件
5.9.1漏洞简介
5.9.2 Weblogic中组件的漏洞
5.9.3 富文本编辑器漏洞
5.9.4小结
5.10 不足的日志记录和监控
5.10.1漏洞简介
5.10.2 CRLF 日志注入
5.10.3未记录可审计性事件
5.10.4对日志记录和监控的安全建议
5.10.5小结
第六章 “OWASP Top10 2017”之外常见漏洞的代码审计
6.1 CSRF
6.1.1 CSRF简介
6.1.2 实际案例及修复方式
6.1.3 小结
6.2 SSRF
6.2.1 SSRF简介
6.2.2实际案例及修复方式
6.2.3小结
6.3 URL跳转与钓鱼
6.3.1 URL 跳转漏洞简介
6.3.2 实际案例及修复方式
6.3.3 小结
6.4 文件操作
6.4.1 简介
6.4.2漏洞发现与修复案例
6.4.3 小结
6.5 Web后门
6.5.1 简介
6.5.2 Java Web 后门案例讲解
6.5.3 小结
6.6 逻辑漏洞
6.6.1 简介
6.6.2 漏洞发现与修复案例
6.6.3 小结
6.7 前端配置不当
6.7.1 简介
6.7.2 漏洞发现与修复案例
6.7.3 小结
6.8 拒绝服务攻击
6.8.1 简介
6.8.2 漏洞发现与修复案例
6.8.3 小结
6.9 点击劫持漏洞
6.9.1 简介
6.9.2 漏洞发现与修复案例
6.9.3 小结
6.10 HTTP参数污染
6.10.1 简介
6.10.2 漏洞发现与修复案例
6.10.3 小结
第七章 Java EE开发框架安全审计
7.1 开发框架审计技巧简介
7.1.1 SSM框架审计技巧
7.1.2 Struts2框架审计技巧
7.1.3 SpringBoot框架审计技巧
7.2 开发框架使用不当范例(Struts2 远程代码执行)
第八章 JSPXCMS代码审计实战
8.1 JSPXCMS简介
8.2 安装
8.2.1 安装环境需求
8.2.2 安装步骤
8.3 目录结构及功能说明
8.3.1 目录结构
8.3.2 功能说明
8.4 第三方组件漏洞审计
8.5 单点漏洞审计
8.5.1 SQL 审计
8.5.2 XSS 审计
8.5.3 SSRF 审计
8.5.4 RCE 审计
8.6 本章总结
第九章 小话IAST与RASP
9.1 IAST简介
9.2 RASP简介
9.3 单机版OpenRASP Agent实验探究
9.3.1 实验环境
9.3.2 实验过程
9.4 OpenRASP Java Agent原理浅析
9.5 本章小结
附录 Java安全编码规范索引