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

                   CPU架构:ARM

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

最近发现生产服务器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已经没有了,说明残留的病毒文件已经清理完成

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

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

分享一则Linux系统邮件提示 /usr/local/lib/libprocesshider.so > /etc/ld.so.preload 的中病毒解决方法的更多相关文章

  1. Linux下Python3.5使用pyqt5.11报错 ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtCore.so: undefined symbol: PySlice_AdjustIndices 解决方法

    我用的Linux自带的是Python3.5版本,运行pip3 install PyQt5, 下载的是PyQt5.11,运行PyQt5程序会报错: ImportError: /usr/local/lib ...

  2. Linux系统下Java 转换Word到PDF时,结果文档内容乱码的解决方法

    本文分享在Linux系统下,通过Java 程序代码将Word转为PDF文档时,结果文档内容出现乱码该如何解决.具体可参考如下内容: 1.问题出现的背景 在Windows系统中,使用Spire.Doc ...

  3. 在linux系统下安装mysql详解,以及远程调用连接不上mysql的解决方法。

    步骤: 1)查看CentOS自带的mysql 输入 rpm -qa | grep mysql 2)将自带的mysql卸载 3)上传Mysql的安装包到linux 4)安装mysql的依赖(不是必须) ...

  4. /lib /usr/lib /usr/local/lib区别

    昨天问我/usr/lib 和/usr/local/lib 我仅记得一个是系统的,一个是用户的,于是今天查了查,有两篇文章介绍的不错,usr 很多人都认为是user缩写,其实不然,是unix syste ...

  5. /lib /usr/lib /usr/local/lib 区别

    简单说,/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的. /lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件.目录 /usr/lib ...

  6. /lib /usr/lib /usr/local/lib 的区别

    /lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的. /lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件.目录 /usr/lib/ 中含 ...

  7. “/usr/local/lib/libosipparser2.so.7: could not read symbols: Invalid operation” 异常解决

    编译c代码报错如下 /usr/bin/ld: /tmp/ccl8nBND.o: undefined reference to symbol 'osip_message_get_body' /usr/b ...

  8. /usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux)

    /usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux) /usr/bin/ld: /usr/local/lib/lib ...

  9. 安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules

    方法一 安装npm全局包提示没有写入权限: npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules ...

随机推荐

  1. csaw2013reversing2 writeup

    csaw2013reversing2 writeup 1.程序分析 题目是一个exe文件,提示运行即可拿到flag,但是窗口弹出之后会出现一堆乱码.这时候,我们把文件丢入IDA之中,看到程序大致流程如 ...

  2. Tomcat服务器种的HttpServletRequest类

    HttpServletRequest 类有什么作用:             每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Reque ...

  3. 如何让win10开机默认开启小键盘?

    如何让win10开机默认开启小键盘? windows10默认是关闭小键盘的.每次输入开机密码的时候都需要按一下小键盘开启键(numlock),才能按数字键 一.运行注册表编辑器,修改InitialKe ...

  4. DrJava试用笔记

    安装方便:只要配好JAVA_HOME,用java -jar drjava-stable-20120818-r5686.jar即可启动,算是绿色软件: 特色功能:交互式命令行,可以在调试程序时改变变量值 ...

  5. Qt项目简易开发原理及常见问题解决

    一.资源下载地址 https://www.aliyundrive.com/s/jBU2wBS8poH 本项目路径:项目->免费->QtDev 注释:为了方便qt全功能开发,QtDev中包含 ...

  6. 位(bit)、字节(Byte)、字(Word)、双字(Dword)之间的关系

    位(bit): bit(简写:b),是计算机数据存储最小的单位,二进制中,0或者1就是一个位(比特位)bit. 字节: Byte(简写:B),是计算机信息技术用于计量存储容量的一种计量单位,通常情况下 ...

  7. 011 FPGA千兆网TCP通信【转载】

    一.LWIP 首先通过上面的简单分析,我们应该很清楚一件事:TCP协议很复杂,光握手过程就需要"三次握手.四次挥手"的复杂过程,不是特别适合FPGA的纯逻辑实现,因为用FPGA实现 ...

  8. STM32—SysTick系统定时器

    SysTick是STM32中的系统定时器,利用SysTick可以实现精确的延时. SysTick-系统定时器 属于 CM3 内核中的一个外设,内嵌在 NVIC 中.系统定时器是一个 24bit 的向下 ...

  9. 剑指 Offer 61. 扑克牌中的顺子

    剑指 Offer 61. 扑克牌中的顺子 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大.小王为 0 ,可以看成任意 ...

  10. 题解 marshland

    传送门 是个最大费用可行流 这题的建边很毒瘤 首先有危险度的点肯定要拆点 关键在于其它点怎么办 如果拆了不好保证每个点只经过一次 不拆连网络流都跑不了 但仔细观察题面,不能不难(???)发现一个L中那 ...