在过去的几天里,网站所有者,特别是那些在 GoDaddy 上托管的网站所有者,一直在经历奇怪的重定向到各种网站。这些重定向不会一直发生,但它们似乎会在用户首次访问页面或刷新页面足以触发它时发生。我第一次偶然发现这个问题是在访问我最喜欢的一家餐厅的网站时。我看到的不是带有食物图片、菜单等的页面,而是一个假的 AV 页面。
就像我发现的其他安全问题一样,我最终跳进了兔子洞,调查这是什么、它是如何工作的,以及是否有办法避免它。不幸的是,对于这件事,我能给出的最好的视角是作为一个局外人。一个受损的 GoDaddy 网站会让调查变得更容易,但没有它也不是不可能的。
在高层次上,事件的顺序如下,基于测试和其他观察:
像我一样,用户可以访问他们熟悉的本地企业网站。
通过一些黑盒逻辑(通常是针对初次访问者或偶然访问者),GoDaddy 服务器向用户发送302
以将他们重定向到攻击者的网站。我发现的每个受感染的网站都会重定向到46.4.68.136
。
目前,有人猜测 GoDaddy 的负载均衡器遭到破坏。特定请求会将您重定向到攻击者的页面,但这种情况发生的频率低于预期。这些受感染站点的缓存版本在 HTTP 响应的标头中显示重定向。此标头将导致浏览器重定向到path
变量中指定的网站。
下面是一些例子。
HTTP/1.1 302 Found Date: Fri, 16 Dec 2022 22:23:24 GMT Server: Apache P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM" Cache-Control: no-cache Pragma: no-cache Set-Cookie: b64618f79bd8f79428b7f1f80c1abceb=qtjmovs3948hi5t1m2shhambr4; path=/ Location: http://46.4.68.136/[REDACTED]?DOM=www.vocationalvisions.com&URI=%2findex.php Connection: close Vary: Accept-Encoding Content-Type: text/HTML; charset=utf-8
HTTP/1.1 302 Found Date: Sat, 17 Dec 2022 17:21:14 GMT Server: Apache X-Pingback: http://www.bookkeepingservicesclt.com/xmlrpc.php Location: http://46.4.68.136/[REDACTED]?DOM=www.bookkeepingservicesclt.com&URI=%2findex.php Connection: close Vary: Accept-Encoding Content-Type: text/html; charset=UTF-8
HTTP/1.1 302 Found Date: Fri, 16 Dec 2022 14:43:04 GMT Server: Apache Location: http://46.4.68.136/[REDACTED]?DOM=www.daria-snadowsky.com&URI=%2findex.php Connection: close Vary: Accept-Encoding Content-Length: 0 Content-Type: text/html; charset=UTF-8
HTTP/1.1 302 Found Date: Tue, 13 Dec 2022 14:00:31 GMT Server: Apache X-Powered-By: PHP/5.6.40 Link: <http://saslist.com/wp-json/>; rel="https://api.w.org/" Location: http://46.4.68.136/[REDACTED]?DOM=saslist.com&URI=%2findex.php Connection: close Vary: Accept-Encoding Content-Type: text/html; charset=UTF-8
HTTP/1.1 302 Found Date: Wed, 14 Dec 2022 00:20:15 GMT Server: Apache X-Powered-By: PHP/5.6.40 X-Pingback: http://paypointeinc.com/xmlrpc.php Location: http://46.4.68.136/[REDACTED]?DOM=paypointeinc.com&URI=%2findex.php Connection: close Vary: Accept-Encoding Content-Type: text/html; charset=UTF-8
这些网站从 Apache 驱动的服务器接收响应,并将用户重定向到相同的恶意 IP 地址——无论他们是否使用 WordPress 都无关紧要。
每个最终被重定向到攻击者主机的用户都会被标记上来自响应标头的 cookie 集。该主机上的每个后续请求也将包含该 cookie 以识别受害者。
Set-Cookie: a8163=<JWT looking token>
重定向将用户带到攻击者网站上的特定页面。然后该页面运行 JavaScript 将他们重定向到网络钓鱼或色情内容。我们看到的页面基本结构如下:
<html> <head> <script type="application/javascript"> function process() { if (window.location !== window.parent.location ) { top.location = "http://bad.website"; } else { window.location = "http://bad.website"; } } window.onerror = process; process();</script> </head> <body> The Document has moved <a href="http://bad.website">here</a> </body> </html>
值得注意的是,您可以在 Github 上找到非常相似的片段。上面的重定向并不是用于重定向用户的新策略。在此重定向之后,用户位于攻击者的最终目的地。
我玩过攻击站点。有趣的事实:重定向页面会根据您的 IP/位置而变化。如果我在北美,该页面会将我重定向到假的 AV 扫描仪。如果我在欧洲、亚洲、南美等地,每个人都会将我重定向到显示不太理想内容的不同页面。这样做是有意根据位置根据一定程度的有效性来专门化攻击有效载荷,还是只是随机进行的?
一般来说,攻击范围很广,我们可以通过简单的谷歌搜索攻击网站的 IP 地址找到许多受感染的网站。正如此Cloudflare支持问题所证明的那样,许多网站所有者都受此影响。值得注意的是,即使是这个问题也找到了 SvelteKit 文档中的链接之一。
正如@ColinQuarello 所展示的那样,攻击对 WordPress 插件的影响并不明显。即使没有内容上传到网站,新配置的帐户也会受到影响。
由此,我们可以假设这对于托管服务提供商来说可能是一个系统范围的问题。
@GoDaddyHelp @GoDaddy 302 重定向发生在从您的负载均衡器到共享主机基础设施上的垃圾邮件/色情网站。我提供了一个新帐户,当网站上没有内容时,我立即得到了 302 重定向。标头看起来也是伪造的。这很严重。
- Colin Quarello (@ColinQuarello) 2022 年 12 月 19 日
一旦用户在攻击者的网站上落入攻击者的手中,他们就会屈服于社会工程、网络钓鱼等。仅网络钓鱼诈骗每年就给公司和公众造成数十亿美元的损失。
从人的角度来看,这一事件不仅会导致用户对 GoDaddy 的信任度下降,还会导致依赖该平台托管公司网站、电子商务商店等的中小型企业的信任度下降。如今,用户信任对于促进用户增长和业务扩展比以往任何时候都更加重要。根据DigiCert所做的一项研究,“如果对企业失去信任,84% 的消费者会转向竞争对手”。一次事件,更不用说重复发生了,会比企业迅速恢复信任更快地降低用户信任度。
截至 2022 年 12 月 20 日,GoDaddy 目前正在处理此事件 (INC-5492776)。我不确定这是内部事件跟踪号码还是 GoDaddy 客户可以访问的内容。
我们已意识到该问题并正在努力纠正它。我可以向您保证,我们的团队正在努力尽快恢复服务。 ^CG
— GoDaddy 帮助 (@GoDaddyHelp) 2022 年 12 月 20 日
以前,它被怀疑是与防火墙相关的问题,但后来被证明是错误的。 GoDaddy 工程师和用户发现无论防火墙配置如何,都会出现此问题。
💎 感谢您花时间查看这篇文章。有关更多此类内容,请访问我的实际博客。请随时在LinkedIn上与我联系,并在Github上关注我。