JavaGhost使用Amazon IAM权限对组织进行钓鱼

Palo Alto Networks的Unit 42揭露了JavaGhost不断演变的AWS攻击。了解此威胁行为者如何使用网络钓鱼、IAM滥用和高级规避技术,并了解如何检测和应对。

 

Palo Alto Networks的Unit 42研究人员一直在追踪一个持续威胁行为者,编号为TGR-UNK-0011,他们确信该行为者是JavaGhost组织所为。根据他们分享的调查,该组织已经活跃了五年多,最近将重点从网站破坏转移到开展以经济为目的的网络钓鱼活动,尤其是针对云环境。

最初,JavaGhost的活动(记录在网站篡改注册表中)主要围绕更改网站内容。然而,Unit 42在2022年至2024年期间进行的调查显示,攻击者正在积极利用组织的Amazon Web Services (AWS)环境中的错误配置来发起网络钓鱼攻击。

值得注意的是,这些攻击并非源于AWS本身的漏洞,而是由于目标组织内部的配置错误导致长期访问密钥的暴露。

该组织的方法包括利用被盗用的AWS凭证通过命令行界面(CLI)获取初始访问权限。为了逃避检测,他们避免使用常用的“GetCallerIdentity”API调用,而是使用“GetServiceQuota”、“GetSendQuota”和“GetAccount”来混入正常的AWS活动,从而避开常见的检测触发条件。

研究人员发现,他们的工具集还可以通过在GetSigninToken事件期间使用python urllib3来识别。一旦进入,他们就会使用“GetFederationToken”和“允许所有”策略生成临时凭据和控制台访问权限,从而获得最大控制权。

为了建立网络钓鱼基础设施,JavaGhost操纵Amazon Simple Email Service(SES)和WorkMail。他们创建多个SES电子邮件身份,修改DKIM设置,并调整虚拟交付管理器(VDM)和Mail-from属性。此外,他们配置AWS WorkMail组织并创建用户账户,在CloudTrail日志中生成各种SES和AWS Directory Service(DS)事件。

JavaGhost会创建新的SMTP凭证来发送电子邮件,从而创建新的身份和访问管理(IAM)用户和组。他们还会建立IAM用户以实现长期持久性,通常具有管理员权限,并且在最近的攻击中,会创建具有信任策略的IAM角色,允许从攻击者控制的AWS账户进行访问。

该组织的一个独特特征是创建了名为“Java_Ghost”的EC2安全组,其描述为“我们在那里但不可见”。他们还试图退出AWS组织并启用所有AWS区域,表明希望消除安全限制。

研究人员在报告中指出:“通过这种方法访问控制台会混淆他们的身份,使他们更容易看到AWS账户中的资源。由于攻击者很少创建临时凭证来访问AWS控制台URL,因此这些方法通常会绕过检测。”

JavaGhost的策略从简单的访问密钥使用演变为复杂的规避技术,凸显了该组织日益复杂的技术。然而,他们的行为可以通过CloudTrail日志(Scattered Spider过去使用的一种策略)进行追踪,特别是通过检查指示使用Python urllib3库的用户代理字符串。此外,为了免受针对AWS环境的类似攻击,组织应实施多层安全方法。避免使用长期密钥,轮换密钥,审查策略,并监控异常的API调用和IAM活动。

KnowBe4的数据驱动防御布道者Roger Grimes对最新进展发表评论称:“这是不做好基本工作会给自己带来危害的另一个例子。十多年前,当云计算兴起时,“专家们担心我们会看到并习惯的所有针对云计算的新攻击。但随着时间的推移,事实证明,二三十年来在本地环境中困扰我们的问题仍然在云环境中困扰着我们。在这种情况下,过度宽松的权限和社会工程学。70%-90%的成功攻击都要归咎于社会工程学。过度宽松的权限也是一个主要威胁(但漏洞利用和凭据被盗也超过了它),”Roger说道。

他进一步建议:“如果你想要阻止黑客和他们制造的恶意软件,就必须专注于长期的基础工作,这不仅要作为你所做的一切的一部分,而且要主要作为你所做的工作。如果你不阻止社会工程学、针对未修补漏洞的攻击、凭证盗窃(79%的时间是通过社会工程学进行的)和错误配置(其中过度宽松的权限是其中一种),那么你就无法阻止黑客。现在唯一的区别是你需要学习如何在本地和云环境中做到这一点。但威胁是一样的。”

发表评论

评论已关闭。

相关文章