使用 OXO 开源扫描器扫描外部攻击面

外部攻击面通常是任何组织的第一个易受攻击层。如果您的面向互联网的基础设施不安全,世界另一端的攻击者就可以造成严重破坏和重大损失。
然而,检查攻击面的漏洞非常耗时耗力。这需要紧跟最新的风险、维护最新的资产清单以及合适的工具。
虽然开源社区提供了多种工具来帮助完成这项任务,但人们往往很快就会被其庞大的数量和通常并不理想的用户体验所淹没。
这段旅程从逐个安装这些工具开始,每个工具都需要特定的依赖项和环境,有时还需要非常长的配置步骤。
选项往往不够明确,理解每个选项的概念和术语始终是一项艰巨的任务。
设置完成后,随之而来的是大量不同的输出格式和风险评级。
值得庆幸的是,Ostorlab 来帮助您解决这个问题,使使用开源社区提供的最佳工具的过程变得简单、一致甚至有趣。
在深入了解 Ostorlab 的功能之前,让我们先回顾一下一些最好的开源网络安全扫描工具:
Nmap: “用于网络发现和安全审计的免费开源工具。”它以快速灵活而闻名,可以扫描单个 IP、范围和完整的子网,并具有多种功能。
Nuclei: “快速且可定制的漏洞扫描器”。基于 yaml DSL(领域特定语言)。该 DSL 具有人类可读的格式,并具有丰富的漏洞检测模板。
Tsunami: “一个通用网络安全扫描器,具有可扩展的插件系统,用于高置信度地检测高严重性漏洞。”Tsunami 扫描器专注于以高置信度和极低的误报率检测类似 RCE 的漏洞。
OpenVAS: “一个全功能的漏洞扫描器。”是一个免费的开源扫描器,拥有庞大的漏洞和 CVE 知识库支持。它是当时开源的 Nessus 安全扫描器的一个分支。

单独运行每一个工具并合并结果并不是最直接的体验。每个工具都使用不同的语言构建,确保您拥有最新版本和最新的检测规则并不总是那么容易。
Ostorlab 通过非常少的命令和极低的要求简化了这项任务。
安装
要安装 ostorlab,唯一的要求是已安装 Docker 和 Python 包管理器(pip)。只需运行:
pip install -U ostorlab
Ostorlab 专为在从 Linux、MacOS 到 Windows 的所有操作系统上运行而构建。Ostorlab 还会检查 Docker 访问权限并在出现任何问题时向您发出警报。
Ostorlab 还在 dedicated store 上维护我们提到的所有工具,并自动处理更新和升级。
运行扫描
要使用我们列出的开源工具 OpenVAS、Nmap、Tsunami 和 Nuclei 执行针对 IP 地址的扫描,请使用以下命令:
oxo scan run --install \
--agent agent/ostorlab/nmap \
--agent agent/ostorlab/tsunami \
--agent agent/ostorlab/nuclei \
--agent agent/ostorlab/openvas \
ip <ip-address>

解析命令:
--install: 将从 ostorlab 商店提取列出的代理的最新版本,并将它们安装在您的机器上。代理只不过是容器镜像,可以轻松删除。
--agent
您还可以添加 --follow 标志:
--follow
oxo scan run \
--agent agent/ostorlab/nmap \
--agent agent/ostorlab/tsunami \
--follow agent/ostorlab/nmap \
ip <ip-address>
监控扫描进度
要显示扫描进度,请运行以下命令:
oxo scan list
扫描完成后,您应该在进度列中看到 Done。
访问漏洞详情
要列出识别出的漏洞,请使用以下命令:
oxo vulnz list -s <scan-id>
要访问漏洞详细信息,请使用 describe 选项:
oxo vulnz describe -v <vuln-id>
下一步
希望您能体会到 Ostorlab 在外部攻击面方面为您减少了许多麻烦。这仅仅是您可以用来做什么的一个介绍,因为 Ostorlab 专为支持扫描所有资产类型并覆盖所有漏洞类别而构建,从简单的配置问题、Web API 扫描到运行成熟的动态分析环境。
有关如何运行您的第一次扫描的更多详细信息,请查看此 tutorial;有关如何构建您的第一个代理的更多信息,您还可以查看此 tutorial。
如果您对 Ostorlab 开源版本的所有新功能感到好奇,可以在我们的 blog post 中了解更多信息。