技术饭

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored

copylian    0 评论    7344 浏览    2020.12.22

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored,今天打开阿里云centos的控制面板出现了这种情况,有点懵逼,就重启了下服务器,就一直报这种错误,然后定时任务还被设置成了0,定时任务改回来,15分钟左右又被篡改成了0,估摸着应该是被植入了病毒,想想这台服务器之前因为Redis没有设置密码就已经出现过定时任务文件被篡改的情况,当时还没在意。

1608618979(1).png


分析:

执行vim /etc/ld.so.preload可发现该文件中打印如下语句:

/usr/local/lib/libftp.so

结合报错信息:ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored.

翻译报错信息为:运行时ld动态链接找不到指定库错误,当运行加载/etc/ld.so.preload时,实际动态加载/usr/local/lib/libftp.so文件,编辑打开/usr/local/lib/libftp.so,发现此为空文件,进而引发” ERROR: ld.so:..错误”

20200501001733580.png

注释:

1.Linux下的.so是基于Linux下的动态链接,其功能和作用类似与windows下.dll文件

2.ld.so命令的周期是发生在run-time的,名字叫动态链接器/加载器。它的作用体现在运行时。比如你链接了指定的库,它运行的时候会根据指定的路径去加载指定的库

解决思路:面向百度

寻觅许久,发现一位仁兄的解决方案,详见:https://blog.csdn.net/zhanghenan123/article/details/88718898

接着分析其语句,了解其语句背后的意义

出现此问题中病毒了,执行如下操作即可完全解决

echo "" > /etc/ld.so.preload

chattr +i /etc

rm -rf /var/spool/cron/*

rm -rf /etc/cron.d/*

chattr +i /var/spool/cron/

rm -f /usr/local/lib/lbb.so

chattr +i /usr/local/lib

killall kworkerdsrm -f /var/tmp/kworkerds*

rm -f /var/tmp/1.so

rm -f /tmp/kworkerds*

rm -f /tmp/1.so

rm -f /var/tmp/wc.conf

rm -f tmp/wc.conf

其中chattr +i命令是给文件夹加锁,删除完赶紧上锁,防止恶意文件再复制进去

详解语句

1.置空语句

echo "" > /etc/ld.so.preload

置空语句

注释:

将/etc/ld.so.preload置空,使在运行前不动态链接加载其它类库

详解语句

2.文件加锁

chattr +i /etc

防止黑客更改/etc下文件

注释:

chattr +i命令是给文件夹加锁,删除完赶紧上锁,防止恶意文件再复制进去

详解语句

3.移除定时

rm -rf /var/spool/cron/*

注释:

将r/var/spool/cron/*下的所有Linux定时器删除

最后还是觉得如果出现了这种病毒最好的防护是直接初始化系统吧,没有别的办法了!!!

参考:https://blog.csdn.net/hh_hh1816/article/details/105872554

飓风呀
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!

文明上网理性发言!

  • 还没有评论,沙发等你来抢