被黑客入侵。 想了解如何

有人第二次在我帮助运行的网站上附加了一段javascript。 这个javascript劫持谷歌的AdSense,插入自己的帐号,并坚持广告。

代码总是附加在一个特定的目录(一个由第三方广告程序使用的目录),会影响这个广告目录(大约20个)内的多个目录中的文件数量,并且在大致相同的时间插入时间。 AdSense帐户属于中文网站(位于一个小镇,不到一个小时,我将在下个月到中国),也许我应该去破坏头…开玩笑,顺便说一下),顺便说一句…这是关于该网站: http : //serversiders.com/fhr.com.cn

那么,他们如何将文字追加到这些文件呢? 它与文件上设置的权限有关(从755到644)? 对于networking服务器用户(这是MediaTemple所以它应该是安全的,是吗?)? 我的意思是,如果你有一个权限设置为777的文件,我仍然不能随意添加代码…他们怎么可能这样做呢?

下面是一个实际的代码为你的观看乐趣的样本(正如你所看到的…没有太多的东西,真正的诀窍是他们如何得到它):

<script type="text/javascript"><!-- google_ad_client = "pub-5465156513898836"; /* 728x90_as */ google_ad_slot = "4840387765"; google_ad_width = 728; google_ad_height = 90; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 

由于许多人已经提到它,这里是我已经检查(通过检查我的意思是我周围的时间文件修改任何古怪的时间,我grepped文件的POST语句和目录遍历:

  • access_log(除了正常(即过度)的msn botstream量)
  • error_log(没有什么,但通常的文件不存在无害的外观文件错误)
  • ssl_log(只是平时的)
  • messages_log(在这里除了我以外没有FTP访问)

*更新:**好的,解决了。 来自中国的黑客已经在我们的网站上放置了一个文件,允许他们执行各种pipe理事务(数据库访问,删除和创build文件和目录,你可以命名它们可以访问)。 我们很幸运,他们没有做更具破坏性的事情。 在正常的apache日志文件中没有任何东西,但是我在Web服务器日志分析器中发现了一组不同的日志文件,证据就在那里。 他们用自己的pipe理员用户名和密码访问这个文件,然后在服务器上编辑他们需要的任何东西。 他们的文件有“apache”作为用户,而我们网站上的所有其他文件有不同的用户名。 现在我需要弄清楚他们是如何将这个文件物理地传到我们的系统上的。 我怀疑这个问题最终会归于我们的networking主机(Media Temple),除非他们真的有我们的FTPlogin…不知道我将如何确定,但是,因为这个文件可能已经有一段时间了。

    首先chmod 744不是你想要的。 chmod的意思是撤销对系统中其他帐户的访问。 Chmod 700比chmod 744安全得多。 但是,Apache只需要执行位来运行你的PHP应用程序。

    chmod 500 -R /your/webroot/

    chown www-data:www-data -R /your/webroot/

    www-data通常被用作用于执行php的Apache帐户。 你也可以运行这个命令来查看用户帐户:

     `<?php print system("whoami"); ?>` 

    FTP是非常不安全的,很可能是你被这种方法攻击了。 使用FTP你可以使文件可写,然后再次感染他们。 确保在所有使用FTP访问的计算机上运行防病毒软件 。 有些病毒会嗅探FTP用户名和密码的本地stream量,然后login并感染这些文件。 如果你关心安全性,你会使用SFTPencryption一切。 明文发送源代码和密码是疯狂的。

    另一种可能性是您正在使用旧的图书馆或应用程序。 访问软件供应商的网站,并确保您正在运行最新版本。

    我的媒体Temple Grid服务器帐户已经被多次“黑客入侵”了。 他们的安全性非常差,去年从PLAIN TEXT PASSWORDS开始,直到今天(你可以打电话给技术支持,他们会说“你的密码是什么?”)。 我知道,因为我每月都会收到有关他们如何更改所有帐户密码的电子邮件,而且他们实际上每次发生黑客入侵时都会更改数据库密码。 那家公司看起来有点光鲜,但是网格服务器却一塌糊涂。 我build议立即切换。

    请从去年看到这个post关于原始的惨败 (警告,它会让你生气)。 它从那里下坡了。 去年我感谢我的家人,并从我的网站上删除色情链接。 可爱。

    跟踪他们的状态页上的乐趣:它会告诉你所有关于最新的利用(而且,的确,现在有一个“可能的利用”)。

    基于访问日志等缺乏活动,以及大致同时发生的事实,似乎他们已经妥协了服务器,并且有一些运行的shell脚本来执行附加操作。

    你有没有检查crontab有什么奇怪的?

    你有没有尝试重命名目录及其引用(这可能会破坏shell脚本)?

    是的,它可以肯定与文件权限有关。 通过使用Web进程可写的文件,您可以接受正在运行的Web应用程序中的任何安全漏洞。 locking一切,以便Web进程无法读取或写入任何超出需要的内容。

    另一个组件正在跟踪他们如何修改你的文件。 检查Web服务器的访问日志是一个很好的开始。 检查各个用户的上次login时间。 你也可以设置一个脚本,监视文件进行修改,并通知你,所以你可以试着抓到犯罪分子的红色!

    这听起来非常熟悉,最近一些networking解决scheme网站的WordPress的黑客 。 由于您在Media Temple上,因此您可能会将某些文件留给其他用户共享您的机器。 这将解释缺乏POST或eery Apache日志跟踪。 如果是这种情况,那么在命令行中注入代码将非常简单。

    代码总是附加在一个特定的目录中

    它与文件上设置的权限有关(从755到644)? 给networking服务器用户

    你在共享服务器上吗? 如果是的话(或者甚至没有),有人可能会暴力强制FTP密码,并上传一个脚本,附加任何文件可以得到它的手。

    一个由第三方广告程序使用

    或者也许这个程序有一个漏洞。

    如果您有适当的访问权限(和内核支持),您可以尝试基于inotify或dnotify来启动监视守护进程以监视文件的更改,然后(快速)使用“lsof”来查看该文件打开的进程写入权限。 你也可以使用strace进行监控。 这应该提供哪些可执行文件被利用的线索。

    FTP检查日志是首先启动。 日志应该包含大部分(如果不是全部)活动以及时间戳,所以如果您知道文件被修改的时间,您可以确定您的FTP帐户是否受到威胁。

    接下来,它可能是您的web服务器上的一个脚本,它注入了该代码。 在共享主机场景中,我认为可以做一个cat /web/malicious.com/script.js >> /web/innocent.com/index.php 。 这可能在某些条件下工作,比如由httpd用户执行的命令,index.php文件也是由该用户拥有/写入的。 在这种情况下,您应该让您的托pipe服务提供商跟踪用于注入脚本的帐户。

    大多数站点文件需要Web服务器可读。 在只读站点上,只有日志需要由Web服务器写入。 将所有者设置为Web服务器使用的其他人员。 在除脚本以外的所有文件上设置保护640。 设置脚本和目录750.对于需要由websever写入的文件或目录,您可以将所有者更改为Web服务器或将chmod g + 2设置为相关的文件或目录。

    有几十种可能的方式来破解一个网站。 他们可能使用了脚本中的漏洞,窃取了您的密码,使用了共同托pipe站点的漏洞(如果您位于便宜的主机上),则使用了服务器上某些与非Web相关的服务漏洞。 。

    作为第一步,检查文件修改date,并检查访问,错误和FTP日志当时的任何可疑活动。

    同样的事情发生在我身后。 据我所知,Wordpress是唯一能导致这样的事情的软件。