写在前面:本文对常用的开源漏洞扫描工具进行分类,评测出各自细分领域的最佳产品,有的大家耳熟能详,有的我也是第一次知道,感觉有一定意义。上周去参加一个国外漏扫产品的发布会,进一步了解到目前扫描器的发展现状,把漏洞扫描,漏洞管理,配置管理,暴露面管理都整合在一起,也涉及到部分BAS功能,增加对工控设备、DevOps的覆盖。但代码安全和软件成分分析目前还没有包括进来。 漏洞评估工具扫描资产查找已知的漏洞、错误配置和其他缺陷。然后,这些扫描器为IT安全和应用程序开发运营(DevOps)团队输出报告,将高优先级任务传入到票据系统和工作流系统中进行修复。 开源漏洞测试工具提供了性价比高的漏洞检测解决方案。除了商业漏洞扫描工具之外,许多IT团队甚至还部署了一个或多个开源工具作为备份,或为了验证漏洞。在我们的分析中,以下是2023年最好的开源漏洞工具。- ZAP (OWASP Zed攻击代理)-最佳XSS测试工具
在讨论了这些工具之后,本文将介绍我们如何评测开源漏洞扫描器,以及谁不应该使用开源漏洞扫描器。对于那些可能需要复习漏洞扫描的人,可以考虑先阅读我们另一份文档, 漏洞扫描指南。 在一个不断互联的世界里,开发人员持续地推出复杂的网站和应用程序。网站和应用程序(WebApp)扫描器以各种方式测试代码,以便在黑客找到它们之前捕捉编程错误和漏洞。 大多数工具都能检测出OWASP top 10 中常见但严重的漏洞,如SQL注入(SQLi)或跨站脚本(XSS),但在其中一个类别中可能比另一个类别做得更好。组织将根据部署灵活性、扫描速度、扫描精度以及与其他工具(如票据系统或编程工作流产品)的集成来做出选择。然而,如果没有软件许可证成本的阻碍,许多团队将同时部署几个开源工具。 其他几个软件成分分析(SCA)工具大大早于OSV Scanner的2022年12月13日发布日期,并能够有效地扫描静态软件的开源编程代码漏洞。然而,谷歌开发的OSV从OSV.dev开源漏洞数据库中提取数据,并在许多不同的生态系统中工作。 作为一个新来者,OSV提供了更广泛的漏洞源和语言,应该考虑作为DevOps团队的替代品,或者至少是一个补充的开源扫描工具。- 将受影响版本的信息存储在JSON中,这是一种机器可读的格式,可与开发人员的代码包集成
- 扫描目录、软件物料清单(SBOM)、上锁文件、基于Debian的docker映像或在Docker容器中运行的软件。
- 从大量的数据源拉取漏洞:Apine、Android、crates.io、 Debian、 Go、Linux、Maven、npm、 NuGet、OSS-Fuzz、Packagist、 PyPl、RubyGems等。
- 仍然处于活跃的开发中,因此缺乏开发人员工作流集成的完整功能,C/ C++漏洞
- 可能还没有超过更老的开源SCA工具的对特定编程语言的专业能力,如:
- VisualCodeGrepper:C,C++,C#,VP,PHP,Java,PL/SQL,Cobol
一些DevOp团队希望在将后端数据库连接到代码之前扫描后端数据库。Sqlmap支持在各种数据库上进行数据库漏洞扫描和渗透测试,而不会因为不必要的特性和功能而分散DevOp团队的注意力。- 用Python开发,可以在任何带有Python解释器的系统上运行
- 可以通过DBMS凭证、IP地址、端口和数据库名称直接连到数据库进行测试
- 全面支持超过35个数据库管理系统,包括MySQL, Oracle, Postgre SQL, Microsoft SQL Server, IBM DB2, Sybase, SAP MaxDB, Microsoft Access, Amazon Redshift, Apache Ignite等。
- 执行六种类型的SQL注入技术:基于布尔的盲注、基于时间的盲注、基于错误的盲注、基于UNION查询的盲注、堆栈查询和带外。
Wapiti在不检查代码的情况下对网站和应用程序进行黑盒扫描。Wapiti使用模糊测试(fuzzing)技术将有效载荷注入脚本并检查常见漏洞。- 支持SQL注入(SQLi)、XPath注入、跨站脚本(XSS)、文件暴露、Xml外部实体注入(XXE)、文件夹和文件枚举等模块测试
- 在登录表单上通过Basic、Digest、NTLM或GET/POST进行身份验证
- 一些测试表明,Wapiti比其他开源工具(如ZAP)检测到更多的SQL注入和SQL盲注注入漏洞
ZAP (OWASP Zed攻击代理)-最佳XSS测试工具 OWASP的Zed Attack Proxy (ZAP)也可以在Kali Linux上使用,它将自己置于测试人员的浏览器和Web应用程序之间,以拦截请求,并充当“代理”。这种技术允许ZAP通过修改内容、转发数据包和其他活动来模拟用户和黑客行为来测试应用程序。- ZAP通常由渗透测试人员使用,因此使用ZAP可以很好地了解普通攻击者可能定位的漏洞
安全和IT专业人员首先开发了漏洞扫描器,查找传统IT网络基础设施(服务器、防火墙、网络设备和端点)中缺失的补丁和错误配置。随着云、虚拟机和连接设备的复杂性不断增加,漏洞扫描工具的数量和范围也在不断扩大。 Aqua为CloudSploit开源了核心扫描引擎,以便用户可以下载、修改并享受基本的工具功能。CloudSploit扫描可以按需执行,也可以配置为连续运行,并向安全和DevOp团队提供报警。- 可以从命令行、脚本或构建系统(Jenkins、CircleCL、AWS CodeBuild等)调用API。
- 持续扫描可以在云基础设施发生更改时发出警报,这些更改会引入漏洞,例如安全组更改、新的可信SSH密钥、禁用MFA设备、删除日志等等。
- 通过集成Slack, Splunk,OpsGenie,Amazon SNS,电子邮件等发送警报。
- 自动更新推送、一些报告工具和某些集成可能只在付费产品中可用(有些功能并不开源)。
一些开源团队开发了各种工具来扫描网络设备和物联网(IoT)的固件和设置。然而,大多数软件更倾向于安全工具而不是漏洞扫描器。但Firmwalker可以通过提取或挂载的固件,搜索并报告潜在的漏洞。- 可以识别和报告关键字,如管理员、密码和远程等字眼。
Nikto2是一个开源的web服务器扫描器,可以发现危险的文件和程序,以及黑客想要利用的服务器错误配置。用户也可以在Kali Linux上使用Nikto。- 测试超过1,250个过时的服务器版本和270个特定版本的问题
- 输出TST,XML,HTML, NBE或CSV文件格式
- SSL支持Unix和Windows操作系统,支持HTTP代理
OpenSCAP是基于美国国家标准与技术研究院(NIST)维护的安全内容自动化协议(SCAP,Security Content Automation Protocol)的Linux平台开源框架。OpenSCAP项目创建了实现和执行这个开放标准的开源工具,用于枚举缺陷和错误配置。 扫描器提供了广泛的工具,支持扫描web应用程序,网络基础设施,数据库和主机。与大多数测试CVE的扫描器不同,OpenSCAP根据SCAP标准测试设备。- OpenSCAP基础工具提供了NIST认证的命令行扫描工具,图形用户界面(GUI)更易于使用
- OpenSCAP守护进程可以持续扫描基础设施以确保符合SCAP策略
- 其他OpenSCAP工具提供桌面扫描、集中扫描结果或兼容的计算机镜像
- 和系统管理解决方案集成,如Red Hat Satellite 6,Red Hat Access Insight等
- 原子扫描选项可以扫描容器以查找安全漏洞和合规问题。
- 许多工具只能在Linux上运行,有些工具只能在特定的Linux发行版本上运行
开发人员通过使用Nessus(由Tenable发布的市场领先的商业产品)最新可用的开源代码,将OpenVAS开发为一个多用途扫描器。OpenVAS保持了在传统端点和网络上执行大规模评估和网络漏洞测试的高性能。该工具从大量信息源和广泛的漏洞数据库中收集数据。- 提供关于每个漏洞的见解,例如如何消除漏洞或攻击者如何利用漏洞
- 社区版无法满足的组织可以升级到Greenbone企业版或Greenbone云服务
- Greenbone Community Edition只扫描基本的端点资产,或家用产品,如Ubuntu Linux, MS Office等。
- 要扫描企业产品或获取策略的访问权限,组织需要升级到付费的Greenbone企业版。
Nmap安全扫描器支持Windows、macOS和Linux的二进制包,并且包含在许多Linux版本中。Nmap通过IP包扫描设备端口,判定被检查资产中有哪些主机、服务和操作系统可用。渗透测试人员和IT团队认为Nmap是一种快速、有效、轻量级的工具,可以列出系统上的开放端口。- 快速扫描系统上开放的端口,确定可用的TCP/UDP服务
eSecurity Planet的写作团队为本文研究了各种开源漏洞扫描工具。我们使用来自社区论坛、工具网站和其他资源的内容来获得关于工具的行业反馈。 本文的工具主要是漏洞扫描工具,因此通常不包括仅包含漏洞扫描功能的渗透测试或安全工具(端点、网络等)。我们假设读者正在寻找用于漏洞扫描的特定工具,并且我们已经就这些主题发表了其他文章。 此外,开源项目需要不断更新,以证明该工具能够跟上漏洞发现的步伐。许多流行的开源工具(如Arachni、Lynis、Vega和w3af)不能被包括在内,因为它们已经好几年没有更新过了。 在可能的情况下,选出一个类别的胜出者。但是,如果无法选出胜出者,而我们推荐列表中的另一个工具可以执行某些功能,那么我们就放弃了该类别。
例如,许多开发人员创建了开源容器漏洞扫描工具,如Anchore、Clair、Dagda和Trivy。由于OpenSCAP和OSV-Scanner都有一些扫描容器的能力,我们在今年放弃了容器漏洞扫描工具类别。 开源工具通常可以免费下载、修改和使用。那么为什么不是每个人都应该使用它们呢? 开源扫描器往往需要使用该工具的IT团队成员具有更多的技术专长、更多的时间和更多的努力。即使是内部具有专业知识的组织也经常购买商业漏洞扫描工具或漏洞管理即服务(VMaaS),以节省时间和隐蔽的人工成本。 一般来说,开源工具不具有与商业工具相同的特性、集成和功能。开源工具也将缺乏正式的技术支持,但一些咨询和营利性公司,如OpenVAS的Greenbone,会提供收费的服务和支持。开源工具可能具有健壮的社区,可用于点对点支持,但对问题的响应时间可能不同,并且不能保证有所帮助。 开源工具通常也依赖于开源数据库。这可能意味着这些工具落后于有人员专门更新漏洞数据库和内部研究的商业工具。然而,研究人员也经常为这些数据库提供漏洞,因此有一些开源工具仅落后于更新最积极的商业工具。 一个并非开源独有的问题是,大多数开源项目在开发过程中依赖于开源构建块。贡献者定期监督库,并努力消除在软件物料清单(SBOM)中发现的代码漏洞。然而,商业软件在修复潜在漏洞方面是否可能比开源团队更积极,需要根据具体情况进行评估。 许多博客和开源漏洞扫描工具列表包括各种渗透测试工具,如:Wireshark、Metasploit和Aircrack-Ng。虽然渗透测试工具可以用来定位漏洞,但大多数这些工具并没有被设计成与票据系统集成,提供任何漏洞的排名或优先级,或包含利用的可能性。 渗透测试工具工作得很好,但它是为不同的目的设计的。工程师和技术人员使用渗透测试工具进行漏洞评估更多是出于习惯和舒适程度,而不是因为它们是有效的漏洞扫描工具。 漏洞管理最重要的一步是开始行动。组织选择开源工具还是商业工具取决于他们的资源和偏好,但是应该定期部署和使用这些工具。定期使用漏洞扫描工具可以在攻击者之前发现问题,并为内部团队提供时间来修复问题。 幸运的是,开源工具的低成本允许IT、安全和DevOps团队部署多个开源工具,即使他们也使用商业工具。黑客经常使用开源工具扫描系统和软件以进行利用,因此定期使用这些开源工具可以深入了解黑客的视角和优先级。尽管这些工具可能需要更多的努力和专业知识,但开源漏洞工具为任何有效使用它们的组织提供了有价值的资源。https://www.esecurityplanet.com/applications/open-source-vulnerability-scanners/
文章来源: https://mp.weixin.qq.com/s?__biz=Mzg3NjU4MDI4NQ==&mid=2247485581&idx=1&sn=ca12f9c0be187d85c372daac05d9be4b&chksm=cf31545ff846dd495fcadaca3ef4895f8980cb9b90a6f9d8417ff8ec4a4c6f8f49b2558deca2&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh