这是一个涉及同一问题的最新主题:与 Nmap 相比,为什么 OpenVAS 找不到所有打开的端口?. 要点:每个工具都是不同的,可能会产生不同的结果。更不用说误报和不同的测试方法了。
简而言之,自动化工具可以做出有根据的猜测并解释结果。大多数时候,他们做对了。但是您必须了解该工具的工作原理、它的作用(和不作用)并能够对其进行调整以获得最佳结果。
一个简单的例子:默认情况下,nmap、Openvas 等不扫描所有 tcp/udp 端口,而是选择最流行的端口,即 65535 中的几千个。如果您不知道并使用默认设置运行这些工具,您很容易错过活动端口。例如,许多系统管理员选择在某个随机端口上运行 SSH,而不是标准的 22。
自动化工具通常有很多选项,而不仅仅是一个按钮——所以你必须了解它们的作用,否则你就是在黑暗中拍摄。那么,你的审计不够深入,价值不大,因为你不知道你在做什么,你应该寻找什么。您所做的只是划伤表面并寻找最明显的缺陷。
换句话说,如果只需要下载和运行一个工具,我们为什么要聘请专业的渗透测试人员?因为一个称职的渗透测试者有经验,会走得更远,可以找到比脚本小子错过的漏洞。
它很少“像运行工具一样简单”。
暴露在 Internet 上的正确配置的机器应该具有某种内置的防御机制:防火墙和/或 IDS 会阻止这种侦察工作。
当他们检测到端口扫描活动时,他们通常会通过阻止您的 IP 地址来做出反应,或者他们会限制流量、选择性地丢弃一些数据包或选择返回故意误导的结果来挫败黑客。您最终会得到不完整或完全虚假的结果。
请记住,nmap、Acunetix 等工具很嘈杂,通常很容易被 IDS 发现(和阻止),因为它们生成的流量具有典型的签名和模式。因此,除非您正在测试未受保护或松散保护的机器(可能在 LAN 上),否则您必须对它们进行相当多的调整才能获得有意义的结果。
所以答案是你两个都做:你使用自动化工具,然后你做手动测试,特别是当工具检测到一些东西时,比如一个开放的端口,但不能利用它,或者你想仔细检查。