对您的站点具有 FTP 访问权限的人(您或您的开发人员)在他们的工作站上感染了病毒。该病毒安装了一个键盘记录器,它从您的 FTP 客户端窃取凭据并将此信息发送回黑客。
黑客收集数百个此类凭据,然后使用程序登录每个服务器,下载文件,修改它以附加 iframe 或混淆的 JavaScript 或 PHP 块,上传文件,下载下一个文件,修改,上传,下一个等。下载的文件可以匹配一组名称(例如仅 index. 、 default.、 home.* 等),也可以匹配任何 html 或 PHP 文件。
附加的代码通常是可见的 iframe:隐藏或 1x1px 大小,在可疑域上获取远程 JavaScript 文件的 <script>,被一些聪明的 str.CharCode'ing 混淆的 Javascript 集合,或块base64_encode'd eval()'d 代码。不混淆代码,结果通常是一个 iframe。最近,一些聪明的攻击者正在插入远程 shell,授予他们对您服务器的后门访问权限。
一旦所有文件都被修改,攻击者就会注销。您网站的访问者将受到来自 iframe 中链接的域的恶意代码的影响,这些恶意代码旨在安装病毒和 rootkit。除其他功能外,这些病毒还会安装键盘记录器来嗅探 FTP 凭据……并且病毒会继续传播。
攻击者正在使用您的凭据,因此他们只能访问您有权访问的文件。有时,他们会在某些带有编码外壳的目录中上传一个附加文件,允许他们返回对服务器的访问(常见的是 /forums 目录中的 _captcha.php 和 /gallery 目录中的 img.php 或 gifimg.php)。如果您在您的服务器上托管其他域,只要受影响域的用户在其当前域之外没有访问权限,其他人就不会受到影响。
有两种方法可以阻止这种攻击——预防和适当的防病毒。通过使用防火墙并将 FTP 访问限制为仅几个选定的 IP,可以轻松地转移攻击。攻击者不是从您自己的工作站(还)进行攻击,而是从世界其他地方的服务器进行攻击。在所有可以访问您的 FTP 帐户的工作站上使用适当的防病毒软件——或者更好的是,不使用 Windows XP——将有助于防止发生原始感染。
如果你被感染了,使用一些聪明的 sed 很容易清理混乱,这取决于你在发现注射和制作有效正则表达式方面的能力。否则,备份备份备份 - 总是有备份!...哦,更改您的 FTP 密码,否则他们明天会回来。