当前位置: 首页 > 科技观察

安全视角:如何更高效地执行大规模安全扫描

时间:2023-03-15 19:49:19 科技观察

关于NetzNetz帮助我们轻松运行Internet范围内的错误配置研究和其他事情,它将基础架构包装为代码,因此您可以将您的研究计划放入配置文件中,运行命令行界面,等待结果。它还包含一些更高级的功能,例如使用PF_RINGZC(零复制)内核模块快速扫描BLAZING等。Netz可以帮助我们完成以下任务:大规模的内外网扫描;扩展我们的渗透测试工具箱,可通过命令行界面工具直接访问;易于安装;专为红队和蓝队研究人员设计;本文概述在这篇文章中,我们将检查Internet中的宏错误配置问题,并了解Netz如何帮助我们理解该问题。Netz是一款开源工具,非常适合我们的研究。常用扫描方法检测公开暴露在互联网上的Web资产的最快方法是使用搜索引擎服务,例如Shodan、Censys或Zoomeye,并使用查询语言来查看广泛的互联网组件。如果你想手动而不是使用在线服务,或者如果你想在你的内部网络上进行扫描,也有一些方法可以做到。在小型网络和可扩展到整个Internet的大型网络之间执行不同类型的扫描。对于小规模扫描,您可以使用流行的命令nmap(在最先进的渗透测试分发操作系统-KaliLinux中可用)。对于更大规模的网络,最流行的是使用ZMap和masscan。我该怎么做呢?假设我们现在要进行一项研究,假设您想扫描整个互联网(或其中的一部分),您将如何使用这些工具?好问题!如果你想在自己的电脑上使用ZMap或者masscan如果你在线扫描整个互联网,你对结果很好奇,又不能离开你的电脑,那你就应该准备点吃的,做好持久战的准备,因为它可能需要数周时间,估计你的带宽资源已经用完了。为什么?因为这些工具被设计成具有侵略性和侵略性,能够在最短的时间内扫描整个互联网,你可以控制这些工具使用的带宽量并使其不那么侵略性,但你需要更多的食物来获取食物......更少的等待时间如果你不想等那么久,你可以使用一个开放的云设备,但即便如此,底层设备的网络接口控制器(NIC)每秒处理的数据包数量也会有问题(PPS)做一个限制。所以,你可以做什么?你可以使用更强大的机器,更强大的网卡和更多的PPS,那么它会更快。快多少?这取决于机器类型和网卡类型-越短越好,但即使那样也可能需要数小时到数天。问题是,想要在最短的时间内做大量的测试,再强大的机器、最好的网卡种类也是有限的,怎么办?我们可以使用两种不同的方式来分配工作量:扫描任务分配到多台机器上,每台机器扫描一个专用的CIDR子网,所以我们可以将0.0.0/0拆分成4个子网,让每台机器扫描自己的子网,然后组合结果。使用一台具有多个NIC的功能强大的计算机,并让该计算机使用整个子网。到目前为止我们一直在谈论网络扫描,但是正如我之前提到的,如果您想做的不仅仅是知道那里有哪些开放端口和元数据,并且您想在扫描时对这些端口执行应用程序操作,那么您需要一个应用程序扫描工具,其中最流行的是ZGrab2。计划执行这是我们计划实现的工作流程:尽可能快地扫描某个子网;将这些IP/端口元组通过管道传输到应用程序扫描工具,以测试这些端口中的各种安全问题;无休止的等待...以下是应用程序安全扫描的几个示例:您想要测试Elasticsearch服务器是否未配置管理员访问权限,我们可以通过向`/_cat/indices`发送HTTP调用请求来实现,如果返回是200OK,那就有问题了。你想测试一个web服务器中的`.git'目录是否配置错误,我们可以发送一个HTTP调用到`/.git`,如果它返回200OK,说明有问题。你想测试Redis/Memcached/PostgreSQL/MySQL是否配置了免凭证访问,我们也可以使用ZGrab2进行测试。在不需要添加任何协议或技术栈的情况下,ZGrab2是可扩展的,因此您只需在Golang中编写一个小函数即可轻松扩展该工具的功能。我为什么要寻找Internet范围内的错误配置?如果我告诉你,你家的路由器是开放给互联网内部访问的,你会作何感想?听起来有点吓人,但你脑海中首先浮现的是:我有什么要保护的吗?大多数时候答案是——不,没什么特别的。对于那些无法回答的人,我会用黑客入侵婴儿监视器的著名故事来提醒您,让您想象接下来会发生什么!现在有一个新的挑战:如果我告诉你,你公司的内部数据,或者更糟的是,你公司的客户数据,是对互联网开放的,你会有什么感觉?如果您感觉自己的心跳开始加快——恭喜您!您成功通过了挑战!你现在可以继续阅读了。我们如何解决这个问题?世界已经改变,我们正处于第五次技术浪潮中,软件世界一如既往地向前发展,而网络空间的解决方案只能紧随其后。为了保持竞争力,组织正在以前所未有的速度发展,在不同领域增加软件自动化,所有团队都采用不同的工具和系统。由于公共云的兴起和“一切即服务”的爆炸式增长,以及无处不在、一切都由软件自动化控制的事实,公司正在迅速发展。脚踏实地今天,世界上几乎所有的公司都在使用不同的第三方SAAS、PAAS和IAAS。在这些“即服务”解决方案之上,还安装了数据管道工具、数据科学框架、不同的开源项目以及DevOps基础设施和可观察性工具。所有这些不同的解决方案都使用不同的配置和秘密/凭证,包括数据库连接字符串、API密钥、非对称密钥、令牌、用户名/密码组合、管理、安全和隐私设置等。即使是今天的基础设施也不是以前的样子——基础设施是由代码控制的,而代码又包含了很多类型的配置,因此变得更加复杂。在一些组织中,跨多个公共云供应商的多个基础设施的复杂性甚至更高。讽刺的是,这些尖端技术让我们越来越快地走向更好的地方,但同时也带来了网络空间的风险。权力越大,责任越大:您如何确保公司的所有资产都受到保护?那么我们该怎么办?既然我们在同一页上并且复杂性如此明显,那么很容易理解为什么供应链任何??关键部分的错误配置或处理不当会产生严重后果。错误的大小与损失不成比例,一个相对较小的错误可能会使公司在“最好的情况”下损失数百万美元,或者在最坏的情况下倒闭。