逆向代理服务器配置错误 用户凭证可遭窃取
翻译:360代码卫士团队
研究人员创建了 PoC 攻击,可使未经验证的人员从配置错误的反向代理服务器中提取用户凭证,删除、操控或从网站和应用中提取数据。
周二,RedLock 公司的研究人员发布报告称,这种 PoC 攻击针对的是主流云服务消费者如亚马逊 Web Services、微软 Azure 和谷歌 Cloud。
类似于因被泄数据而损害业务的存储桶配置错误情况,这种 PoC 攻击利用的是领先云服务常用的且网站管理员常常不更改的默认配置。
这种 PoC 针对的 API 为与身份服务如 AWS 的 IAM(身份和访问管理)、微软的 Azure MSI(管理服务身份)和谷歌的 Cloud Cloud IAM 相关联的云数据提供访问权限。研究人员指出,这些功能简化了创建并传播凭证的任务,非常受开发人员的欢迎。如 PoC 攻击中展示的那样,恶意人员也能利用这些功能。
RedLock 公司的首席技术官 Gaurav Kumar 分享了其中的一个 PoC 案例。
他指出,“例如,WordPress 服务器使用凭证能够连接至其它云服务。网站使用 IAM 凭证自动连接至 AWS 存储桶来备份日常交易数据。”Kumar 表示,IAM 凭证依靠网络服务器 API 连接云服务。通过使用一个简单的 CURL 命令,程序就能自由获取 IAM 角色凭证。而这正是研究人员认为 API 和 IAM 凭证滥用能发生的地方。
研究人员通过运行默认 NGINX 程序的反向代理服务器为 web 服务器或应用服务器创建了一个典型的配置。NGINX 是一款可被用作逆向代理的 web 服务器软件。反向代理服务器能够从一个或多个服务器中代表客户端检索资源。
研究人员指出,“RedLock CSI 团队假定 AWS、MS Azure 和 Google Cloud 环境中的某些反向代理设置是为了让任何人都设定主机头部以调用实例元数据 API 并获取凭证。”
Kumar 解释称,“当向代理服务器创建 HTTP 请求时,它包含对主机的指令。我们观测到的情况是,代理服务器从主机头部读取值并到达目的地提取网页。但攻击者能够操控头部请求获取代理服务器上的其它数据,如从 API 端点提取机密数据。”
研究人员表示,程序或潜在攻击者额能够通过某个特定的 URL 使用简单的 CURL 命令访问 IAM 角色凭证。
这种机密数据随后被用于访问和网站或应用相关联的第三方云服务如数据商店、数据库或网站备份。
Kumar 认为易受此类攻击的配置错误的服务器数量庞大,因为反向代理在公共云环境以及将内部应用迁移到云中的组织机构中较为常见。
他指出,“我们发现逆向代理服务器中一个非常流行的配置可能充满问题。”
研究人员还创建了“更加令人恐惧的而且影响可能更为深远的第二种利用方法。”这种类型的 PoC 攻击涉及更多的社工和恶意 Docker 图像。
该 PoC 在 Docker 基础上创建开源工具,该工具能在任意 Linux 服务器上运行的虚拟容器中封装应用及其依赖关系。开发人员在商店如 Docker Hub 中分享 docker 图像,使开发人员能够通过使用预构建图像完成传统任务,将精力放在自己的专长领域,从而节约时间。
RedLock 公司的研究人员表示,“假设某些巧妙的开发人员创建了一种超级有用的、免费下载的 docker 图像‘X’并发表在 Docker Hub 上以及其它数百万中流行资源。然后有一天,部署了数千份或数百万份免费服务下载后,如果该恶意开发人员修改并上传了 X (这种情况一直都在发生,而其他人得到最新版本或向其‘调用’函数)的升级版本中包含恶意命令 ‘ONBBUILD - ’ 怎么办呢?”
研究人员表示,“利用这个实例元数据 API,构建在‘X’ docker图像基础上的每款应用都会运行这个依赖程序未知的脚本 (malcious_script.sh) 而且将会要求获得 IAM 角色凭证。而这正是风险存在的地方。”
关联阅读
原文链接
本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。