作 者:(美)乔治亚·魏德曼(Georgia Weidman) 著 范昊 译
定 价:118
出 版 社:人民邮电出版社
出版日期:2019年05月01日
页 数:460
装 帧:平装
ISBN:9787115508843
●第0章 渗透测试导论1
0.1渗透测试的各个阶段2
0.1.1明确需求阶段2
0.1.2信息收集阶段3
0.1.3威胁建模阶段4
0.1.4漏洞分析阶段4
0.1.5漏洞验证阶段4
0.1.6深度攻击阶段4
0.1.7书面汇报阶段5
0.2小结6
章 搭建虚拟渗透实验室7
1.1安装VMware7
1.2安装 Kali Linux8
1.2.1网络配置11
1.2.2安装 Nessus14
1.2.3安装其他软件18
1.2.4安装Android 模拟器20
1.2.5智能手机渗透测试框架24
1.3靶机虚拟机25
1.4创建Windows XP靶机25
1.4.1Microsoft Windows上的VMware Player26
1.4.2Mac OS上的VMware Fusion28
1.4.3安装并系统29
1.4.4安装VMware Tools32
1.4.5关闭Windows防火墙33
1.4.6设置用户密码34
1.4.7设置静态IP34
1.4.8调整网络登录模式36
1.4.9安装一些存在漏洞的软件37
1.4.10安装Imnity Debugger和Mona42
1.5安装Ubuntu 8.10 靶机44
1.6安装Windows 7 靶机44
1.6.1创建用户账号44
1.6.2关闭自动更新46
1.6.3设置静态IP地址47
1.安装第二块网卡47
1.6.5安装其他的软件48
1.7小结49
第2章 使用Kali Linux50
2.1Linux命令行50
2.2Linux文件系统51
2.3操作说明:查看参考手册的命令52
2.4用户权限53
2.4.1添加用户53
2.4.2把用户添加到sudoers文件中54
2.4.3切换用户与sudo命令54
2.4.4创建文件和目录55
2.4.5文件的复制、移动和删除55
2.4.6给文件添加文本56
2.4.7向文件附加文本56
2.5文件权限57
2.6编辑文件58
2.6.1字符串搜索59
2.6.2使用vi编辑文件59
2.7数据处理60
2.7.1grep60
2.7.2sed61
2.7.3使用awk进行模式匹配62
2.8软件包管理62
2.9进程和服务63
2.10网络管理63
2.10.1设置静态IP地址
2.10.2查看网络连接65
2.11Netcat——TCP/IP连接的瑞士军刀65
2.11.1连接端口66
2.11.2开放式shell67
2.11.3反弹式shell67
2.12使用cron进行定时任务68
2.13小结69
第3章编程71
3.1Bash脚本71
3.1.1ping71
3.1.2脚本编程72
3.1.3运行程序72
3.1.4if语句73
3.1.5for循环74
3.1.6提炼数据75
3.2Python编程77
3.2.1连接端口79
3.2.2Python中的if语句79
3.3编写和编译C语言程序80
3.4小结82
第4章使用Metasploit框架83
4.1启动Metasploit84
4.2查找Metasploit模块85
4.2.1在线的模块数据库86
4.2.2内置的搜索命令87
4.3设置模块选项90
4.3.1RHOST90
4.3.2RPORT91
4.3.3SMBPIPE91
4.3.4Exploit Target91
4.4有效载荷92
4.4.1查找可兼容的有效载荷92
4.4.2试运行94
4.5shell的种类95
4.5.1绑定型95
4.5.2反射型95
4.6手动设置有效载荷95
4.7Msfcli98
4.7.1查看帮助信息98
4.7.2查看可用选项98
4.7.3设置有效载荷99
4.8使用Msfvenom创建有效载荷100
4.8.1选取有效载荷101
4.8.2设定相关选项101
4.8.3选择输出格式101
4.8.4部署可执行文件102
4.8.5使用lti/Handler模块103
4.9使用辅助类模块104
4.10小结106
第5章信息收集108
5.1开源情报收集(OSINT)108
5.1.1Netcraft109
5.1.2whois110
5.1.3DNS侦查111
5.1.4收集邮件地址113
5.1.5Maltego114
5.2端口扫描117
5.2.1手动端口扫描118
5.2.2使用Nmap进行端口扫描119
5.3小结127
第6章漏洞检测128
6.1Nmap的版本检测功能128
6.2Nessus129
6.2.1扫描策略130
6.2.2使用Nessus进行扫描132
6.2.3漏洞评级135
6.2.4漏洞扫描器的必要性135
6.2.5导出Nessus的扫描结果136
6.2.6漏洞研究136
6.3Nmap脚本引擎(NSE)137
行单独的NSE脚本139
6.5Metasploit的扫描器模块141
6.6Metasploit漏洞检验功能142
6.7Web应用程序扫描143
6.7.1Nikto144
6.7.2攻击XAMPP145
6.7.3默认登录账号145
6.8人工分析146
6.8.1检测非标准端口146
6.8.2查找有效登录名148
6.9小结149
第7章流量捕获150
7.1流量捕获网络150
7.2Wireshark的使用151
7.2.1流量捕获151
7.2.2流量过滤153
7.2.3查看TCP会话154
7.2.4数据包解析155
7.3ARP缓存攻击155
7.3.1ARP基础156
7.3.2IP转发158
7.3.3ARP缓存攻击与Arpspoof159
7.3.4使用ARP缓存攻击冒充默认网关160
7.4DNS缓存攻击161
7.4.1入门163
7.4.2使用Dnsspoof163
7.5SSL攻击1
7.5.1SSL基础165
7.5.2使用Ettercap进行SSL中间人攻击165
7.6SSL Stripping167
7.7小结169
第8章漏洞利用171
8.1回顾MS08-067171
8.1.1Metasploit有效载荷172
8.1.2Meterpreter173
8.2利用WebDAV的默认口令174
8.2.1在目标Web服务器上执行脚本175
8.2.2上传Msfvenom有效载荷175
8.3攻击开源phpMyAdmin177
8.4下载敏感文件180
8.4.1下载配置文件180
8.4.2下载Windows SAM文件181
8.5利用第三方软件的缓存溢出漏洞182
8.6攻击第三方Web应用183
8.7攻击系统服务的缺陷186
8.8攻击开源NFS的漏洞186
8.9小结188
第9章密码攻击190
9.1密码管理190
9.2在线密码攻击191
9.2.1字典191
9.2.2使用Hydra猜测用户名和密码194
9.3离线密码攻击196
9.3.1还原Windows SAM文件中的密码哈希值197
9.3.2通过物理访问提取密码哈希值199
9.3.3LM与NTLM算法201
9.3.4LM哈希算法的局限201
9.3.5John the Ripper203
9.3.6破解Linux 密码205
9.3.7破解配置文件中的密码205
9.3.8彩虹表206
9.3.9在线密码破解服务206
9.4使用Windows Credential Editor提取内存中的密码明文206
9.5小结207
0章 客户端攻击208
10.1使用Metasploit有效载荷规避过滤规则209
10.1.1规避端口规则209
10.1.2HTTP和HTTPS有效载荷210
10.2客户端攻击211
10.2.1攻击浏览器漏洞212
10.2.2攻击PDF漏洞219
10.2.3攻击Java漏洞223
10.2.4browser_autopwn230
10.2.5Winamp232
10.3小结235
1章 社会工程学236
11.1SET237
11.2鱼式钓鱼攻击237
11.2.1选择有效载荷238
11.2.2选项设置239
11.2.3文件命名240
11.2.4单个邮箱或者批量地址240
11.2.5创建模板240
11.2.6设置收件人241
11.2.7设置会话受理端242
11.3Web攻击243
11.4群发邮件攻击245
11.5组合攻击248
11.6小结248
2章 规避病毒检测249
12.1木马程序249
12.2防病毒软件的工作原理252
12.3Microsoft Security Essentials252
12.4VirusTotal254
12.5规避防病毒软件的查杀255
12.5.1编码技术255
12.5.2交编译258
12.5.3Hyperion加密261
12.5.4使用Veil-Evasion规避防病毒软件检测262
12.6远在天边近在眼前的“隐藏”方法266
12.7小结266
3章 深度渗透268
13.1Meterpreter268
13.1.1upload命令269
13.1.2getuid命令270
13.1.3其他命令270
13.2Meterpreter脚本271
13.3Metasploit的深度渗透模块272
13.4Railgun274
13.5本地权限升级274
13.5.1面向Windows的getsystem命令275
13.5.2面向Windows的本地权限提升模块276
13.5.3绕过Windows上的UAC277
13.5.4Linux上的Udev权限提升278
13.6本地信息收集283
13.6.1搜索文件283
13.6.2键盘记录283
13.6.3收集密码284
13.net命令286
13.6.5另辟蹊径287
13.6.6Bash的历史文件287
13.7横向移动288
13.7.1PSExec288
13.7.2传递哈希值290
13.7.3SSHExec291
13.7.4冒用令牌293
13.7.5Incognito293
13.7.6SMB捕获294
13.8跳板297
13.8.1向Metasploit中添加路由298
13.8.2Metasploit端口扫描器299
13.8.3通过跳板执行漏洞利用300
13.8.4Socks4a和ProxyChains300
13.9持久化302
13.9.1添加用户302
13.9.2Metasploit持久化303
13.9.3创建Linux cron作业304
13.10小结305
4章 Web应用测试306
14.1使用Burp Proxy306
14.2SQL注入311
14.2.1检测SQL注入漏洞312
14.2.2利用SQL注入漏洞313
14.2.3SQLMap313
14.3XPath 注入315
14.4本地文件包含317
14.5远程文件包含319
14.6命令执行320
14.7跨站脚本攻击322
14.7.1检测反射型XSS漏洞322
14.7.2BeEF与XSS323
14.8跨站请求伪造327
14.9使用W3AF扫描Web应用328
14.10小结329
5章 攻击无线网络331
15.1配置331
15.1.1查看可用的无线网卡332
15.1.2扫描无线接入点332
15.2监听模式333
15.3捕获数据包334
15.4开放网络335
15.5有线等效加密335
15.5.1WEP的弱点338
15.5.2用Aircrack-ng破解WEP密钥338
15.6WPA342
15.7WPA2342
15.7.1企业架构网络的联网过程343
15.7.2个人架构网络的联网过程343
15.7.3四次握手343
15.7.4破解 WPA/WPA2密钥345
15.8WiFi保护设置348
15.8.1WPS的问题348
15.8.2用Bully 破解 WPS349
15.9小结349
6章 Linux栈缓冲区溢出350
16.1内存相关的理论350
16.2Linux 缓冲区溢出353
16.2.1程序漏洞实例353
16.2.2蓄意崩溃355
16.2.3运行GDB调试工具356
16.2.4引发程序崩溃361
16.2.5操纵EIP363
16.2.6命令劫持3
16.2.7小端字节序366
16.3小结367
7章 Windows系统的栈缓冲区溢出368
17.1检索War-FTP的已知漏洞369
17.2蓄意崩溃进程371
17.3寻找EIP373
17.3.1创建循环模式字符串,判断关键溢出点373
17.3.2验证偏移量377
17.4劫持执行程序379
17.5获取shell384
17.6小结389
8章 SEH覆盖390
18.1SEH覆盖391
18.2把控制传递给SEH395
18.3在内存中搜索攻击字符串396
18.4POP POP RET400
18.5SafeSEH401
18.6使用短跳转(short jump)405
18.7选用有效载荷406
18.8小结407
9章 模糊测试、代码移植及Metasploit模块409
19.1模糊测试409
19.1.1源代码审计法检测bug409
19.1.2模糊测试法审计TFTP服务器程序410
19.1.3引发崩溃411
19.2移植代码415
19.2.1查找返回地址418
19.2.2替换shellcode419
19.2.3编辑exploit419
19.3编写MSF模块421
19.3.1相似模块423
19.3.2移植代码424
19.4攻击缓解技术428
19.4.1Stack Cookie429
19.4.2地址空间布局随机化(ASLR)429
19.4.3数据执行保护(DEP)430
19.4.4强制代码签名机制430
19.5小结431
第20章 使用智能手机渗透测试框架432
20.1移动设备的攻击向量432
20.1.1短信433
20.1.2NFC433
20.1.3二维码433
20.2智能手机渗透测试框架434
20.2.1安装434
20.2.2Android模拟器436
20.2.3给移动设备添加调试解调器436
20.2.4建立Android App436
20.2.5部署被控端App437
20.2.6建立SPF会话438
20.3远程攻击440
20.4客户端攻击441
20.4.1客户端shell441
20.4.2USSD远程控制443
20.5恶意应用程序445
20.6移动平台的深度渗透测试451
20.6.1信息收集452
20.6.2远程遥控453
20.6.3用作跳板454
20.权限提升459
20.7小结460
所谓渗透测试是借助各种漏洞扫描工具,通过模拟黑客的攻击方法来对网络安全进行评估。《渗透测试:接近初学者指南》作为入门渗透测试领域的理想读物,全面介绍每一位渗透测试人员有必要了解和掌握的核心技巧与技术。本书分为20章,其内容涵盖了渗透测试实验室的搭建、Kali Linux的基本用法、编程相关的知识、Metasploit框架的用法、信息收集、漏洞检测、流量捕获、漏洞利用、密码攻击、客户端攻击、社会工程学、规避病毒检测、深度渗透、Web应用测试、攻击无线网络、Linux/Windows栈缓冲区溢出、SEH覆盖、模糊测试/代码移植及Metasploit模块、智能手机渗透测试框架的使用等。有别于其他图书的是,本书在这20章之外还增加了一个第0章,用来解释渗透测试各个阶段应该做的工作。《渗透测试:接近初学者指南》内容实用,理论与实战相互辅佐。读者借助于书中提及的各个工具,可复现每一个实验操作,加深对渗等
(美)乔治亚·魏德曼(Georgia Weidman) 著 范昊 译
Georgia Weidman是一位渗透测试专家和安全研究员,同时还是Bulb Security安全咨询公司的创始人。她不仅多次在Black Hat、ShamooCon和DerbyCon等世界各地的安全会议上发表演讲,而且还亲自传授渗透测试、移动破解和exploit开发等专业课程。世界各国的报纸和电视都曾报道过她在移动安全领域的研究成果。DARPA的Cyber Fast Track(信息化项目快速通道)曾为她的移动设备安全主题立项,并给予她专门的资金支持。