编程

2023 版漏洞评估工具 Top 10

1284 2023-03-09 00:00:00

今天分享一下到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等等;

  1. 报告结果精炼,节约处置时间;
  2. 可以根据漏洞ID忽略漏洞,提高处置效率;
  3. 目前谷歌仍在积极开发中,可以期待更多与时俱进的新功能。

劣势

  1. 与开发者工作流集成、发现C/C++漏洞等功能不完善;
  2. 在某些编程语言的漏洞检测中可能弱于一些早期的开源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注入技术:布尔盲注、时间盲注、报错盲注、联合查询注入、堆查询注入和带外注入。

优势

  1. 支持密码爆破;
  2. 能搜索特定的数据库名和表名;
  3. 支持执行任意命令并检索数据库服务器底层操作系统上的标准输出。

劣势

  1. 命令行工具没有图形用户界面;
  2. 过于专业,需要数据库方面的专业知识才能有效使用。

三、Wapiti(SQL注入检测)

Wapiti是一款针对应用的黑盒扫描工具,采用fuzzing技术,在脚本中注入payload来发现常见漏洞。

主要功能

支持GET和POST的HTTP攻击方法;

针对SQL注入(SQLi)、XPath注入、跨站脚本(XSS)、文件泄露、XXE注入、文件夹和文件枚举等的模块测试;

支持HTTP、HTTPS和SOCKS5;

通过Basic、Digest、NTLM或GET/POST对登录表单进行认证;

可扫描域、文件夹、页面和URL。

优势

  1. 覆盖漏洞类型更广;
  2. 测试各类潜在漏洞;
  3. 不少测试显示Wapiti比其他开源工具(如ZAP)能检测到更多SQL注入和盲注漏洞。

劣势

  1. 命令行工具无图形界面;
  2. 熟练操作需要大量专业知识背景。

四、ZAP (OWASP Zed Attack Proxy) (XSS检测)

OWASP的Zed攻击代理(ZAP)在浏览器和web应用之间,以代理身份拦截请求,并通过模拟用户和黑客行为,如修改内容、转发数据包等进行安全测试。

主要功能

支持主流操作系统和Docker;

能快速启动Docker包扫描;

支持自动化框架;

支持全量API;

支持手动或自动。

优势

  1. OWASP团队仍在积极维护;
  2. 命令行界面有图形界面;
  3. 完善的学习曲线和操作文档;
  4. 适合各类水平用户;
  5. XSS漏洞检测表现突出;
  6. 支持fuzzing测试;
  7. ZAP在渗透测试从业者中非常流行,因此熟悉ZAP有利于从攻击角度发现漏洞。

劣势

  1. 有些功能需装插件;
  2. 需要一些专业知识;
  3. 误报比很多商业产品高。

五、CloudSploit(云资源安全扫描)

Aqua公司开源了CloudSploit的核心扫描引擎,供广大用户下载、更改和使用。CloudSploit支持按需扫描也可配置为持续运行,并及时告警。

主要功能

采用RESTful API;

API可以从命令行、脚本或构建系统(Jenkins、CircleCL、AWS CodeBuild等)调用;

读写控制器可以为每个API密钥提供特定权限;

每个API调用都是可以单独追踪的;

对AWS、Azure和Google云进行持续的CIS基准审计;

持续扫描可以在云基础设施发生变化时发出告警,这些变化可能存在安全隐患,如安全组更改、出现新的受信任的SSH密钥、MFA设备停用、删除日志等。

优势

  1. 扫描结果实时;
  2. 通过HMAC-SHA256签名实现API密钥认证;
  3. 秒级扫描95种以上的安全风险类型;
  4. 直观的web界面;
  5. 支持HIPAA和PCI DSS合规框架;
  6. 支持通过Slack、Splunk、OpsGenie、Amazon SNS、邮件等发送告警。

劣势

  1. 无法通过GitHub获取;
  2. 自动推送、一些报告工具和一些整合功能可能只在付费产品中提供。

六、Firmwalker (物联网)

