Article / 文章中心

保护系统的 25 种优秀开源安全工具

发布时间:2022-04-02 点击数:938
今天整理了一份清单,列出了在计算机安全和其他相关领域广泛使用的 25 个此类程序。

概述

安全工具是允许我们发现软件漏洞的计算机程序。恶意用户使用它们来获得对信息系统、企业网络甚至个人工作站的未经授权的访问。另一方面,安全研究人员使用这些工具来查找软件中的错误,以便公司可以在漏洞利用之前对其进行修补。坏人和渗透测试专业人士都在使用各种各样的开源安全工具。今天整理了一份清单,列出了在计算机安全和其他相关领域广泛使用的 25 个此类程序。

编辑搜图

一些安全工具被广泛用于提升安全权限,而有许多工具旨在提供针对此类漏洞的防御能力。今天分享的开源安全工具,以便您可以清楚地了解与标准安全相关的问题。

1、Metasploit

毫无疑问,Metasploit 项目是现代最好的安全项目之一。它的核心是 Metasploit 框架,这是一个非常强大的工具,允许用户轻松管理和维护他们的安全工作流程。核心解决方案可在 GitHub 中免费获得。

因此,感兴趣的用户可以自己查看源代码并更好地了解它的工作原理。由于其大量的特性和功能,大多数渗透测试人员使用此框架来执行专业的安全审计任务。

Metasploit 的特点

  • Metasploit 通过其强大的模块帮助安全专业人员自动化渗透测试的各个阶段。

  • 它允许用户执行复杂的网络攻击,例如网站克隆、跨站点脚本和网络钓鱼活动。

  • Metasploit 框架是使用 Ruby脚本语言编写的,这使得扩展这个工具变得非常容易。

  • 企业可以选择使用 Metasploit 的高级版本,以确保最大的可操作性和技术支持。

2、 Nmap

Nmap 是一个引人注目的网络扫描程序,被安全专业人员和恶意用户广泛使用。它允许我们扫描主机的开放端口、易受攻击的服务和操作系统检测。大多数黑客会在攻击的开始阶段使用 Nmap,它是一个命令行工具,但有一个很好的 GUI 界面,叫做Zenmap。此外,大量的 Nmap 命令可帮助人们发现有关远程用户和网络的敏感信息。

Nmap的特点

  • Nmap 使用户能够通过发送 TCP/IP 网络请求来发现计算机网络中的可用主机。

  • 它使枚举端口列表和识别某些端口是打开还是过滤变得容易。

  • 安全专业人员可以获得重要信息,例如操作系统版本、运行的服务以及 IDS 机制的存在。

  • NSE(Nmap 脚本引擎)允许用户使用 Lua 编程语言编写自定义脚本。

3、OSSEC

OSSEC 或开源基于主机的入侵检测系统是一种现代 IDS,可帮助专业人员发现企业服务器中的安全问题。它允许用户分析系统日志、执行完整性检查、监控 Windows 注册表等等。OSSEC 还使我们能够发现任何潜在的 rootkit 并提供出色的警报机制。由于其多样化的功能和丰富的功能集,许多公司已经开始使用 OSSEC 来检测难以发现的问题。

编辑搜图

OSSEC的特点

  • OSSEC 允许安全专业人员通过检测系统文件和配置中的未经授权的更改来维护行业合规性。

  • OSSEC 的主动响应功能可确保在出现安全漏洞时立即采取措施。

  • 它提供有关入侵检测的实时警报,并且可以很容易地与现有的 SIM(安全事件管理)解决方案集成。

  • 该项目的开源性质允许开发人员根据需要自定义或修改软件。

4、 OWASP ZAP

OWASP ZAP 或 Zed Attack Proxy 是一款出色的安全扫描程序,适用于现代 Web 应用程序。它由国际公认的安全专家团队开发和维护。Zed Attack Proxy 允许管理员发现大量常见的安全漏洞。它使用 Java 编程语言编写,并提供图形和命令行界面。此外,您无需成为经过认证的安全专家即可 使用此软件,因为即使是初学者也非常简单。

