我们最近处理了一个客户案例,该客户报告其网站上出现了奇怪的SEO行为。普通访问者看到的是一个正常的网站。没有弹窗。没有重定向。没有可见的垃圾内容。
然而,当他们在谷歌上检查自己的网站时,搜索结果中充斥着类似eBay的网站和“Situs Toto”赌博垃圾信息。
这是一次专业级的SEO伪装攻击。恶意软件将应用程序变成了双面间谍:它向真实用户提供您网站的真实内容,但在搜索引擎机器人抓取页面的瞬间,却将其替换为大量赌博广告。当您在搜索结果中注意到这些垃圾信息时,对您品牌的损害往往已经造成。
这次攻击是日益增长的在线赌场垃圾信息大趋势的一部分。在本案例中,攻击者使用了一个特定的域名 fugthatshit[.]baby,将垃圾内容直接注入被入侵的服务器。
我们发现了什么?
恶意软件被嵌入到一个合法的文件 pages/index/IndexHandler.php 中。该文件乍一看很正常,包含了真实的应用程序逻辑。
然而,在文件底部,附加了额外的PHP代码。这段代码会悄无声息地从远程域名获取垃圾内容,并且只对搜索引擎爬虫显示。
涉及的恶意域名是:fugthshit[.]baby
有效负载托管在:hxxps://fugthatshit[.]baby/desktop/kindipublisher.txt
这个远程文件包含了大量的垃圾信息和赌博关键词,显然是为操纵SEO而设计的。
我们已经将这个域名及其IP地址 104.21.50.131 列入黑名单。
SiteCheck 目前将其检测为垃圾信息。
攻击如何运作
这种恶意软件使用用户代理(User-Agent)伪装。它会检查访问者是谁。如果访问者是谷歌爬虫(Googlebot)或其他爬虫,它会向页面输出中注入垃圾内容。 如果访问者是真实用户,则什么都不发生。
这使得攻击者能够在毒化搜索引擎结果的同时,对网站所有者保持隐身。
入侵指标(IoCs)
我们观察到的最重要的入侵指标包括恶意域名:
fugthatshit[.]baby
hxxps://fugthatshit[.]baby/desktop/kindipublisher.txt
IP地址:104.21.50.131
恶意软件分析
我们分析的文件被设计成看起来像一个专业的学术处理器,意在欺骗开发者,让他们认为这是一个必要的依赖。
-
嗅探搜索引擎机器人 伪装逻辑的核心始于一个“机器人嗅探器”。该脚本根据已知的搜索引擎爬虫列表(包括Googlebot、Bingbot和Baiduspider)检查访问者的User-Agent字符串。 如果访问者是使用Chrome或Safari等浏览器的人类用户,脚本什么也不做,您的网站正常加载。但如果它是爬虫机器人,恶意负载就会接管。
-
通过cURL远程获取内容 恶意软件不会将垃圾关键词存储在您的服务器上。相反,它使用一个名为
fetchContentCurl的函数,从攻击者控制的服务器fugthatshit[.]baby获取最新的“Situs Toto”链接。 -
内容替换与退出 攻击的最后阶段在识别出机器人时发生。脚本会随机暂停一段时间以模仿自然的服务器行为,“输出(echo)”恶意垃圾内容,然后终止应用程序的执行。 通过调用
exit;,恶意软件确保真实的应用程序永远不会为机器人运行。谷歌被喂食了纯垃圾信息的页面,而您的真实访问者看到的则是您合法的应用程序。
恶意软件的影响
此次攻击的主要目标是“借用”您域名的权威性。因为网站通常结构良好且受搜索引擎信任,所以它们成了劫持的主要目标。
最直接的影响是您的SEO被破坏。一旦谷歌算法检测到您在进行“伪装”——向机器人显示一个版本的页面,向人类显示另一个版本——他们很可能会将您的域名列入黑名单或发出手动处罚。您的自然搜索流量可能一夜之间消失。此外,由于这些脚本会连接外部服务器,它们可能会给您的整个托管环境带来延迟和安全风险。
修复和预防建议
- 删除恶意文件:删除您或您的开发人员不认识的所有文件或目录。
- 审计用户:删除帮助账户和任何其他可疑的管理员。
- 重置凭据:更改所有管理员、FTP、托管和数据库的密码。
- 扫描您的计算机:在您的设备上运行完整的杀毒和恶意软件扫描。
- 更新一切:保持所有软件和插件的更新。
- 监控出站流量:查找与未知或可疑域名的连接。这需要查看服务器日志。
- 使用WAF:Web应用防火墙可以帮助阻止与已知命令与控制(C2)服务器的通信,并防止恶意插件的初始上传。
结论
SEO伪装是攻击者利用您网站来之不易的声誉的一种狡猾方式。由于它在网站所有者面前隐藏,却在搜索引擎面前“表演”,因此可能长时间未被察觉。主动的文件监控和强大的防火墙对于确保您的网站没有“双重生活”至关重要。 一如既往,可见性、监控和定期的完整性检查是您最好的防御手段。