内容简介
渗透测试业务整体流程理解
咨询业务经验、技巧及项目经理必备知识
Kali Linux Live CD与BackTrack工具分析简易方法
利用Kali Linux与BackTrack的诊断业务强化方案
攻击者角度的技术技巧与实际管理业务中的有效应对方案
利用BackTrack进行渗透测试的基础知识
Kali Linux与BackTrack的比较
利用Kali Linux进行渗透测试深化诊断的方法
目录
第1章 认识渗透测试的业务流程 1
1.1 渗透测试的定义 1
1.2 执行访问的方法 2
1.3 进行渗透测试的业务范围 3
1.4 检查清单 12
1.5 项目投标阶段 13
1.6 范围和对象选定阶段 15
1.7 环境信息收集阶段 17
1.8 深化渗透测试攻击和编写报告阶段 18
1.9 小结 19
第2章 认识BackTrack 20
2.1 BackTrack的定义 20
2.2 BackTrack V5的变化 21
2.3 Kali Linux登场 21
2.4 安装BackTrack 31
2.5 安装Kali Linux 38
2.5.1 安装到虚拟机 39
2.5.2 安装到硬盘 41
2.5.3 安装Windows和双启动模式 47
2.6 在智能手机上安装BackTrack 60
2.6.1 准备安装 60
2.6.2 安装 62
2.6.3 BackTrack的启动和结束 64
2.7 构建检测对象环境 70
2.7.1 应用metasploitable V2 70
2.7.2 DVL 73
2.7.3 云测试环境服务 74
2.7.4 其他测试环境 74
2.8 小结 75
第3章 信息收集阶段 76
3.1 主机查看过程 76
3.1.1 收集DNS信息 76
3.1.2 查看真实主机 88
3.2 网络扫描过程 102
3.2.1 Netifera:查看网络/服务信息 102
3.2.2 autoscan:查看详细服务信息 106
3.2.3 Unicornscan:收集网络信息 110
3.2.4 scapy:网络数据包操作 113
3.3 小结 119
第4章 信息收集详细阶段 120
4.1 收集服务信息 120
4.1.1 Nmap:查看服务漏洞信息 120
4.1.2 利用Nmap NSE深化诊断 125
4.1.3 Dnmap:分布式Nmap 151
4.1.4 httprint:收集网络服务信息 155
4.1.5 dmitry:收集主机信息 159
4.2 查看IDS/IPS是否已启用 160
4.2.1 Waffit:查看网络应用防火墙是否已启用 161
4.2.2 UA-tester:收集网络服务信息 162
4.3 利用搜索服务收集信息 165
4.3.1 GHDB:谷歌搜索工具 165
4.3.2 metagoofil:利用谷歌搜索收集文件 169
4.3.3 goofile:利用谷歌搜索收集文件 179
4.3.4 goohost:利用谷歌搜索收集服务信息 181
4.3.5 fimap:利用谷歌搜索收集信息并攻击 182
4.3.6 利用谷歌搜索进行防御 185
4.4 小结 186
第5章 漏洞评估阶段 187
5.1 收集服务漏洞 187
5.1.1 DirBuster:查看目录结构 187
5.1.2 mantra:利用网络浏览器插件收集信息 192
5.1.3 Nessus:收集和评估服务漏洞 195
5.1.4 Nikto:收集和评估服务漏洞 208
5.2 诊断CMS服务漏洞 211
5.2.1 joomscan:收集服务漏洞信息 211
5.2.2 WPScan:收集服务漏洞信息 213
5.2.3 WordPress安全设置 216
5.2.4 WhatWeb:收集服务信息 238
5.3 小结 240
第6章 漏洞诊断阶段 241
6.1 深化攻击工具 241
6.1.1 metasploit:诊断框架 241
6.1.2 Fasttrack:自动攻击工具 290
6.1.3 Fasttrack GUI:自动攻击工具 297
6.1.4 Exploit-DB:收集漏洞信息 297
6.2 查看是否为已获认证的通信 299
6.2.1 SSLScan:查看通信是否已加密 299
6.2.2 digicert:查看是否已适用SSL认证书 301
6.3 数据库漏洞诊断 302
6.3.1 SQLmap:获取数据库信息 302
6.3.2 sqlsus:把握数据库结构 317
6.4 社会工程学攻
摘要与插图
第1 章 认识渗透测试的业务流程应用BackTrack工具之前,我们先来认识一下“渗透测试业务”。BackTrack同样也有进行渗透测试的方法和流程,而且构成了属于自己的工具。因此,事先了解实际业务中可能发生的部分,应该有助于以后的学习。
先了解一下有关渗透测试的整个流程。个人认为,担任项目经理之前阅读本书大有裨益。我们想借助在以往的咨询业务和目前的实际业务管理(应对侵权事故、技术性业务诊断、安全设备管理等)中获得的经验,尽可能通俗易懂地进行讲解。虽然部分内容在我已出版的书中有所涉及,不过本书涵盖了当时未能提及的部分。
本书中讲述的内容是我个人的主观感受,希望读者们阅读此书时具体情况具体分析。
1.1 渗透测试的定义
渗透测试的字典释义是“penetration”。于是,“渗透测试”“模拟入侵”“模拟诊断”等均具有了相同含义。不过写报告的时候因人而异,可能会使用不同的术语。个人认为,对客户而言,“渗透测试”的含义应该更恰当些。考虑到读者对以上术语的熟悉程度,决定采用书名中使用的“渗透测试”进行讲解。
一般被人们称为“骇客”“黑帽黑客”的人会恶意渗透到未被授权的系统中,对系统进行干扰,或者把他们使用的攻击技术同样映射到系统中,事先找出漏洞,这些行为都属于“渗透测试”。即使每一个服务或功能都具有相同的漏洞,访问的攻击技术各不相同也会导致方法不固定。
攻击时并不会只使用的攻击技术。不管攻击是发生在1990年还是2000年,都无法确定会使用何种攻击,所以只能根据当时的情况进行不同的适用。因此,不会因为攻击技术是过去的就从检测清单中排除掉。并不是“反映了的攻击技术”就是好的。
不管是构思具有创造性的方案,还是研究新的攻击技术,都需要学习过去的攻击技术。温故方能知新。我就经常看到一些新入职的朋友忽视基础,只注重技巧,令项目屡次发生问题。
总而言之,每个公司的咨询方法都不一致,并且对检测项目和检测表的威胁等也会有不同表现。攻击对象及范围是与客户协商后决定的。如果说人们一般将网络服务(网站)定为次检测对象,那么其对象范围会通过服务而逐步延伸到是否渗透到服务器、是否渗透到WAS、是否渗透到数据库,以及是否渗透到个人电脑。不过,因不能影响实际服务,所以实施每一个阶段都要与客户进行协调。
1.2 执行访问的方法
对渗透测试访问方法的检测大致可以分为4类,每一个方法基本分为两种:外部渗透测试和内部渗透测试。不过,通过下面的讲解,也可以说分为4类是合理的。
外部未获授权的人进入 简言之,就是利用网络服务、对外公开的服务等,在可从外部访问的区域服务内实现。简单理解为我们经常接触的网络服务就好。所以是局外人(在此意味着检测员、攻击者等)无需加入会员,只凭URL信息就能完成攻击的阶段。有些页面是无需获得认证也可以访问的。大部分公告事项的内容是全公开的,也有一部分就像加入会员,需要输入信息。
比较严重的是,没有获得认证的情况下访问管理员页面,轻松窃取用户的机密信息。我将这种访问过程定义为“外部未获授权的人进入”。
外部已获授权的人进入 如果访问上述区域后进行了攻击,却未发现漏洞,那么就应通过加入会员来检测没有访问过的区域。如果一直没能加入会员,应该就此罢手吗?如果是攻击者,很可能因为麻烦而就此罢手。不过咨询顾问要对服务进行全面的检测,所以不能这么做。此时,应向负责人申请普通账户信息后尽力执行。如与负责人协商后获得了满意的结果,应向对方充分说明潜在危险。
好了!获得认证后,就会转变成“外部已获授权的人进入”。对于普通会员可访