OWASP ZAP 的特点

  • Zed Attack Proxy 可以在开发阶段和测试阶段发现 Web 应用程序中的安全漏洞。

  • 它公开了引人注目的基于 REST 的 API,允许管理员轻松自动化复杂的安全扫描工作流程。

  • ZAP 市场提供了大量强大的插件,可以增强该程序的功能。

  • 其开源许可证允许开发人员自定义此 Linux 漏洞扫描程序,而无需任何法律麻烦。

5、Security Onion

由于其丰富的功能集和强大的监控工具,Security Onion 是企业环境中最好的安全平台之一。它是一个独立的 Linux 发行版,专为入侵检测、日志管理和安全评估而开发。Security Onion 预装了大量开源安全工具,如 NetworkMiner、Logstash 和 CyberChef。我本人非常喜欢这个以安全为中心的 Linux 发行版,因为它易于使用。它是寻求执行安全标准的企业的完美解决方案。

安全洋葱的特点

  • 它是针对企业网络安全的成熟 Linux 发行版,而不是独立的扫描应用程序。

  • 即使对于以前很少或没有安全工具经验的人来说,Security Onion 也非常容易安装和设置。

  • 它可以捕获和分析完整的网络数据包、会话数据、事务数据、网络日志和 HIDS 警报。

  • 该 Linux 环境的开源特性使其易于根据企业需求进行定制。

6、OpenVAS

OpenVAS 是一个安全测试套件,包含大量用于漏洞评估的服务和工具。它最初是Nessus的一个分支,但后来发展成为一个成熟的漏洞扫描框架。该软件套件的一个出色卖点是能够从基于 Web 的仪表板管理要求苛刻的安全服务。OpenVAS 在定位网络服务器和基础设施中的缺陷时效果很好。此外,它的开源特性确保用户可以不受限制地使用该框架。

编辑搜图

OpenVAS 的特点

  • 此 Linux 漏洞扫描程序的标准基于 Web 的仪表板非常直观且易于操作。

  • 它提供有关它发现的漏洞的深入信息以及 CVSS 评分和风险评级。

  • OpenVAS 还提供了关于如何根据其影响克服安全漏洞的优秀建议。

  • 第三方开发人员可以使用 Nessus 攻击脚本语言或 NASL 轻松扩展此框架。

7、Wireshark

Wireshark 是一个开源数据包分析器,允许用户查看网络流的非常详细的信息。它是用于网络故障排除和分析的最佳开源安全工具之一。恶意用户经常使用 Wireshark 捕获网络数据包并分析它们以获取可用的敏感信息。它是一个多平台应用程序,带有适用于不同Linux 和 BSD 发行版的现成软件包。总体而言,对于使用 tcpdump 或 tshark 等工具的人来说,这是一个不错的选择。

Wireshark 的特点

  • Wireshark 可以捕获实时数据包并对其进行分析以获取诸如明文密码之类的可读信息。

  • 它可以保存数据包,从保存文件中导入它们,过滤它们,甚至为它们着色以获得更好的视觉表示。

  • Wireshark 是使用 C 和 C++ 编程语言编写的,这使得它非常快速和可移植。

  • 它采用开源 GNU GPL 许可证,允许用户查看源代码并进行进一步的定制。

8、Nikto

Nikto 是一款引人注目的网络服务器扫描仪,自发布以来就广受欢迎。它是一个命令行工具,允许管理员检查服务器配置错误、过时的包和有缺陷的 CGI 等等。Nikto 的轻量级特性主要促成了它的成功。许多现代渗透测试人员使用 Nikto 作为 Zed Attack Proxy (ZAP) 等大型服务器扫描仪的替代品。Nikto 是使用 Perl 编写的,可以在大多数类 Unix 系统上完美运行。

编辑搜图

Nikto的特点

  • Nikto 内置了对 HTTP 代理、OpenSSL、LibWhisker 的 IDS 编码以及与 Metasploit 的集成的支持。

  • 其强大的模板引擎可以轻松创建自定义扫描报告并将其保存为 HTML、纯文本或 CSV 文档。

  • 管理员可以使用预构建的容器映像或自定义配置轻松地将 Nikto 部署为 docker 容器。

  • Nikto 免费提供的源代码允许开发人员根据需要扩展或修改软件。

