11-21 解决阿里云 ECS 服务器挖矿程序的过程记录

发现

这几天阿里云一直给我发信息说服务器在访问恶意下载源,上去阿里云的管理控制台看了一下 ECS 的负载信息,发现没什么异常,就没怎么留意,后面发现一天一条,以为是我前几天重装了 MySQL 的问题,没去关注阿里云的报警信息就把 yum 加入MySQL5.7的那个软件源卸载掉了,之后发现问题还是存在,就去阿里云看了一下报警信息,如下:
在这里插入图片描述
里面比较关键的信息有这几个点:

  1. 父进程路径:/usr/sbin/crond
  2. URL 链接:http://185.181.10.234/e5db0e07c3d7be80v520…
  3. 与该 URL 有关联的漏洞:Drupal CVE-2018-7600 ,ElasticSearch Groovy 脚本远程代码执行漏洞 CVE-2015-1427 ,Hadoop Yarn REST API 未授权漏洞 ,WebLogic CVE-2017-10271

我第一反应是执行了什么定时任务,于是就使用如下命令:
# crontab -l
发现确实有一个一直访问阿里云报警信息上的 URL 链接的定时任务,执行如下命令,查询定时任务的 log:
# tail -f /var/*log*/cron
在这里插入图片描述
直接执行清除定时任务的命令:
# crontab -r
再把阿里云报警信息的进程杀一下,以为就万事大吉了,结果隔天还是收到一样的信息……
于是,我就去检查 Redis 的登录口令,IP 白名单,MySQL IP 白名单等看是不是哪些端口被利用了,加强一下强度避免再被利用,然后再到 .ssh目录查看 authorized_keys 的文件,结果发现多了两个其他的密钥,准备把它们删掉,结果发现,我使用 root 用户登录仍然提示没有权限,使用 chattr 命令可以去改变文件属性,所以我执行如下命令:
chattr -i authorized_keys
然后再使用 vi 编辑器进行编辑保存即可。
事情还没完,肯定是哪里有执行了什么修改 authorized_keys 文件的脚本,导致文件被篡改,使用 find 命令来查找一下:
find / -type f -name "*.sh" | grep authorized_keys
发现有一个 etc 目录下有一个 update.sh 文件包含这个字符串,打开一看,果然就是这个脚本在搞鬼……
在这里插入图片描述
那就一个一个删除吧:

chattr -i /etc/update.sh
rm -rf /etc/update.sh
chattr -i /etc/sysupdate
rm -rf  /etc/sysupdate
chattr -i /etc/config.json
rm -rf /etc/config.json
chattr -i /root/.ssh/authorized_keys
rm -rf /root/.ssh/authorized_keys
chattr -i /etc/networkservice
rm -rf /etc/networkservice

执行完毕,再去看看tail -f /var/log/cron
一切正常了,大功告成。

By the way

有问题?可以给我留言或私聊
有收获?那就顺手点个赞呗~

当然,也可以到我的公众号下「6曦轩」,输入“学习”,即可领取一份
【Java工程师进阶架构师的视频教程】~
在这里插入图片描述
由于我咧,科班出身的程序员,php,Android以及硬件方面都做过,不过最后还是选择专注于做 Java,所以有啥问题可以到公众号提问讨论(技术情感倾诉都可以哈哈哈),看到的话会尽快回复,希望可以跟大家共同学习进步,关于服务端架构,Java 核心知识解析,职业生涯,面试总结等文章会不定期坚持推送输出,欢迎大家关注~~~

发布了29 篇原创文章 · 获赞 9 · 访问量 9945

猜你喜欢

转载自blog.csdn.net/weixin_42669785/article/details/103181892
今日推荐