2023 版漏洞评估工具 Top 10
今天分享一下到2023年还比较火的10款开源漏洞扫描工具,这些工具基本都是国外的团队开发的,所以都是英文版本。但是也从侧外说明我们国内安全团队的开源精神还是有待提升的。
一、Scanner(开源代码扫描)
OSV Scanner由谷歌团队开发,发布于2022 年 12 月 13 日。开源市场也不乏能有效扫描静态代码漏洞的SCA(软件成分分析)工具。但作为“新秀”,OSV从OSV.dev 开源漏洞数据库中提取并适用于不同的生态系统,其漏洞来源和支持的语言更加广泛,可以很好地为DevOps 团队降本增效。
主要功能
依赖项和漏洞定位;
以JSON格式存储受影响版本的信息,便于开发集成;
扫描目录、软件物料清单(SBOM)、锁定文件、基于Debian的docker镜像或在Docker容器中运行的软件。
优势漏洞提取来源广泛,包括Apine, Android, crates.io, Debian, Go, Linux, Maven, npm, NuGet, OSS-Fuzz, Packagist, PyPl, RubyGems等等;
- 报告结果精炼,节约处置时间;
- 可以根据漏洞ID忽略漏洞,提高处置效率;
- 目前谷歌仍在积极开发中,可以期待更多与时俱进的新功能。
劣势
- 与开发者工作流集成、发现C/C++漏洞等功能不完善;
- 在某些编程语言的漏洞检测中可能弱于一些早期的开源SCA工具:
- Bandit: Python
- Brakeman: Ruby on Rails
- VisualCodeGrepper: C, C++, C#, VP, PHP, Java, PL/SQL, Cobol
二、Sqlmap(数据库扫描)
一些DevOps团队会在后端数据库与代码hook之前对数据库进行安全扫描。Sqlmap就是其中的代表工具。
主要功能
自动识别密码哈希值;
用Python开发,可以在任何有Python解释器的系统上运行;
可以通过DBMS凭证、IP地址、端口和数据库名称直接连接到数据库进行测试;
完全支持的数据库管理系统达35个以上,包括MySQL、Oracle、Postgre SQL、Microsoft SQL Server、IBM DB2、Sybase、SAP MaxDB、Microsoft Access、Amazon Redshift、Apache Ignite等等;
具备六类SQL注入技术:布尔盲注、时间盲注、报错盲注、联合查询注入、堆查询注入和带外注入。
优势
- 支持密码爆破;
- 能搜索特定的数据库名和表名;
- 支持执行任意命令并检索数据库服务器底层操作系统上的标准输出。
劣势
- 命令行工具没有图形用户界面;
- 过于专业,需要数据库方面的专业知识才能有效使用。
三、Wapiti(SQL注入检测)
Wapiti是一款针对应用的黑盒扫描工具,采用fuzzing技术,在脚本中注入payload来发现常见漏洞。
主要功能
支持GET和POST的HTTP攻击方法;
针对SQL注入(SQLi)、XPath注入、跨站脚本(XSS)、文件泄露、XXE注入、文件夹和文件枚举等的模块测试;
支持HTTP、HTTPS和SOCKS5;
通过Basic、Digest、NTLM或GET/POST对登录表单进行认证;
可扫描域、文件夹、页面和URL。
优势
- 覆盖漏洞类型更广;
- 测试各类潜在漏洞;
- 不少测试显示Wapiti比其他开源工具(如ZAP)能检测到更多SQL注入和盲注漏洞。
劣势
- 命令行工具无图形界面;
- 熟练操作需要大量专业知识背景。
四、ZAP (OWASP Zed Attack Proxy) (XSS检测)
OWASP的Zed攻击代理(ZAP)在浏览器和web应用之间,以代理身份拦截请求,并通过模拟用户和黑客行为,如修改内容、转发数据包等进行安全测试。
主要功能
支持主流操作系统和Docker;
能快速启动Docker包扫描;
支持自动化框架;
支持全量API;
支持手动或自动。
优势
- OWASP团队仍在积极维护;
- 命令行界面有图形界面;
- 完善的学习曲线和操作文档;
- 适合各类水平用户;
- XSS漏洞检测表现突出;
- 支持fuzzing测试;
- ZAP在渗透测试从业者中非常流行,因此熟悉ZAP有利于从攻击角度发现漏洞。
劣势
- 有些功能需装插件;
- 需要一些专业知识;
- 误报比很多商业产品高。
五、CloudSploit(云资源安全扫描)
Aqua公司开源了CloudSploit的核心扫描引擎,供广大用户下载、更改和使用。CloudSploit支持按需扫描也可配置为持续运行,并及时告警。
主要功能
采用RESTful API;
API可以从命令行、脚本或构建系统(Jenkins、CircleCL、AWS CodeBuild等)调用;
读写控制器可以为每个API密钥提供特定权限;
每个API调用都是可以单独追踪的;
对AWS、Azure和Google云进行持续的CIS基准审计;
持续扫描可以在云基础设施发生变化时发出告警,这些变化可能存在安全隐患,如安全组更改、出现新的受信任的SSH密钥、MFA设备停用、删除日志等。
优势
- 扫描结果实时;
- 通过HMAC-SHA256签名实现API密钥认证;
- 秒级扫描95种以上的安全风险类型;
- 直观的web界面;
- 支持HIPAA和PCI DSS合规框架;
- 支持通过Slack、Splunk、OpsGenie、Amazon SNS、邮件等发送告警。
劣势
- 无法通过GitHub获取;
- 自动推送、一些报告工具和一些整合功能可能只在付费产品中提供。
六、Firmwalker (物联网)
有些开源团队开发了很多安全工具来扫描网络设备和物联网(IoT)的固件,但漏洞扫描器比较少。Firmwalker可以搜索提取或装好的固件,并报告潜在漏洞。
主要功能
可搜索SSl相关文件和etc/ssl目录;
可搜索配置、脚本和pin文件;
能识别admin、password和remote等关键词;
可搜索URL、电子邮件地址和IP地址。
优势
- 对物联网、网络、OT和其他固件进行安全审计;
- 可找到异常文件、嵌入式密码或隐藏的URL;
- 支持以bash脚本运行。
劣势
- 需要一些编程知识才能有效使用;
- 没有图形用户界面;
- 目前对Shodan API的支持仍在实验阶段。
七、Nikto2(Web Server)
Nikto2是一个开源的web server扫描器,可发现风险文件、程序、错误配置。用户也可在Kali Linux访问Nikto。
主要功能
覆盖6700余种风险文件和程序;
覆盖1250余个旧服务器版本和270种版本问题;
支持检测多种索引文件、HTTP server options;
验证已安装的web服务器和软件;
支持凭证破解;
具备降低误报技术;
报告格式支持TST、XML、HTML、NBE或CSV。
优势
- 小巧轻便但功能强大;
- 支持文件的输入和输出;
- 扫描项目和插件经常更新(自动更新);
- 对web服务器的常见问题进行标记;
- SSL支持Unix和Windows操作系统,支持HTTP代理;
- 可选择部署编码技术,用于入侵检测系统(IDS)的绕过和测试。
劣势
- 没有界面,只有命令行;
- 过于具体,初学者可能会困惑;
- 搜索功能比一些商业产品略逊色;
- 全面扫描需耗时45分钟以上。
八、OpenSCAP(合规类)
OpenSCAP是一个Linux平台的开源框架,对标美国国家标准与技术研究所(NIST)维护的安全内容自动化协议(SCAP),实施合规评估。OpenSCAP支持扫描web应用、网络基础设施、数据库和主机。与绝大部分CVE扫描器不同,OpenSCAP根据SCAP的标准执行安全测试。
主要功能
漏洞评估;
访问公共漏洞数据库;
OpenSCAP Base提供经NIST认证的命令行扫描工具,以及图形用户界面便于使用;
OpenSCAP Daemon可根据SCAP标准对基础设施进行持续扫描;
其他OpenSCAP工具提供桌面扫描、扫描结果汇总等功能;
支持整合系统管理解决方案,如Red Hat Satellite 6、RH Access Insights等;
Atomic Scan选项可扫描容器的安全漏洞和合规问题。
优势
- 快速发现安全问题并即时纠正;
- 获Red Hat和其他开源厂商的大力支持;
- 结合了安全漏洞和合规性扫描;
- 可扫描docker镜像。
劣势
- 学习难度高于同类工具;
- OpenSCAP包含多款工具,更为复杂;
- 用户首先需了解与自身相关的政策条款;
- 很多工具只能在Linux上运行,有些甚至只能在特定的Linux发行版上运行。
九、OpenVAS (终端和网络)
Nessus是Tenable发布的一款全球领先的漏洞评估产品。而OpenVAS是Nessus的一个开源分支,功能丰富,漏洞来源广泛,可对传统端点和网络进行大规模的漏洞评估。
主要功能
发现系统的已知漏洞和缺失补丁;
具备web管理控制台;
可安装在任何本地或云服务器;
具备漏洞分析能力,输出如何修复漏洞或攻击者如何利用该漏洞等信息。
优势
- Greenbone积极维护中;
- 覆盖很多CVE漏洞;
- 定期更新漏洞数据库;
- 已形成大型社区,供用户交流;
- 可随着企业发展从社区版升级到Greenbone企业版或Greenbone云服务。
劣势
- 需要一定专业知识;
- 大量并发扫描会使程序崩溃;
- 没有策略管理;
- Greenbone社区版只扫描基本的端点资产或家庭应用产品,如Ubuntu Linux,MS Office等(扫描企业设备或获取策略权限需升级到付费的Greenbone企业版)。
十、Nmap(网络和端口)
Nmap支持绝大多数操作系统,通过IP数据包扫描设备端口并确定被检查的资产有哪些主机、服务和操作系统,是渗透测试人员和IT团队必不可少的工具之一。
主要功能
快速发现IP地址;
通过TCP/IP协议猜测设备操作系统;
持续更新的500个脚本库,用于提高性能。
优势
- 快速扫描系统上的开放端口,确定可用的TCP/UDP服务;
- 通过端口测试确定运行的协议、应用类型和版本号;
- 用户群庞大,开源社区成熟。
劣势
- 没有正式的客户支持;
- 需要一些专业知识背景。
参考资料: https://www.esecurityplanet.com/applications/open-source-vulnerability-scanners/