最近的 hack 附加到所有 javascript 文件

信息安全 javascript 取证 共享主机
2021-09-09 14:09:11

我有大约 10 个网站由 a2hosting 托管在共享服务器上,4 月 20 日,一些网站的一些 js 文件附加了一个检测设备的功能,如果它是移动的,它会重定向到其他有促销活动的网站。使用find ./ -name "*.js" | xargs grep "adabefbccdbe()"from public_htmldirectory(adabefbccdbe()重定向函数的名称在哪里)我可以检测到所有受影响的文件并删除代码。我已向我的托管服务提供商发出支持票。当我 sftp 到我的服务器时,我可以看到所有文件都是在 4 月 20 日编辑的,它影响了 wordpress、magento 和静态网站的 javascript 文件,但它只影响了服务器上 10 个网站中的 7 个。

我的问题是有没有办法查看谁以及如何编辑这些文件?我能做些什么来确保这种情况不会再次发生?

3个回答

有一个题为“如何处理受损服务器?”的规范问题. 由于您在共享主机上,因此您可以执行的操作有一些限制。我仍然强烈建议您阅读完整接受的答案。

下面我将讨论这如何适用于您的情况(即在共享主机上)。引用来自提到的答案。

1. 关闭您的网站。

无论您遇到什么其他问题,让系统连接到网络只会让攻击继续进行。

您无法确定是否已清除所有感染。此时您可能会在不知不觉中向您的用户传播恶意软件!

2. 损害控制。

更改与受感染系统位于同一网络的所有计算机上所有帐户的所有密码。

检查您的其他系统。特别注意其他面向 Internet 的服务,以及那些持有金融或其他商业敏感数据的服务。

如果系统持有任何人的个人数据,请立即通知负责数据保护的人员(如果不是您)并敦促全面披露。

3. 试着弄清楚发生了什么。

如果您只是将您的网站恢复原样,那么同样的事情将再次发生。您需要尝试了解出了什么问题。

对于共享主机,这可能很困难,因为黑客有可能在服务器软件本身或其他人的帐户中使用了漏洞。您需要联系您的托管服务提供商并让他们帮助您解决此问题。不能想当然地认为他们会合作。如果他们不这样做,我建议您阅读您的合同,并可能联系律师以了解您拥有哪些权利。

但是,您可以自行检查某些内容 - 即您自己的站点。浏览您运行的所有软件(WordPress、Magento 等)。您正在运行最新版本吗?你在运行任何插件吗?您正在运行的版本或插件中是否存在任何已知的安全漏洞?在安全性方面,尤其是 WordPress 插件是常见的违规者。

您可以自己进行一些有限的取证。如果您有备份,请比较它们以查看在什么时间更改了哪些文件。你发现的注入的 JavaScript 可能不是攻击者唯一改变的东西。可能多次发生多次更改(可能由多个攻击者),因此您无法确定 JavaScript 文件更改的日期是最初违规的日期。

特别是如果您运行大量自己的代码,您可能需要进行更详细的渗透测试以发现任何漏洞。

4. 考虑新主机。

特别是如果违规是“他们的错”或者他们没有帮助您确定违规的原因,那么可能是时候转移到新的主机了。正如其他人所提到的,VPS 更安全,但也可能需要您付出更多努力才能运行。

5. 再次备份您的网站。

在违规之前从备份中恢复静态文件。重新安装所有软件,并且只使用最新版本。因此,不要只是将旧的易受攻击的 WordPress 安装中的文件从备份中复制粘贴到服务器上。

显然,解决在第 3 步中发现的任何问题。

好的,我会尽量专注于“谁”的部分。

我的问题是有没有办法查看谁以及如何编辑这些文件?

这取决于,但你能做的是:

  • 分析服务器日志(auth、apache、ftp 等)
  • 在分析日志时,请记住检查是否有任何关于攻击前阶段的信息(有时攻击者会犯“错误”并且他们在收集信息时忘记隐藏他们的信息) - 这可能很有用
  • 分析邮件,如果内容中有可疑之处(也许他们做了社会工程)
  • 分析上传的文件(exif 数据)
  • 最后,检查他们是否留下了带有电子邮件、脸书、推特、昵称、朋友昵称等的污损页面:)

根据所有信息,做一个简单的报告,现在轮到你收集关于他的信息了。

从本质上讲,您将查看服务器的取证调查,这将非常详细地查看任何访问日志、错误日志、具有意外时间戳的文件等,寻找在这种情况下使用的特定方法。但是,这需要在服务器级别执行才能有价值,而共享托管服务提供商通常无法做到这一点。

在这种情况下,您只能控制您自己的站点——您可以对其进行软件审核或渗透测试(在服务器所有者同意的情况下),并查看其中是否存在任何特定问题。但是,由于它是共享服务器,因此同一系统上的其他站点中很可能存在您无法影响的问题。在这种情况下,您唯一的选择是转移到其他提供商 - 理想情况下是 VPS,其中只有您的代码。有各种托管 VPS 提供商,尽管它们往往比共享托管提供商更昂贵,因为资源要求更高。