AWS - Lambda Persistence
Last updated
Last updated
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
有关更多信息,请查看:
AWS - Lambda Enum可以引入/后门一个层以在 Lambda 执行时执行任意代码,以隐蔽的方式进行:
AWS - Lambda Layers Persistence滥用 Lambda Layers 也可以滥用扩展并在 Lambda 中持久化,同时窃取和修改请求。
AWS - Abusing Lambda Extensions可以授予外部账户对不同 Lambda 操作(如调用或更新代码)的访问权限:
一个 Lambda 可以有不同的版本(每个版本有不同的代码)。 然后,您可以创建不同的别名与不同版本的 Lambda,并为每个设置不同的权重。 这样,攻击者可以创建一个后门版本 1和一个仅包含合法代码的版本 2,并仅在 1% 的请求中执行版本 1,以保持隐蔽。
复制 Lambda 的原始代码
创建一个新的版本,后门化 原始代码(或仅包含恶意代码)。发布并将该版本部署到 $LATEST
调用与 Lambda 相关的 API 网关以执行代码
创建一个包含原始代码的新版本,发布并将该版本部署到 $LATEST。
这将隐藏之前版本中的后门代码
转到 API 网关并创建一个新的 POST 方法(或选择任何其他方法),该方法将执行 Lambda 的后门版本:arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
注意 arn 最后的 :1 指示函数的版本(在此场景中,版本 1 将是后门版本)。
选择创建的 POST 方法,在操作中选择 Deploy API
现在,当您通过 POST 调用函数时,您的后门将被调用
您可以使Lambda 函数在某些事件发生或经过一段时间后运行,这使得 Lambda 成为获得持久性和避免检测的良好且常见的方法。 这里有一些想法可以通过创建 Lambda 来使您在 AWS 中的存在更加隐蔽。
每当创建新用户时,Lambda 生成一个新用户密钥并将其发送给攻击者。
每当创建新角色时,Lambda 给予被攻陷用户假设角色的权限。
每当生成新的 CloudTrail 日志时,删除/更改它们。
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)