在进行端扫过程中,常常会使用masscan和nmap等工具,它们在发现和扫描目标系统的开放端口方面非常实用。
然而,随着反测绘技术的不断进步,这些工具的局限性也逐渐显现。接下来,我们将详细探讨这些工具面对反测绘时的缺点,并说明为什么需要自研端扫工具。
Masscan
在在攻击面测绘领域,速度被认为是至关重要的因素,因此masscan被广泛应用。但是,由于目标系统采取了各种反测绘措施(如限制扫描频率、封锁IP地址等),masscan的可用性在某些情况下会急剧下降。
masscan的两个明显特征是使用SYN扫描和在短时间内发送大量流量。然而,这两个特征很容易触发反测绘策略,从而影响masscan的效果。
首先,使用SYN扫描的特征非常明显,目标系统很容易检测到扫描活动。因此,防火墙和入侵检测系统很容易过滤或拦截masscan的扫描请求,从而限制了其扫描的准确性和全面性。
其次,masscan在短时间内发送大量流量,这也是其高效扫描的原因之一。然而,这种大量流量往往会被目标系统的防火墙或入侵检测系统察觉,可能被视为恶意攻击行为。结果就是大量漏报(未能探测到真实的开放端口)和误报(将防火墙返回的响应误认为端口开放),从而降低masscan的可靠性和可信度。
除了上述限制,masscan还存在功能上的缺陷。它主要用于进行端口扫描,但无法检测隐藏的服务和潜在漏洞。在进行攻击面测绘时,仅了解目标系统的开放端口是不够的,我们还需要深入了解这些服务的具体特征和可能存在的漏洞。
因此,尽管masscan在速度方面具有优势,但在应对反测绘措施方面可能效果不佳。在面对越来越复杂的网络环境和防御手段时,需要考虑使用其他工具或采取更细致的方法来克服这些挑战。
Nmap
针对masscan的两个缺点,当需要进行大规模攻击面测绘并避免大量误报和防火墙报警时,nmap是一个可行的解决方案。
nmap是一款功能强大的开源工具,在攻击面测绘领域广泛应用。与masscan不同,nmap支持多种测绘方案,能够更全面地发现目标系统的开放端口,并通过深度扫描揭示隐藏的服务和漏洞。通过使用nmap,安全专业人员可以获得更准确和详细的信息,以评估系统的风险和安全性。
此外,nmap具有细粒度控制扫描速率的能力,可以调整扫描的速度和频率,以避免触发目标系统的防御机制。这种灵活性使得nmap成为处理大规模测绘任务的理想选择,能够降低误报和防火墙报警的风险。
然而,需要注意的是,nmap也存在一些问题。其中之一是在执行大规模扫描任务时可能出现长时间卡死的情况。这个问题在nmap项目的相关问题追踪中有多个案例,例如 https://github.com/nmap/nmap/issues/1385 和 https://github.com/nmap/nmap/issues/2106。
这些问题表明,在处理大规模扫描任务时,nmap可能会遇到性能方面的挑战,导致扫描过程变得非常缓慢或无响应。这对于需要快速获取结果的安全团队而言是一个明显的问题,尤其是在面对庞大的网络或复杂的系统架构时。
另一个问题是,作为一款常用的端口扫描软件,nmap很容易受到主流防护软件的研究和针对。由于nmap在网络安全领域的广泛应用,防护软件开发商通常会对其进行深入研究,以便及时发现并阻止nmap扫描活动。
防护软件可以通过检测nmap的特征、行为模式以及扫描过程中产生的网络流量等来辨识和阻断nmap扫描。一些常见的防护措施包括识别nmap的扫描脚本、检测扫描过程中频繁的连接和断开等异常行为,以及基于流量分析的技术来检测nmap的扫描特征。
第三个问题是效率问题。在设计nmap时,识别目标系统的具体操作系统、运行的服务等是一个重要的考虑因素。为了实现这一目标,nmap集成了大量的指纹库和匹配规则,用于识别目标系统的特征。然而,这也带来了一个问题,即在攻击面测绘过程中,部分指纹可能是不必要的,从而影响了扫描的效率。
这些不必要的指纹可能导致扫描时间的延长,因为nmap需要对目标系统的各种特征进行逐个匹配。在大规模扫描任务中,这将消耗大量的时间和资源,降低了测绘的效率。
总结
综上所述,尽管masscan和nmap在攻击面测绘中都有其优势和局限性,但随着反测绘技术的发展,这些工具可能面临一些挑战。
为了克服这些挑战,满足特定需求并提高测绘的准确性、可靠性和效率,自研端扫工具可能是一个合适的选择。自研端扫工具可以根据实际情况设计和定制,更好地适应不同的网络环境和防御手段,并减少被防护软件检测的风险。