网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络渗透测试

SCARLETEEL:利用 Terraform、Kubernetes 和 AWS 窃取数据(2)

一旦收集完毕,就可以在短时间内使用这些凭据,以便代表被冒充的 IAM 角色运行操作,直接调用 AWS API。使用 CloudTrail 日志,你可以看到来自使用集群角色的攻击者的第一个 API 调用:

SCARLETEEL:利用 Terraform、Kubernetes 和 AWS 窃取数据

图 6

攻击者运行一些 AWS 操作在 AWS 平台上获得持久性,试图创建新的用户 / 组,并将新的访问密钥绑定到现有 IAM 用户。幸好,由于攻击者使用的帐户缺乏权限,所有这些执行都被拒绝了。

不幸的是,AWS 集群角色错误配置,拥有过大的读取权限。本意是允许读取特定的 S3 存储桶,但权限允许角色读取帐户中的一切,这使攻击者得以进一步了解 AWS 帐户,包括 Lambda。

发现—— AWS 云

一旦攻击者获得对云帐户的初始访问权,就开始收集关于部署在 AWS 帐户中的资源的信息。下表中报告的活动只是 AWS 帐户中记录的部分 API 请求。

SCARLETEEL:利用 Terraform、Kubernetes 和 AWS 窃取数据

图 7

在这些收集活动期间,攻击者将目光放在最常用的 AWS 服务上:无服务器 Lambda 函数和 S3 存储桶。

Lambda 函数枚举——盗取专有代码和软件

Lambda 函数及其他无服务器函数常用于执行自定义代码,无需担心底层基础设施,这给了最终用户很大的灵活性。

受影响的 AWS 帐户中有不同的 Lambda 函数,主要与帐户自动化有关。

攻击者开始使用适当的 API 调用枚举和检索位于 AWS 帐户中特定区域的所有 Lambda 函数。比如说,你可以使用以下的 AWS 命令列出函数。说白了,它就是 REST API 调用,因此有许多方法来完成这个任务。

aws lambda list-functions

在获得函数列表后,攻击者试图通过下载 Lambda 代码来深入挖掘。他们调用下面的 AWS API,获得了代码位置,从而可以下载组成 Lambda 的代码。在本例中,Lambda 函数拥有专有软件及执行软件所需的密钥。

aws lambda get-function --function-name $function_name --query 'Code.Location'

使用 curl 或 wget 命令,攻击者成功盗取了 Lambda 代码,并从 Lambda 函数盗取了专有代码和软件。还有证据表明攻击者执行了盗取的软件。

攻击者花时间查看 Lambda 函数的环境变量,使用类似以下的命令,找到了同一帐户中与 IAM 用户相关的其他 AWS 凭据:

aws lambda list-versions-by-function --function-name $function_name

正如你在攻击下几步中看到的那样,攻击者使用这里找到的凭据对新用户重试枚举,希望有新的发现或评估帐户内部可能的特权升级。

S3 存储桶枚举

亚马逊 S3 是一种非常流行的存储服务,允许用户存储和检索数据。

攻击者常常攻击存储在 S3 存储桶中的资源和文件,以提取信息和凭据。在过去,许多攻击利用了配置错误的 S3 存储桶或没有密码或安全措施就向公众敞开的 S3 存储桶。在这次攻击中,攻击者能够检索和读取超过 1Tb 的信息,包括客户脚本、故障排除工具和日志文件。

SCARLETEEL:利用 Terraform、Kubernetes 和 AWS 窃取数据

图 8

CloudTrail 并不记录存储在 S3 存储桶中的对象的数据事件,除非明确请求此类功能。在本例中,该功能没有开启,因此无法查看有关访问特定对象的信息。但是我们可以肯定攻击者遍历了存储桶、寻找敏感数据。为了在不消耗可用存储的情况下加快搜索速度,他们可能使用了 TruffleHog 等工具,立即获得新的 AWS 用户凭据,并继续在集群中横向移动。

1 TB 的数据还包括与 Terraform 相关的日志文件,Terraform 在帐户中用于部署部分基础设施。这些 Terraform 文件将在攻击者试图转移到另一个 AWS 帐户的后续步骤中发挥重要作用。

防御逃避——禁用 CloudTrail 日志

一旦攻击者访问了云帐户,试图禁用受攻击帐户中的 CloudTrail 日志。从下面截图中可见,由于前几个步骤中其中一个受攻击的用户被分配了额外权限,攻击者成功禁用了帐户中配置的一些日志。

SCARLETEEL:利用 Terraform、Kubernetes 和 AWS 窃取数据

图 9

由于该操作,我们无法检索另外的攻击证据。在审查帐户权限时,将禁用或删除安全日志的功能留给尽可能少的用户至关重要。

凭据访问—— Terrraform 状态文件

Terraform 是一个开源基础设施即代码(IaC)工具,用于在云环境中部署、更改或创建基础设施。

(责任编辑:admin)