渗透测试 - 手动与自动化



手动渗透测试和自动化渗透测试都用于相同的目的。它们之间唯一的区别在于执行方式。顾名思义,手动渗透测试由人类(该领域的专家)执行,而自动化渗透测试由机器本身执行。

本章将帮助您了解这两个术语的概念、区别和适用性。

什么是手动渗透测试?

手动渗透测试是由人类执行的测试。在这种类型的测试中,机器的漏洞和风险由专家工程师进行测试。

通常,测试工程师执行以下方法 -

  • 数据收集 - 数据收集在测试中起着关键作用。可以手动收集数据,也可以使用在线免费提供的工具服务(例如网页源代码分析技术等)。这些工具有助于收集诸如表名、数据库版本、数据库、软件、硬件,甚至有关不同第三方插件等信息

  • 漏洞评估 - 收集数据后,它可以帮助测试人员识别安全弱点并相应地采取预防措施。

  • 实际利用 - 这是专家测试人员用来对目标系统发起攻击的典型方法,并且类似地降低了攻击风险。

  • 报告准备 - 渗透完成后,测试人员会准备一份最终报告,描述系统的所有信息。最后,分析报告以采取纠正措施来保护目标系统。

Manual Penetration Testing

手动渗透测试的类型

手动渗透测试通常分为以下两种方式 -

  • 聚焦手动渗透测试 - 这是一种更集中的方法,用于测试特定的漏洞和风险。自动化渗透测试无法执行此测试;它仅由检查给定域中特定应用程序漏洞的人类专家执行。

  • 全面手动渗透测试 - 通过测试相互连接的整个系统来识别各种风险和漏洞。但是,此测试的功能更多是情境的,例如调查多个低风险故障是否会导致更易受攻击的攻击场景等

什么是自动化渗透测试?

自动化渗透测试速度更快、效率更高、更容易且更可靠,可以自动测试机器的漏洞和风险。这项技术不需要任何专家工程师,任何对该领域了解最少的人都可以运行它。

自动化渗透测试的工具包括 Nessus、Metasploit、OpenVAs、backtract(系列 5)等。这些是非常有效的工具,改变了渗透测试的效率和意义。

但是,下表说明了手动和自动化渗透测试之间的根本区别 -

手动渗透测试 自动化渗透测试
它需要专家工程师来执行测试。 它是自动化的,因此即使是学习者也可以运行测试。
它需要不同的工具进行测试。 它集成了工具,不需要任何外部工具。
在这种类型的测试中,结果可能因测试而异。 它有固定的结果。
此测试要求测试人员记住清理内存。 它不需要。
它非常全面且耗时。 它更有效率且速度更快。
它具有其他优势,即如果专家进行渗透测试,那么他可以更好地分析,他可以思考黑客会怎么想以及会在哪里发起攻击。因此,他可以相应地设置安全措施。 它无法分析情况。
根据需要,专家可以运行多次测试。 它无法做到。
对于关键情况,它更可靠。 它不是。
广告