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

记一次问题的排查史-2020-5-1

第一次写blog,排版略显粗糙,文章有引用博友的链接,望海涵

问题由来:

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第1张图片分析:

执行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:..错误”

注释:

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

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

解决思路:面向百度

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

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

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第2张图片

详解语句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定时器删除

此时好奇的我,先查看文件

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第3张图片

显然这几个文件内容是一样的(文件大小、时间均一致基本可断定为),小手打开一个搂一搂:

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第4张图片

OK,没错,是他,就是他,这个小坏蛋,不是小哪吒

可根据自己的喜好自行解码,我们稍稍提取下信息,拆解下

1.REDIS0006

先百下这齁REDIS0006

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第5张图片

真是厉害了我的小宝贝

接着来咱们liaoliao这句定时语句

*/1 * * * * 

注释:

Linux定时任务
 *   *    *    *    *
分 时  日  月  周 


“|”是管道符,代表将它左边的命令产生的输出,作为标准输出,再作为标准输入,汇入到右边的命令里。
简单来说就是把左边sh文件的内容交给右边sh去执行


-s/--silent
静默模式,不输出任何东西
-S/--show-error
显示错误,在选项 -s 中,当 curl 出现错误时将显示
-L/--location
跟踪重定向
-f/--fail
不输出错误


总翻:每分钟从那一串不想提起的路径搂取一个初始化脚本,并执行

没完,往下刨

于老师法兰克福骑士奖


接下来模糊查询该地址关联文章,一位小姐姐的博文映入眼帘,倍感亲切,如出一辙,四字词语略略略,详见

https://learnku.com/articles/35888

这也成为了每日凌晨惊醒领导的恶意闹钟,那是个噩梦开始的夜晚...

另一篇博文更是与生产上一次用户大范围登录不上服务器,出奇一致,博文链接地址如下:

https://www.cnblogs.com/langdashu/p/5392128.html


综合两篇博文,进行服务器排查

详解语句4.移除定时

rm -rf /etc/cron.d/*

注释:

r/etc/cron.d/*下的所有Linux定时器删除

 

介绍下:cron执行时,也就是要读取三个地方的配置文件:一是/etc/crontab,二是/etc/cron.d目录下的所有文件,三是每个用户的配置文件

删除前,我们先汇总分析文件中内容

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第6张图片

经统计发现,此类文件中均含有REDIS0006*相关内容,这不免引起我们的注意,为毛老有Redis的事儿?

上述博文中老哥已说明一切,没错就是redis漏洞被利用,服务器被攻破,带着黑客是如何攻破的疑惑去扒拉扒拉对应的漏洞报告

详见:http://static.nosec.org/download/redis_crackit_v1.1.pdf,介绍的很详细,在此不再累述,redis脆弱的小心脏就这么被人给噗噗两刀

至此,原因找到

接下来咱们聊聊有意思的挖矿脚本

借用下《一个有趣的利用 redis 未授权访问漏洞进行挖矿的分析及防范》博文进行分析

了解下蜜罐,以下为百度百科,简单点儿说就是下了个套,不过涉及法律相关问题,友情提示:别冒险尝试

首先我们要弄清楚一台蜜罐和一台没有任何防范措施的计算机的区别,虽然这两者都有可能被入侵破坏,

但是本质却完全不同,蜜罐是网络管理员经过周密布置而设下的“黑匣子”,看似漏洞百出却尽在掌握之中,

它收集的入侵数据十分有价值;而后者,根本就是送给入侵者的礼物,即使被入侵也不一定查得到痕迹……

因此,蜜罐的定义是:“蜜罐是一个安全资源,它的价值在于被探测、攻击和损害。”

设计蜜罐的初衷就是让黑客入侵,借此收集证据,同时隐藏真实的服务器地址,因此我们要求一台合格的蜜罐拥有这些功能:

发现攻击、产生警告、强大的记录能力、欺骗、协助调查。另外一个功能由管理员去完成,那就是在必要时候根据蜜罐收集的证据来起诉入侵者。

按捺不住激动的心情,咱们捋捋人家的脚本,品读其中的代码思想,注意咱们要提取的思想,不是坏想法,三观要正,学其精华

哈哈哈...耐心点儿,咱们接下来有感情的朗读一下ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第7张图片

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第8张图片

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第9张图片

ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第10张图片ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第11张图片ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第12张图片ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第13张图片ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第14张图片ERROR: ld.so: object '/usr/local/lib/libftp.so' from /etc/ld.so.preload cannot be preloaded: ignored_第15张图片

分析下来,由衷地感慨,专业,细致,认真,不忘初心,最最主要的是干活儿有头有尾,pg清理的干干净净,虽然很气愤,但这样的对手,何尝不让人敬佩

关于防御,我想大神们都总结了很多...today enough

待续...

相关文章链接:

https://blog.csdn.net/zhanghenan123/article/details/88718898

https://learnku.com/articles/35888

https://www.cnblogs.com/langdashu/p/5392128.html

http://static.nosec.org/download/redis_crackit_v1.1.pdf

你可能感兴趣的:(linux,服务器,安全漏洞)