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