有些开源团队开发了很多安全工具来扫描网络设备和物联网(IoT)的固件,但漏洞扫描器比较少。Firmwalker可以搜索提取或装好的固件,并报告潜在漏洞。

主要功能

可搜索SSl相关文件和etc/ssl目录;

可搜索配置、脚本和pin文件;

能识别admin、password和remote等关键词;

可搜索URL、电子邮件地址和IP地址。

优势

  1. 对物联网、网络、OT和其他固件进行安全审计;
  2. 可找到异常文件、嵌入式密码或隐藏的URL;
  3. 支持以bash脚本运行。

劣势

  1. 需要一些编程知识才能有效使用;
  2. 没有图形用户界面;
  3. 目前对Shodan API的支持仍在实验阶段。

七、Nikto2(Web Server)

Nikto2是一个开源的web server扫描器,可发现风险文件、程序、错误配置。用户也可在Kali Linux访问Nikto。

主要功能

覆盖6700余种风险文件和程序;

覆盖1250余个旧服务器版本和270种版本问题;

支持检测多种索引文件、HTTP server options;

验证已安装的web服务器和软件;

支持凭证破解;

具备降低误报技术;

报告格式支持TST、XML、HTML、NBE或CSV。

优势

  1. 小巧轻便但功能强大;
  2. 支持文件的输入和输出;
  3. 扫描项目和插件经常更新(自动更新);
  4. 对web服务器的常见问题进行标记;
  5. SSL支持Unix和Windows操作系统,支持HTTP代理;
  6. 可选择部署编码技术,用于入侵检测系统(IDS)的绕过和测试。

劣势

  1. 没有界面,只有命令行;
  2. 过于具体,初学者可能会困惑;
  3. 搜索功能比一些商业产品略逊色;
  4. 全面扫描需耗时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选项可扫描容器的安全漏洞和合规问题。

优势

  1. 快速发现安全问题并即时纠正;
  2. 获Red Hat和其他开源厂商的大力支持;
  3. 结合了安全漏洞和合规性扫描;
  4. 可扫描docker镜像。

劣势

  1. 学习难度高于同类工具;
  2. OpenSCAP包含多款工具,更为复杂;
  3. 用户首先需了解与自身相关的政策条款;
  4. 很多工具只能在Linux上运行,有些甚至只能在特定的Linux发行版上运行。

九、OpenVAS (终端和网络)

Nessus是Tenable发布的一款全球领先的漏洞评估产品。而OpenVAS是Nessus的一个开源分支,功能丰富,漏洞来源广泛,可对传统端点和网络进行大规模的漏洞评估。

主要功能

发现系统的已知漏洞和缺失补丁;

具备web管理控制台;

可安装在任何本地或云服务器;

具备漏洞分析能力,输出如何修复漏洞或攻击者如何利用该漏洞等信息。

优势

  1. Greenbone积极维护中;
  2. 覆盖很多CVE漏洞;
  3. 定期更新漏洞数据库;
  4. 已形成大型社区,供用户交流;
  5. 可随着企业发展从社区版升级到Greenbone企业版或Greenbone云服务。

劣势

  1. 需要一定专业知识;
  2. 大量并发扫描会使程序崩溃;
  3. 没有策略管理;
  4. Greenbone社区版只扫描基本的端点资产或家庭应用产品,如Ubuntu Linux,MS Office等(扫描企业设备或获取策略权限需升级到付费的Greenbone企业版)。

十、Nmap(网络和端口)

Nmap支持绝大多数操作系统,通过IP数据包扫描设备端口并确定被检查的资产有哪些主机、服务和操作系统,是渗透测试人员和IT团队必不可少的工具之一。

主要功能

快速发现IP地址;

通过TCP/IP协议猜测设备操作系统;

持续更新的500个脚本库,用于提高性能。

优势

  1. 快速扫描系统上的开放端口,确定可用的TCP/UDP服务;
  2. 通过端口测试确定运行的协议、应用类型和版本号;
  3. 用户群庞大,开源社区成熟。

劣势

  1. 没有正式的客户支持;
  2. 需要一些专业知识背景。

参考资料: https://www.esecurityplanet.com/applications/open-source-vulnerability-scanners/