9、W3af

W3af 是用于现代 Web 应用程序的功能强大的安全测试框架。它是一个用 Python 编写的开源项目,为开发人员提供了极好的定制机会。W3af 可以发现 200 多种安全漏洞,包括 SQL 注入、跨站点脚本、CSRF、操作系统命令和基于堆栈的缓冲区溢出。它是一个真正的跨平台软件,非常容易扩展。这是其在安全专业人士中越来越受欢迎的主要原因之一。

W3af 的特点

  • W3af 具有极强的可扩展性,并提供了大量预构建的插件来增加功能。

  • 它带有一个集中的知识库,可以有效地存储所有漏洞和信息披露。

  • W3af 强大的模糊测试引擎允许用户将有效负载注入到 HTTP 请求的任何组件中。

  • 用户可以在Linux 命令外壳、数据文件中或直接通过电子邮件接收其 Web 扫描的输出。

10、 Wapiti

Wapiti 是另一个非常强大的基于 Web 的应用程序的安全扫描程序。它执行黑盒扫描以获取所有可能 URL 的列表,一旦成功,它将尝试通过向它们注入有效负载来查找易受攻击的脚本。因此,它也像一个 Fuzzer。Wapiti 可用于检测多种类型的 Web 漏洞,例如 XSS、服务器端请求伪造 (SSRF)、数据库注入和文件泄露。总的来说,它是一个非常强大的程序,可以很容易地找到大量的错误。

Wapiti 的特点

  • Wapiti 允许多种类型的身份验证方法以及随时暂停或恢复扫描的能力。

  • 它可以非常快速地扫描 Web 应用程序,并根据用户偏好提供不同级别的详细信息。

  • 用户可以选择通过在其Linux 终端中对它们进行颜色编码来突出显示任何报告的漏洞。

  • Wapiti 利用 Nikto 漏洞数据库来查明潜在风险文件的存在。

11、CipherShed

CipherShed 是一种现代加密软件,最初是现已解散的 TrueCrypt 项目的一个分支。它旨在为您的敏感数据提供一流的安全性,并可用于保护个人和企业系统。这个跨平台的应用程序可以在包括Linux 和 FreeBSD在内的所有主要操作系统上顺利运行。此外,该项目的开源性质确保开发人员可以轻松访问和修改源代码,如果他们愿意的话。

编辑搜图

CipherShed 的特点

CipherShed 带有一个直观的 GUI 界面,这使得该软件的操作对于专业人士来说非常容易。

它非常轻巧,允许用户非常快速地创建保存敏感信息的安全容器。

CipherShed 允许用户卸载加密卷,以便将它们移动到安全的地方。

加密驱动器可以在不同系统之间传输,而不会出现任何兼容性问题。

12、 Wfuzz

Wfuzz 是最好的开源安全工具之一,可以有效地暴力破解基于 Web 的应用程序。它是使用 Python 开发的,并提供了一个简单的命令行界面来管理程序。Wfuzz 可以暴露多种类型的漏洞,包括 SQL 注入、LDAP 注入和跨站点脚本。

渗透测试人员经常使用这个工具来暴力破解 HTTP GET 和 POST 参数,以及模糊 Web 表单。因此,如果您正在寻找用于 Web 应用程序的轻量级漏洞扫描程序,Wfuzz 可能是一个可行的解决方案。

Wfuzz的特点

  • 它可以执行 HEAD 扫描以更快地公开资源,并支持有效载荷的多种编码方法。

  • Wfuzz 内置了对 HTTP 代理、SOCK、cookie 模糊、时间延迟和多线程的支持。

  • 用户可以将输出结果保存在 HTML 文件中或将其导出到更强大的 Linux 漏洞扫描程序。

  • 它提供了出色的文档来帮助用户尽快启动和运行。

13、 OSQuery

