我们的Joomla网站暂时没有被我们接触过。当我去添加新内容时,我们遇到以下问题。初始页面显示正常,但无论何时单击任何菜单项或链接,我们都会显示以下俄语文本:
Файлключевиков键/sharperdevelopment.com.txtпустилинесуществует。更多信息来自ключевик。
转换为:
文件关键字keys / sharperdevelopment.com.txt为空或不存在。至少开一个关键词。
有没有人知道这是黑客问题还是配置问题?网页上的查看源只显示上面显示的文本的其他HTML。
我们的Joomla版本刚升级为:Joomla! 3.4.8稳定 该网站是SharperDevelopment.com
当然,这是在我们遇到一个新的潜在客户之前发生的。任何帮助或建议将不胜感激。
答案 0 :(得分:3)
如果您的网站在更新之前被黑客攻击,则需要在文件系统中梳理已修改和/或添加的文件。
上传Joomla 3.4.8的新副本无法解决此问题。
我将假设linux,因为那是我跑的时候。我管理多个LAMP服务器,每个服务器托管多个域。
保存备份并将其标记为已感染。这样做是因为该网站虽然受感染但仍在工作。
第一件事......
run tail -f path/to/logs/* | grep POST
您需要查看哪些人在您的网站上发布了奇怪的文件。
关闭自动换行。
需要在视觉上查看发布的每个发现。
joomla文件以<?php\n
开头,然后是注释标题。如果您看到一串PHP代码,则需要将其删除。
这里是我发现的一些文件列表。
nnnnnnnnnnnnnnnnn.php
alias.php
article.php
css.php
blog66.php
defines.php < Joomla file that has been modified.
dirs.php
footer4.php
functions14.php
global.php
lib87.php
trust.php
functions.php
/includes/defines.php不应该是长文件。如果你看到// istart,那么你需要从那时起删除所有内容。
你需要grep使用eval或GLOBAL的文件。 istart也应该被检查。这些命令很可能会输出大量数据,因此将其输入较少的数据。
find /home -iname \*.php | xargs pcregrep -M "^<?php.*\n.*fun"
find /home/ -iname \*.php | xargs grep "eval("
find ./ -iname \*.php | xargs grep "globals"
管道以减少这样的工作。
find ./ -name \*.php | xargs grep -r "eval(" | less
grep -r "eval(" | less
您将查找包含此类编码字符串但更长的文件:(已发布的代码无效)1ktebHkKHMh7oMftoPA4evcfooVJs4sUmcTtLCl5Jq0IGoKAUnbzDC1f6C2rJpduyVxvDvRsEztPwSUb6ey73tAVtx8A6BPK + SwyqR / edx3BsfPnmsfbwCFG2kYk
很多时候文件将以eval base64_decode和gzuncompress结束。
许多合法文件使用eval和base64解码。如果您看到很长的编码数据块,则很可能是恶意文件。过了一会儿,你将能够看到看起来不正确的模式。
某些文件也可能包含Google漫游器的用户代理。我最近一直在看这个,所以寻找字符串googlebot
以下字符串的grep文件。
74.125
lnkfarm.pw # this is an actual host. It has been reported to Interpol
您可以对所有文件进行备份,并根据joomla的github repo进行检查。
https://github.com/joomla/joomla-cms
同时检查mailq是否有垃圾邮件机器人造成的延迟邮件,这就是许多这些文件的用途。
我还添加了以下的iptables规则来阻止它。
-A INPUT -p tcp -m tcp --dport 80 -m string --string "POST /libraries/joomla/exporter.php" --algo bm --to 90 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 80 -m string --string "POST /modules/bmvlfj.php" --algo bm --to 90 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 80 -m string --string "POST /modules/7595mb.php" --algo bm --to 90 -j REJECT --reject-with icmp-port-unreachable
可能有很多其他搜索恶意文件的方法,但这是我现在的方法。
关闭所有恶意文件后,进行备份,然后更新所有扩展程序。之后我会再次检查你的文件并将新的Joomla文件副本加载到你的网站上,然后搜索你网页目录中最旧的文件。
确定一切都干净后,请更改所有密码和备份。不要在本地存储备份。
答案 1 :(得分:0)
补充答案,也许对您有所帮助:
你的问题:
Joomla网站被黑了?
尝试Eyesite扩展程序。它需要你的J的快照!站点目录树以及稍后,如果有任何更改,它将通过电子邮件发送给您,直到您协调更改为止。 (通常,这取决于您 - 您使用ls /home/*/public_html | xargs grep "stringToFind"
设置了支票计划。)这样您就可以收到预警,特别是在像您这样的网站上,这些网站在很长一段时间内的变化最小。
答案 2 :(得分:0)
我很好奇你发现了什么?我有一个Joomla 3网站,它是在3.4.7之后开始的(我认为.8在.7之后很快就出现了。我认为它可能是一个修复)。我在这里学到的&gt;&gt;&gt; http://forum.joomla.org/viewtopic.php?f=706&t=902833
根据这些信息,我关闭了SEF,网站运行正常(好吧,不好,因为我想使用SEF)。
我也担心被黑客入侵,但该线程上的其他海报似乎认为这是托管问题(我们正在使用BH)。
答案 3 :(得分:0)
答案 4 :(得分:0)
如果您运行自己的服务器,则可以使用incrond
实时监控文件的更改。您需要编写一个脚本来生成要监视的目录列表:
PARAM="IN_CREATE,IN_DELETE,IN_MODIFY,IN_MOVED_FROM,IN_MOVED_TO,IN_ATTRIB"
CMD='/path/to/mail/script file change detected in: $@/$# with event [$%]|Web files changed'
OUTPUT=/etc/incron.d/www-changes
WEBROOT=/var/www
# generate config
find $WEBROOT -type d -print0 | xargs -0 -I{} echo "{} $PARAM $CMD" > $OUTPUT
如果你没有block front end access到不应该浏览的目录,你就会被黑客入侵。以下目录应阻止前端访问:
bin|cli|components|includes|language|layouts|libraries|logs|plugins|tmp
您还应该禁用前端可访问目录中的脚本运行:
images|media|modules|templates
然后,您可以使用incrond
监控错误日志,以访问禁用的文件&amp;阻止攻击者。
使用I-Blocklist与ipset
的列表也会有所帮助。我block approximately 120,000
abusive ip's in a fraction of a second。它对block tor
nodes也很有用。
如果您使用ipset
,则应将阻止规则放在iptables raw
表中,以获得更好的性能和效果。不是input
&amp;许多指南错误地显示output
个表格。
将Hiawatha Webserver作为网络服务器或反向代理运行也会阻止大量攻击。
您的/var/www
应该noexec,nosuid
,以防止攻击者运行他们设法上传的脚本。
使用chroot
中的php-fpm
功能限制攻击者可用的文件。要查找dns
运行中chroot
解析所需的文件列表:
strace php /path/to/file-below
<?php
header( "Content-Type: text/plain" );
echo( gethostbyname( "google.com" )."\n" );
print_r( getdate() );
?>