渗透测试 – 手动和自动
渗透测试 – 手动和自动
手动渗透测试和自动渗透测试都是为了相同的目的而进行的。它们之间的唯一区别是它们的执行方式。顾名思义,手动渗透测试是由人类(该领域的专家)完成的,而自动化渗透测试是由机器本身完成的。
本章将帮助您了解这两个术语的概念、区别和适用性。
什么是手动渗透测试?
手动渗透测试是由人类完成的测试。在此类测试中,机器的脆弱性和风险由专家工程师进行测试。
通常,测试工程师执行以下方法 –
-
数据收集– 数据收集在测试中起着关键作用。既可以手动采集数据,也可以使用在线免费提供的工具服务(如网页源代码分析技术等)。这些工具有助于收集诸如表名、数据库版本、数据库、软件、硬件甚至不同第三方插件等信息
-
漏洞评估– 收集数据后,它可以帮助测试人员识别安全弱点并相应地采取预防措施。
-
实际利用– 这是专家测试人员用来对目标系统发起攻击的典型方法,同样可以降低攻击风险。
-
报告准备– 完成渗透后,测试人员准备一份最终报告,描述有关系统的所有内容。最后对报告进行分析以采取纠正措施来保护目标系统。
手动渗透测试的类型
手动渗透测试通常分为以下两种方式 –
-
Focused Manual Penetration Testing – 这是一种非常集中的方法,可以测试特定的漏洞和风险。自动化渗透测试无法执行此测试;它仅由检查给定域内特定应用程序漏洞的人类专家完成。
-
全面的手动渗透测试– 通过测试相互连接的整个系统来识别各种风险和漏洞。但是,这个测试的功能更多的是情境化,比如调查多个低风险的故障是否会带来更脆弱的攻击场景等
什么是自动化渗透测试?
自动化渗透测试更快、更高效、更简单、更可靠,可以自动测试机器的漏洞和风险。这项技术不需要任何专家工程师,而是可以由任何对该领域知识最少的人来运行。
自动化渗透测试的工具有 Nessus、Metasploit、OpenVAs、backtract(系列 5)等,这些都是非常高效的工具,改变了渗透测试的效率和意义。
但是,下表说明了手动和自动渗透测试之间的根本区别 –
Manual Penetration Testing | 自动化渗透测试 |
---|---|
It requires expert engineer to perform the test. | 它是自动化的,因此即使是学习者也可以运行测试。 |
It requires different tools for the testing. | 它集成了工具,不需要任何来自外部的东西。 |
In this type of testing, results can vary from test to test. | 它有固定的结果。 |
This test requires to remember cleaning up memory by the tester. | 它不是。 |
It is exhaustive and time taking. | 它更高效、更快速。 |
It has additional advantages i.e. if an expert does pen test, then he can analyze better, he can think what a hacker can think and where he can attack. Hence, he can put security accordingly. | 它无法分析情况。 |
As per the requirement, an expert can run multiple testing. | 这不可以。 |
For critical condition, it is more reliable. | 它不是。 |