OSQuery 是现代系统的应用程序,可用于检测、监视和分析操作系统中的更改。它由 Facebook 的工程团队开发,依靠 SQL 查询语言来查看安全事件的变化。

管理员可以使用 OSQuery 监控低级系统详细信息,例如正在运行的进程、网络流、内核模块、硬件更改,甚至是文件哈希。该工具的源代码可在 GitHub 上免费获得。因此,开发人员可以对其进行自定义以符合企业要求。

OSQuery 的特点

  • 它公开了一个名为 osqueryi 的现代交互式控制台,允许用户尝试强大的查询并探索系统详细信息。

  • OSQuery 带有数十个内置表,可加速诊断系统更改和性能问题。

  • 强大的监控守护进程 osqueryd 使管理员能够为大规模基础设施安排执行查询。

  • OSQuery 是使用模块化代码库构建的,可保证一流的性能并提供出色的文档。

14、SonarQube

SonarQube 是安全专业人士最好的开源安全测试工具之一,因为它具有丰富的功能集和出色的性能。它使用 Java 编程语言编写,允许研究人员发现 Web 应用程序的一些常见威胁。

SonarQube 可以检测跨站点脚本漏洞、拒绝服务 (DOS) 攻击和 SQL 注入等。它可以审查网站的编码问题,并与Jenkins等工具很好地集成。总体而言,它对于安全从业者和 Web 应用程序开发人员来说都是一个有用的工具。

编辑搜图

SonarQube 的特点

  • SonarQube 可以使用强大的静态代码分析规则在 Web 应用程序中发现难以捕捉的逻辑错误。

  • 虽然是用 Java 编写的,但它可以审查用超过 25 种不同编程语言编写的应用程序。

  • 它还可以用于审查项目存储库并轻松与 GitHub 和 Azure DevOps 等平台集成。

  • SonarQube 除了开源版本外,还为企业和开发人员提供了几个付费版本。

15、 Snort

Snort 是一个强大的入侵检测系统,目前由 Cisco 维护。它允许安全测试人员实时捕获和分析网络流量。它可以检测多种类型的 Web 漏洞,包括但不限于隐形扫描、语义 URL 攻击、缓冲区溢出和操作系统指纹。它为不熟悉数据包分析的人提供了出色的文档。因此,您可以轻松设置并开始测试网络缺陷。

Snort的特点

  • Snort 可以配置为三种不同的模式,作为嗅探器、数据包记录器或网络入侵检测机制。

  • 它采用宽松的 GNU GPL 许可证,因此开发人员可以轻松地向该软件添加自己的修改。

  • Snort 与多个第三方报告和分析工具完美集成,包括 BASE、Snorby 和 Sguil。

  • 思科经常为这个入侵检测系统推出更新的功能和错误修复。

16、 VeraCrypt

VeraCrypt 无疑是保护敏感数据的最佳开源安全工具之一。它是一个开源磁盘加密平台,允许用户即时加密他们的Linux 分区。与 CipherShed 一样,它也是现已停止的 TrueCrypt 项目的一个分支。

VeraCrypt 通过使用 C、C++ 和汇编语言开发运行时来改善许多加密软件面临的性能问题。而且,它完全是跨平台的。因此,您可以在所有机器上使用此工具,而不会遇到兼容性问题。

VeraCrypt 的特点

  • VeraCrypt 通过创建可以正常安装在 Linux 文件系统上的虚拟加密磁盘来工作。

  • 它具有对并行化和流水线的内置支持,可确保磁盘操作不会减慢。

  • VeraCrypt 提供了一些极其先进的安全功能,例如隐藏卷和隐藏操作系统。

  • 它提供了多种加密格式,包括透明加密、自动加密和实时加密。

17、 Moloch

Moloch 是近来最有前途的开源安全测试工具之一。它是一个强大的平台,有助于捕获 TCP/IP 数据包,并使用户能够从传统的数据库管理系统管理这些数据包。这个开源项目由于其减轻常见网络威胁的简单方法而在许多测试人员中越来越受欢迎。Moloch 还提供广泛的高质量文档,以帮助人们开始使用此应用程序。

