被黑了。想了解如何


40

有人第二次向我帮助运行的网站添加了一段JavaScript。该javascript劫持了Google adsense,插入了自己的帐号,并在各处粘贴广告。

该代码始终附加在一个特定目录(第三方广告程序使用的一个目录)中,会影响该广告目录(大约20个左右)内多个目录中的多个文件,并在大致相同的夜晚插入时间。adsense帐户属于一个中文网站(位于下个月不到一个小时的小镇上。也许我应该半信半疑……开玩笑之类的),顺便说一下……这是有关信息该站点:http : //serversiders.com/fhr.com.cn

那么,他们如何将文本追加到这些文件?它与在文件上设置的权限有关(从755到644)?对于网络服务器用户(它位于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>

既然有很多人提到过,这就是我检查过的内容(通过检查,我的意思是我环顾了文件修改时是否出现怪异现象,并且对文件进行了POST语句和目录遍历:

  • access_log(除了正常(即过多)的MSN机器人流量之外,几乎没有其他时间)
  • error_log(除了普通文件不存在外,无害文件的错误)
  • ssl_log(仅此而已)
  • messages_log(除了我之外,这里没有FTP访问权限)

*更新:**好,解决了。来自中国的黑客实际上已经在我们的网站上放置了一个文件,使他们可以进行各种管理工作(数据库访问,删除和创建文件及目录,您可以命名,他们可以访问)。我们很幸运,他们没有做更具破坏性的事情。普通的Apache日志文件中没有任何内容,但是我在Web服务器日志分析器中找到了另一组日志文件,并且证据在那里。他们使用自己的管理员用户名和密码访问该文件,然后在服务器上编辑所需的内容。他们的文件已将“ apache”设置为用户,而我们网站上的所有其他文件均具有不同的用户名。现在,我需要弄清楚他们是如何将该文件实际添加到我们的系统中的。我怀疑这最终将归咎于我们的网络托管商(媒体圣殿),


6
我不知道,您给别人输入密码了吗?

4
如果您知道确切的时间是什么时候,请在access_log中搜索这段时间内所有异常的内容。尤其要记下所有POST请求:它们去了哪里,做了什么。
Sanmai 2010年

3
Thx WhirlWind ...非常有帮助。
Lothar_Grimpsenbacher 2010年

2
实际上,如果您了解他们,为什么不将其地址详细信息粘贴到反垃圾邮件站点上。让网对他们“说话”,让他们尝尝自己的麦达辛。:-)

4
@ gaoshan88-比您想的要有用的多。一种攻击媒介是特洛伊木马,它从开发人员的ftp客户端中窃取密码。
昆汀

Answers:


9

首先,chmod 744它不是您想要的。chmod的目的是撤消对系统上其他帐户的访问。Chmod 700比chmod安全得多744。但是Apache仅需要execute位来运行您的php应用程序。

chmod 500 -R /your/webroot/

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

www-data通常用作Apache的帐户,用于执行php。您也可以运行以下命令来查看用户帐户:

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

FTP 非常不安全,很可能您已被这种方法入侵。使用FTP,可以使文件可写,然后再次感染它们。确保在所有具有FTP访问权限的计算机上运行防病毒软件。有些病毒会嗅探FTP用户名和密码的本地流量,然后登录并感染文件。如果您关心安全性,则可以使用SFTP,它会加密所有内容。通过电线以明文形式发送源代码和密码是完全疯狂的事情。

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


6
+1,避免像瘟疫一样使用FTP。密码嗅探器木马可以感染您的计算机,并使用您的凭据更改文件。否则会感染路由器。或您的邻居在网吧中使用不安全的wifi网络的计算机。在clearext中发送密码是一个坏主意。
Tgr 2010年

1
FTP 确实带有SSL,您知道。
grawity 2010年

1
@grawity大多数人不使用“ ftps”,但这可以防止您被黑。sftp更为流行。
鲁克

2
WWW的数据应该不是自己的文件在你的web目录。凡是WWW的数据可以通过在服务器上写得不好的脚本更新。
Zoredache

9

我的Media Temple Grid Server帐户多次遭到这种“黑客攻击”。他们的安全性非常差...从去年的“ 纯文本密码”开始,一直持续到今天(您可以致电技术支持,他们说“您的密码是什么?”)。我知道,因为我每个月都会收到一封电子邮件,说明他们如何更改我的所有帐户密码,并且实际上每次被黑客入侵时,它们都会为您更改数据库密码。那家公司表面上看起来就像地狱一样光鲜亮丽,但网格服务器却一团糟。我建议立即切换。

请查看去年有关原始惨败的这篇文章(警告,它会激怒您)。从那里走下坡路。去年,我与家人度过了感恩节,并从网站上删除了色情链接。可爱。

在其状态页上跟踪乐趣:它会告诉您所有有关最新漏洞的信息(是的,确实,现在有一个“可能的漏洞”)。


哈哈。我的gs网站现在都掉线了。没有电子邮件。weblog.mediatemple.net/weblog/category/system-incidents/...
typeoneerror

2

基于访问日志等中缺乏活动性以及大约在同一时间发生的事实,似乎他们已经损害了服务器并运行了某种Shell脚本来执行附加操作。

您是否检查了crontab奇怪的东西?

您是否尝试过重命名目录及其引用(这可能会破坏Shell脚本)?


重命名是个好主意。一旦看到它会对网站产生什么影响,我将尝试。Crontab有一件稍微奇怪的事情,在更改文件时有一个条目,但是它是Plesk备份管理器...一个编译的应用程序。如果这被妥协了,那么媒体神殿将面临很大的麻烦。
Lothar_Grimpsenbacher 2010年

1

是的,它绝对可以与文件权限有关。通过使用Web进程可写的文件,您可以在正在运行的Web应用程序中暴露任何安全漏洞。锁定所有内容,以使Web进程无法读取或写入超出其所需范围的内容。

另一个组件正在精确跟踪他们如何修改文件。检查Web服务器的访问日志是一个不错的起点。检查各种用户的上次登录时间。您还可以设置一个脚本来监视文件的修改,并通知您,以便您可以抓住犯罪分子!


1

这听起来很像Wordpress的骇客,这些骇客最近袭击了许多Network Solutions网站。由于您在Media Temple上,因此您可能会将一些文件留给共享您计算机的其他用户看到。那将解释缺少POST或Apache日志跟踪的不足。如果是这种情况,那么在命令行中注入代码将非常致命。


日志显示了这些文件被修改时的流量,但它是无害的,例如:207.46.13.43--[05 / May / 2010:01:42:26 -0700]“ GET /oped/bpr.php?edid= 211&page = 4 HTTP / 1.1“ 404257”-“” msnbot / 2.0b(+ search.msn.com/msnbot.htm)“
Lothar_Grimpsenbacher 2010年

您知道Wordpress骇客如何运作吗?可能会告诉我如何解决自己的问题。
Lothar_Grimpsenbacher 2010年

2
是的,这是对共享框的错误权限,这可能是由于Network Solutions的默认配置错误所致。建议的解决方法是将文件夹的权限锁定为755,将文件的锁定权限为644。

1

始终将代码附加在一个特定目录中

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

您在共享服务器上吗?如果是这样(或什至不是),则可能有人强行强制使用FTP密码并上载了脚本,该脚本附加了可能得到的任何文件。

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

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


我假设这可能是第三方代码存在漏洞。它在共享服务器上,但是我会找到任何上载的脚本(除非他们上载了脚本,然后使用它然后将其删除,但即使那样,我仍会在显示其ftp连接的日志文件中找到一些内容)
Lothar_Grimpsenbacher,2010年

1
如果您的文件可由Web服务器写入,则它们可能已将脚本上载到服务器上的任何网站并覆盖了您的文件。但是我也将仔细研究该第三方应用程序。

第三方代码 ...是一个可执行脚本,或者只是一段JavaScript代码?JavaScript无法修改服务器上的文件。
Salman A

@Salman A-它是管理广告的PHP脚本的集合。
Lothar_Grimpsenbacher,2010年

好的,那么我希望您已经研究了该代码。
Salman A 2010年

1

如果您具有适当的访问权限(和内核支持),则可以尝试基于inotifydnotify来启动监视守护程序以监视文件的更改,然后(快速)使用“ lsof”查看打开文件的进程写访问。您也许还可以使用strace进行监视。这应该提供有关正在利用什么可执行文件的线索。


1

FTP检查日志是第一个开始的地方。该日志应包含大多数(如果不是全部)活动以及时间戳,因此,如果您知道文件的修改时间,则可以确定FTP帐户是否受到威胁。

接下来,它可能是您的Web服务器上正在注入该代码的脚本。在共享托管方案中,我认为可以执行cat /web/malicious.com/script.js >> /web/innocent.com/index.php。这在某些情况下可能有效,例如由httpd用户执行的命令和该用户还拥有/可写的index.php文件。在这种情况下,您应该让托管服务提供商跟踪用于注入脚本的帐户。


1

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


非CGI脚本通常可以具有模式600或640(取决于文件所有者和组以及Web服务器以什么用户身份运行),因为许多脚本都传递给了解释器。
2010年

0

有数不胜数的破解网站方法。他们可能使用了脚本中的漏洞,窃取了密码,使用了共同托管站点的漏洞(如果您是廉价主机),使用了服务器计算机上某些与Web无关的服务的漏洞。 。

第一步,检查文件修改日期,并检查访问,错误和ftp日志,以了解当时是否存在可疑活动。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.