渗透测试(Penetration Testing)是一种通过模拟攻击者所采用的技术与方法,攻击目标系统的安全控制措施,并取得访问控制系统的安全测试方式。如果要进行渗透测试,必须有对应的工具。在Kali Linux中,集成了所有的渗透测试工具。本章将介绍渗透测试的基础知识,以及如何在各种设备上安装Kali Linux和远程连接Kali Linux等。本文选自《基于Android设备的Kali Linux渗透测试教程(内部资料)》
渗透测试并没有一个标准的定义。国外一些安全组织达成共识的通用说法是,渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。渗透测试的过程并非简单地运行一些扫描器和自动化工具,该过程中包括对系统的任何弱点、技术缺陷或漏洞的主动分析。这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。本文选自《基于Android设备的Kali Linux渗透测试教程(内部资料)》
渗透测试与其它评估方法不同。通常的评估方法是根据已知信息资源或其它被评估对象,去发现所有相关的安全问题。渗透测试也可以根据已知可利用的安全漏洞,去发现是否存在相应的信息资源。相比较而言,使用通常评估方法得到的评估结果更具有全面性,而渗透测试的更注重安全漏洞的严重性。渗透测试通常有七个阶段,如下所示:
q 前期交互阶段:该阶段通常是用来确定渗透测试的范围和目标的。本文选自《基于Android设备的Kali Linux渗透测试教程(内部资料)》
q 信息收集阶段:在该阶段需要采用各种方法来收集目标主机的信息,包括使用社交媒体网络、Google Hacking技术、目标系统踩点等。
q 威胁建模阶段:该阶段主要是使用信息收集阶段所获取到的信息,来标识出目标系统上可能存在的安全漏洞与弱点。
q 漏洞分析阶段:在该阶段将综合从前面几个环节中获取到的信息,从中分析和理解那些攻击途径是可行的。特别是需要重点分析端口和漏洞扫描结果,截取到服务的重要信息,以及在信息收集环节中得到的其它关键信息。
q 渗透攻击阶段:该阶段可能是在渗透测试过程中最吸引人的过程。然而在这种情况下,往往没有用户所预想的那么一帆风顺,而是曲径通幽。在攻击目标主机时,一定要清晰地了解在目标系统上存在这个漏洞。否则,根本无法攻击成功。本文选自《基于Android设备的Kali Linux渗透测试教程(内部资料)》
q 后渗透攻击阶段:该阶段在任何一次渗透过程中都是一个关键环节。该阶段将以特定的业务系统作为目标,识别出关键的基础设施,并寻找客户组织最具价值和尝试进行安全保护的信息和资产。
q 报告阶段:报告是渗透测试过程中最重要的因素,使用该报告文档可以交流渗透测试过程中做了什么、如何做的以及最为重要的安全漏洞与弱点。
到现在为止,大家已经对渗透测试的基本技术流程与环节有了一个初步的了解。接下来介绍一下渗透测试的两种基本类型,分别是黑盒测试和白盒测试。白盒测试有时也被称为“白帽子”,是指渗透测试者在拥有客户组织所有知识的情况下进行的测试;而黑盒测试是指对攻击主机一无所知的攻击者所进行的渗透测试。两种测试方法都拥有它们自己的优点和弱点。下面分别介绍详细介绍这两种类型。本文选自《基于Android设备的Kali Linux渗透测试教程(内部资料)》
1.白盒测试
使用白盒测试,需要和客户组织一起工作,来识别出潜在的安全风险。客户组织将会向用户展示它们的系统与网络环境。白盒测试最大的好处就是攻击者将拥有所有的内部知识,并可以在不需要害怕被阻断的情况下任意地实施攻击。而白盒测试的最大问题在于无法有效地测试客户组织的应急响应程序,也无法判断出它们的安全防护计划对检测特定攻击的效率。如果时间有限,或是特定的渗透测试环节(如信息收集并不在范围之内),那么白盒测试是最好的渗透测试方法。本文选自《基于Android设备的Kali Linux渗透测试教程(内部资料)》
2.黑盒测试
黑盒测试与白盒测试不同的是,经过授权的黑盒测试是设计成为模拟攻击者的入侵行为,并在不了解客户组织大部分信息和知识的情况下实施的。黑盒测试可以用来测试内部安全团队检测和应对一次攻击的能力。
黑盒测试是比较费时费力的,同时需要渗透测试者具备更强的技术能力。它依靠攻击者的能力通过探测获取目标系统的系统。因此,作为一次黑盒测试的渗透测试者,通常并不需要找出目标系统的所有安全漏洞,而只需要尝试找出并利用可以获取目标系统访问权代价最小的攻击路径,并保证不被检测到。本文选自《基于Android设备的Kali Linux渗透测试教程(内部资料)》
不论测试方法是否相同,渗透测试通常具有两个显著特点。
q 渗透测试是一个渐进的并且逐步深入的过程。
q 渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。本文选自《基于Android设备的Kali Linux渗透测试教程(内部资料)》