漏洞评估工具可以扫描IT资产,查找已知的漏洞、错误配置及其他缺陷。然后,这类扫描器为IT安全和应用程序开发运营(DevOps)团队生成报告,这些团队将已确定优先级的任务馈入工单和工作流系统,以修复漏洞。
开源漏洞测试工具提供了经济高效的漏洞检测解决方案。除了商业漏洞扫描工具外,许多IT团队甚至部署一个或多个开源工具作为补充,或者用来核查漏洞。以下是知名安全网站eSecurityPlanet近日遴选出来的十佳开源漏洞工具。
图1
另几款软件组合分析(SCA)工具早在OSVScanner发布之前就面市了,可高效地扫描静态软件查找开源编程代码漏洞。然而,谷歌开发的OSV借助OSV.dev开源漏洞数据库,适用于许多不同的生态系统。
主要特点
扫描软件,找出影响软件的依赖项和漏洞。
以JSON格式存储有关受影响版本的信息,这种机读格式方便与开发者软件包集成。
扫描目录、软件物料清单(SBOM)、锁文件、基于Debian的docker映像或在Docker容器中运行的软件。
优点
可通过ID号忽略漏洞。
谷歌仍在积极开发中,因此会添加新功能。
缺点
仍在积极开发中,因此缺少开发者工作流集成所需的完整功能。
可能还无法超越针对专门编程语言的更专门化、更悠久的开源SCA工具所具有的专门功能。
图2
一些DevOp团队希望在将后端数据库连接到代码之前加以扫描。Sqlmap支持数据库漏洞扫描和针对各种数据库的渗透测试,DevOp团队无需为不必要的功能特性而分心。
自动识别和使用密码哈希。
用Python开发,可以在任何带有Python解释器的系统上运行。
可以通过DBMS凭据、IP地址、端口和数据库名称,直接连接到数据库进行测试。
全面支持逾35种数据库管理系统,包括MySQL、Oracle、PostgreSQL、MicrosoftSQLServer、IBMDB2、Sybase、SAPMaxDB、MicrosoftAccess、AmazonRedshift和ApacheIgnite等。
可以执行密码破解。
可以搜索特定的数据库名称和表。
支持任意命令的执行和标准输出的检索。
没有图形用户界面的命令行工具。
非常专门化的工具。
需要数据库专长才能高效地使用。
图3
Wapiti可以在不检查代码的情况下对网站和应用程序执行黑盒扫描。相反,Wapiti使用模糊测试技术将攻击载荷注入脚本,并检查常见漏洞。
支持GET和POSTHTTP攻击方法。
可以对SQL注入(SQLi)、XPath注入、跨站脚本(XSS)、文件披露、Xml外部实体注入(XXE)、文件夹和文件枚举等执行模块测试。
支持HTTP、HTTPS和SOCKS5代理。
可以针对域、文件夹、网页和URL执行扫描。
可以测试众多潜在漏洞。
一些测试表明,Wapiti比ZAP等其他开源工具检测出更多的SQLi和BlindSQLi漏洞。
需要具备大量的专长和知识才能使用。
图4
OWASP的Zed攻击代理(ZAP)还可以在KaliLinux上使用,它介于测试者的浏览器和Web应用程序之间以拦截请求,并充当代理。这项技术允许ZAP通过修改内容、转发数据包及模拟用户和黑客行为的其他活动来测试应用程序。
支持各大操作系统和Docker。
提供Docker打包扫描,以便快速启动。
提供自动化框架。
提供综合API。
提供手动搜索和自动搜索。
由OWASP团队积极维护。
非常全面。
同时提供图形界面和命令行接口。
易于上手,文档详细。
方便从初学者到安全团队的各层次用户使用。
可以非常高效地检测XSS漏洞。
能够执行模糊测试攻击。
一些功能需要额外的插件。
需要具备一定的专长才能使用。
生成的误报通常比商业产品要多。
图5
Aqua开放了CloudSploit核心扫描引擎的源代码,以便用户可以下载和修改基础版工具,并享用其好处。CloudSploit扫描可以按需执行,也可以配置成连续运行,并向安全和DevOp团队提供警报。
针对API使用充分利用REST的接口。
API可以从命令行、脚本或构建系统(Jenkins、CircleCL和AWSCodeBuild等)来调用。
读/写控制可以为每个API密钥提供特定的权限。
每个API调用都可以单独跟踪。
为AWS、Azure和GoogleCloud提供持续的CIS基准审计。
实时结果。
安全的HMAC256签名用于API密钥验证。
在几秒钟内扫描超过95个安全风险。
直观的WebGUI。
支持HIPAA和PCI(DSS)合规框架。
可以通过Slack、Splunk、OpsGenie、AmazonSNS和电子邮件等途径发送警报。
无法通过GitHub获取。
自动更新推送、一些报告工具和一些集成只针对付费产品(额外功能不是开源的)。
图6
开源团队开发了众多工具来扫描网络设备和物联网的固件及设置。然而,大多数人倾向于使用安全工具,而不是漏洞扫描器。然而,Firmwalker可以全面搜索提取或加载的固件,并报告潜在漏洞。
可以搜索配置、脚本和pin文件。
可以识别和报告admin、password和remote等关键字。
可以搜索URL、电子邮件地址和IP地址。
对物联网、网络、OT及其他固件进行安全审计。
可以找出意外的文件、嵌入的密码或隐藏的URL。
提供bash脚本版本。
需要一些编程技巧才能高效地使用。
没有GUI。
支持ShodanAPI目前处于实验阶段。
图7
Nikto2是一款开源Web服务器扫描器,可以发现黑客想要利用的危险文件和程序以及服务器错误配置。用户也可以在KaliLinux上访问Nikto。
检查超过6700个可能危险的文件和程序。
测试超过1250个过时的服务器版本和270个针对特定版本的问题。
检查多个索引文件和HTTP服务器选项。
提供了减少误报的技术。
小巧的轻量级软件,但功能依然强大。
支持文件输入和输出。
扫描项和插件经常更新,且自动更新。
可以检测和标记Web服务器的许多常见问题。
SSL支持Unix和Windows操作系统,并支持HTTP代理。
没有界面,只有命令行。
非常专门化,可能让初学者感到困惑。
搜索方面比一些商业工具更有限。
彻底扫描至少需要45分钟才能完成。
图8
OpenSCAP是一种面向Linux平台的开源框架,基于美国国家标准与技术研究所(NIST)维护的安全内容自动化协议(SCAP)。OpenSCAP项目创建了一些开源工具,用于实施和执行这项用于枚举缺陷和错误配置的开放标准。
扫描器提供了广泛的工具,支持扫描Web应用程序、网络基础设施、数据库和主机。与大多数测试常见漏洞和暴露(CVE)的扫描器不同,OpenSCAP根据SCAP标准测试设备。
针对系统进行漏洞评估。
可以访问公共漏洞数据库。
OpenSCAPBase工具提供了NIST认证的命令行扫描工具,并提供更易于使用的图形用户界面(GUI)。
OpenSCAP守护进程可以持续扫描基础设施,以确保遵守SCAP策略。
快速识别安全问题,并立即纠正。
得到RedHat及其他开源开发商的支持。
结合安全漏洞和合规扫描。
可以扫描docker容器映像。
比其他许多工具更难上手。
OpenSCAP系统中的多款工具可能令人困惑。
用户需要了解符合其需求的安全策略。
许多工具只在Linux上运行,一些工具只在特定的Linux发行版上运行。
图9
扫描系统查找已知的漏洞和缺失的补丁。
基于Web的管理控制台。
可以安装在任何本地或基于云的机器上。
提供关于每个漏洞的信息,比如如何消除漏洞或攻击者如何利用漏洞。
Greenbone积极维护。
涵盖许多CVE。
扫描数据库定期更新。
社区版无法满足需要的组织可以升级到更高级版本。
对初学者来说过于复杂,需要具备一些专长。
大量并发扫描可能导致程序崩溃。
没有策略管理。
图10
Nmap安全扫描器支持Windows、macOS和Linux的二进制软件包,包含在许多Linux版本中。Nmap使用IP数据包扫描设备端口,确定在检查的资产中有哪些主机、服务和操作系统可用。渗透测试人员和IT团队认为Nmap是一种快速、高效的轻量级工具,可以列出系统上的敞开端口。