红队软件供应链攻击模拟思路
红队的目的是模拟真实对手,测试组织的技术安全控制和非技术措施(如响应程序、DFIR手册等)。四年前,我曾发布过关于红队如何部署多阶段C2基础设施的建议。现在,我将重点讨论大多数公司面临的另一个日益增长的威胁。
无论是国家行为体、共享库、黑客活动分子还是其他任何形式,软件供应链入侵正受到广泛关注。因此,如果您是红队成员,并正在寻找模拟这些攻击的方法,这里有一些思路。
为什么要这样做?通过实际评估客户是否能有效防护(或至少检测)供应链威胁,为客户提供更多价值。
内部代码库
假设您获得了开发人员、管理员、工程师等终端设备的访问权限,可以修改内部代码库中的代码或配置,以传播到更多系统/网络。例如,检查您的“用户”是否可以访问:Git仓库、CI/CD流水线、配置管理工具(如Saltstack、Ansible、Terraform、Puppet、Cfengine、JAMF、Rudder、Chef、SCCM等)、云部署工具、容器镜像等,并尝试通过这些方式推送植入程序或扩展访问权限。
水坑式供应链攻击
在某些时候,您几乎肯定会获得比终端设备更高级别的访问权限。可能是文件服务器、内部Web应用服务器、云/第三方服务、运行某些小服务的容器或其他任何东西。那么,为什么不修改该系统提供的服务,向任何使用它的人推送植入程序或采取行动,以增加您的访问权限,而不是通过“传统方式”进行横向移动?
内部软件包/软件
您可能会偶然发现一些(开源或专有)软件,这些软件要么在内部仓库中镜像,要么因业务原因进行了定制,并托管在文件服务器、软件包仓库或类似的地方。在这里,您可以尝试对这些软件进行木马化,并等待它们传播。
软件更新解决方案
组织通常会有自动化或半自动化的软件更新解决方案。如果您能修改这些更新以包含植入程序,就可以非常有效地模拟供应链传播。提示:其中一些系统依赖本质上不安全的协议(如FTP、TFTP、SMTP、HTTP等),因此,如果您能访问它们传输数据的链路,甚至可以在网络层面劫持/中间人攻击/木马化它们。
设备管理
与上一条类似,即使是小型组织也会依赖一个(或多个)设备管理解决方案。如果您能获得访问权限,这或多或少就像为您预先配置了一个不错的C2。那么,为什么不利用它来扩展您的访问权限呢?
预先约定的访问权限
作为工作声明(SoW)的一部分,您可能会获得一些有限的访问权限。如果您旨在评估该组织的供应链能力,可以请求访问某些内部应用程序,或者更好的是,访问组织依赖的第三方系统/应用程序/服务,并将其作为您的起点。这意味着,演练开始的前提是该第三方已被攻陷。
我相信,根据目标组织的不同,红队还可以利用更多概念。但希望以上内容能为您提供一些思路,帮助您以相对可控但现实的方式评估供应链威胁。