编辑搜图

Moloch的特点

  • Moloch 具有极强的可扩展性,可以部署在每秒处理数千兆流量的企业集群上。

  • 它公开了一组强大的 API,可以轻松地将 Moloch 与其他开源安全工具轻松集成。

  • 管理员可以使用集中式 GUI 界面轻松地将搜索结果导出为 PCAP 或 CSV 文档。

  • Moloch 完全是跨平台的,并为包括 Ubuntu 在内的多个 Linux 发行版提供预构建的二进制文件。

18、 Aircrack-ng

Aircrack-ng 是黑客用来绕过无线网络身份验证的事实上的软件套件。它是开源安全工具的集合,其中包括嗅探器、密码破解器和分析工具等。Aircrack-ng 允许用户使用统计分析和字典攻击等多种方法破解 WEP 和 WPA/WPA-2 凭据。与其他安全工具一样,许多专业人士也使用 Aircrack-ng 来检查无线网络的完整性。

Aircrack-ng 的特点

  • 它支持多种类型的网络攻击,包括重放攻击、数据包注入、取消身份验证等。

  • Aircrack-ng 提供的所有工具都通过支持繁重脚本的多功能命令行界面进行控制。

  • Aircrack-ng 在大多数 Linux 发行版上都很容易获得,而且从源代码编译也相当容易。

  • 该应用程序套件的开源代码库使检查和添加新功能变得容易。

19、 Tcpdump

Tcpdump 是一个简单但功能非常强大的数据包嗅探器和网络分析器,适用于专业的渗透测试人员。它的有效性在行业中得到了证明,在剖析捕获的网络数据包时,它仍然是许多人的首选。这种多平台工具因其辉煌的历史而备受追捧,并推动了许多现代嗅探器(如 Wireshark)的开发。如果你是一个对网络研究领域感兴趣的开源开发者,你可以使用这个工具学到很多东西。

Tcpdump 的特点

  • Tcpdump 是一个命令行工具,可以使用Linux shell 脚本和其他编程语言轻松编写脚本。

  • 用户可以导入预先存储的数据包并以多种格式显示,包括 HEX 和 ASCII 等。

  • 此数据包嗅探器有许多备受推崇的文档,包括整本书和 Linux 手册。

  • 您可以查看源代码以更深入地了解 Tcpdump 的工作原理,甚至可能有助于其开发。

20、SQL映射

SQLMap 是一个优秀的开源工具,允许管理员在他们的网站和应用程序中搜索 SQL 注入漏洞。这个免费但功能强大的应用程序提供了一个强大的测试引擎,可以发现多种类型的 SQL 漏洞,包括基于时间、基于错误和基于布尔值的盲注等。

管理员可以轻松转储表以对数据进行仔细检查。此外,此 Linux 漏洞扫描程序的免费代码库确保第三方开发人员可以根据需要添加额外的功能。

编辑搜图

SQLMap的特点

  • SQLMap 支持几乎所有主要的 DBMS,包括 MySQL、Oracle 数据库、MsSQL、Firebird、MariaDB、IRIS 和 IBM DB2。

  • 它是一个命令行工具,支持自动密码识别、标准身份验证和字典攻击。

  • SQLMap 可用于通过连接到 Metasploit 框架的 Meterpreter 有效负载来提升数据库权限。

  • 这个开源应用程序以手册、视频和强大的问题跟踪工具的形式提供了出色的文档。

21、Zeek

Zeek 是一个引人注目的网络分析框架,已经存在了很长时间。这种入侵检测机制最初被称为 Bro。它是探索个人或企业网络异常的最佳开源安全工具之一。Zeek 通过捕获所有网络活动的日志来工作,而不是像许多传统的 IDS 工具那样依赖签名。安全测试人员可以通过手动查看这些数据或通过安全和信息事件管理 (SIEM) 系统来分析这些数据。

Zeek的特点

  • Zeek 因其灵活且适应性强的特性集而适用于测试大型企业基础设施。

  • 它使用高级语义分析技术提供对所观察网络的深入洞察。

  • 大量预构建的附加组件可以轻松地为该网络分析软件添加额外的功能。

  • Zeek 为企业和开发人员提供多种构建,包括 LTS 版本、功能版本和开发版本。

