zoukankan      html  css  js  c++  java
  • 分享一则Linux系统邮件提示 /usr/local/lib/libprocesshider.so > /etc/ld.so.preload 的中病毒解决方法

    ​ 系统环境:CentOS Linux release 7.6.1810 (AltArch)

                       CPU架构:ARM

                最近发现生产服务器CPU占用过高但是查看进程却没有任何过高的进程,最高也才是1点多,而且系统经常收到root用户发送的邮件

     所以有理由是怀疑中了挖矿病毒,查看网络连接信息(命令:netstat -napt)后发现一条疑似矿池的连接记录

     然后去查找这个IP地址发现是M国的一个地址,去到某服安全中心查看这个IP果然是矿池地址无疑

    结果某安的威胁中心查出来的结果也是一样的

     显示结果跟网络连接中的信息是一样的,这下确定无疑了

    首先根据root用户发送给系统的邮件内容的路径去查看文件,

    cat /etc/ld.so.preload

    发现内容是/usr/local/lib/libprocesshider.so,是linux系统的一个链接库,在这个文件里面写下的地址系统在运行程序时会自动去这些个目录里面找需要的动态库文件,先删除试一下

    rm /etc/ld.so.preload

    发现无法删除,查找资料后得知Linux系统还有一个叫文件锁定保护的命令,具体参数如下:

    使用chattr命令解除锁定然后删除

    chattr -i /etc/ld.so.preload
    rm -rf /etc/ld.so.preload

    然后再对/usr/local/lib/libprocesshider.so进行操作,直接一步到位,解除锁定,然后删除

    chattr -i /usr/local/lib/libprocesshider.so
    rm -rf /usr/local/lib/libprocesshider.so

    执行成功,继续下一步,查看定时任务,并清理,查询cron.d、cron.hourly、crontab目录或文件的异常

    lockr -i /etc/cron.d/phps
    rm -rf /etc/cron.d/phps
    lockr -i /sbin/httpss
    rm -rf /sbin/httpss

    查看/etc/crontab文件内容,/etc/crontab是linux系统定时任务配置文件所在,用vim编辑器删除最后3行,最后3行就是病毒链接所在,还是一样,不管有没有,先解除锁定,再修改

    chattr -i /etc/crontab
    vim /etc/crontab
    

    查看定时任务并修改

    crontab -l
    crontab -e

    回显提示crontab: error renaming /var/spool/cron/#tmp.localhost.localdomain.XXXXPL0tU3 to /var/spool/cron/root
    rename: 不允许的操作
    crontab: edits left in /tmp/crontab.IFed5j,说明/var/spool/cron/root,/tmp/crontab.IFed5j这两个目录文件都有问题,跟定时任务是相关联的,先清除这几个文件,防止上锁,先解锁,再删除

    chattr -ia /var/spool/cron/root
    rm -rf /var/spool/cron/root
    chattr -ia /tmp/crontab.IFed5j
    rm -rf /tmp/crontab.IFed5j

    进入到/tmp目录下查看是否还有其他的缓存文件,如果有,一并删除(crontab -e所产生)

    # 服务清理及自启动清理,查看/etc/rc.d/init.d/目录,/etc/rc.d/rc.local文件,/lib/systemd/system文件

    cd /etc/rc.d/init.d/ #无异常

    cat /etc/rc.d/rc.local  #无异常

    cd /lib/systemd/system  #发现异常服务文件

    vim pwnriglhttps.service
    systemctl stop pwnriglhttps.service
    systemctl disable pwnriglhttps.service

    删除服务

    rm -rf pwnriglhttps.service

    查看系统hosts解析文件有无异常,如有异常用vim编辑器修改

    cat /etc/hosts
    vim /etc/hosts

    清理各目录下的病毒文件

    rm -rf /usr/bin/.sh
    rm -rf /bin/.sh
    lockr -i /bin/.funzip
    rm -rf /bin/.funzip

    查看/etc/profile文件

    cat /etc/profile

    回显显示最后4行文件有问题,用vim删除

    vim /etc/profile

    发现目录/etc/profile.d/下出现异常文件:php.sh、supervisor.sh

    查看内容

    cd /etc/profile.d/
    
    cat php.sh
    
    cat supervisor.sh

    查看supervisor.sh显示/etc/.supervisor/supervisord.conf

    删除删除php.sh,supervisor.sh,/etc/.supervisor/supervisord.conf

    lockr -i php.sh supervisor.sh
    
    rm -rf php.sh supervisor.sh
    
    lockr -i /etc/.supervisor/supervisord.conf
    
    rm -rf /etc/.supervisor/supervisord.conf

    最后删除/etc/.sh /usr/bin/.sh

    chattr -ia /etc/.sh /usr/bin/.sh
    
    rm -rf /etc/.sh /usr/bin/.sh

    最后清除邮件并重启

    echo "d *" |mail -N
    reboot

    开机后查看网络连接信息发现刚开始的那条IP已经没有了,说明残留的病毒文件已经清理完成

    为了再次防止这个矿池来搞事情,最好在出口区域的安全设备的对该地址及域名相关进行封禁

    ————本文为原创,转载请禀明出处

    本文来自博客园,作者:许怀安,尊重原创,转载请注明原文链接:https://www.cnblogs.com/keington/p/15233067.html

  • 相关阅读:
    线段树小结
    线段树 区间合并
    线段树
    线段树离散化+区间修改
    线段树模板

    geatpy
    基于Anaconda 安装 geatpy 和 tensorflow
    Python 求“元组、列表、字典、数组和矩阵”的大小
    np.array()和np.mat()区别
  • 原文地址:https://www.cnblogs.com/keington/p/15233067.html
Copyright © 2011-2022 走看看