22、 Kali Linux

许多人同意Kali Linux可以说是专业人士最好的开源安全测试工具之一。它是一个基于 Debian 的 Linux 发行版,带有现代渗透测试所需的所有基本工具。这就是为什么很多恶意黑客使用 Kali 作为他们的基础系统的原因。无论您是经过认证的专业人士还是初级安全爱好者,掌握 Kali Linux 都将帮助您轻松探索未知领域。

Kali Linux 的特点

  • Kali Linux 可在多种平台上使用,包括基于 ARM 的系统和 VMware 虚拟机。

  • 用户可以根据个人喜好创建实时安装,并使用多种加密机制进行保护。

  • 它允许测试人员通过从大量元包中进行选择来构建自定义渗透测试环境。

  • 您甚至可以使用Linux Deploy应用程序在基于 Android 的智能手机上运行 Kali,并根据需要对环境进行 chroot。

23、GRR——谷歌快速响应

GRR 或 Google Rapid Response 是 Google 开发的一个引人注目的事件响应框架,用于在远程环境中维护实时取证分析作业。它由用 Python 编写的服务器和客户端组成。客户端或代理部分部署在目标系统上,并通过服务器进行管理。它是一个完全开源的项目,因此您可以非常轻松地根据个人需求添加自定义功能。

编辑搜图

GRR的特点

  • Google Rapid Response 完全跨平台,可在 Linux、FreeBSD、OS X 和 Windows 系统上流畅运行。

  • 它利用 YARA 库来分析远程内存并提供对操作系统级详细信息和文件系统的访问。

  • 管理员可以有效地监控远程客户端的 CPU 使用情况、内存详细信息、I/O 使用情况等等。

  • GRR 完全具备处理现代安全事件的能力,并允许自动基础设施管理。

24、 Grabber

Grabber 是用于网站、论坛和应用程序的轻量级和便携式 Linux 漏洞扫描程序。它是用于评估个人 Web 应用程序的最有用的开源安全测试工具之一。由于 Grabber 非常轻量级,因此它不提供任何 GUI 界面。

但是,控制应用程序非常简单,即使是初学者也可以使用它来测试他们的应用程序。总的来说,对于正在寻找便携式测试工具的安全爱好者和应用程序开发人员来说,这是一个相当不错的选择。

Grabber 的特点

  • Grabber 可用于简单的 AJAX 验证、跨站点脚本和 SQL 注入攻击。

  • 这个开源测试工具是使用 Python 编写的,非常容易扩展或定制。

  • 您可以使用 Grabber 非常轻松地检查基于 JavaScript 的应用程序中的逻辑缺陷。

  • Grabber 创建一个简单但有用的统计分析文件,突出其发现和主要细节。

25、 Arachni

Arachni 是一个用 Ruby 编写的功能丰富的模块化 Web 应用程序测试框架。安全专业人员可以使用它来执行广泛的任务。它使用起来非常简单,但本身并不缺乏动力。此外,该工具的模块化特性允许用户轻松地将其与 Metasploit 等其他开源安全测试工具集成。由于该软件的源代码可以自由访问和修改,第三方开发人员可以不受任何限制地添加新功能。

Arachni 的特点

  • Arachni 带有一个漂亮而直观的图形用户界面,这使得它非常易于管理。

  • 它公开了一组强大的 REST API,使开源开发人员更容易集成。

  • Arachni 提供多种部署选项,包括分布式平台和个人服务器。

  • 它可用于检查跨站点脚本、SQL 注入、代码注入和文件包含变体。

小结

随着信息化的发展,安全性变得比以往任何时候都更加重要。值得庆幸的是,大量开源安全工具使专业人员可以轻松检查漏洞并允许开发人员在有人利用它们之前修补它们。无论您是专业测试人员还是单纯的爱好者,了解这些工具将帮助您在未来缓解许多安全漏洞。希望本指南为您提供了您正在寻找的必需品。