Linux服务器chattr文件被黑问题解决方法

  • Post author:
  • Post category:linux




木马攻击问题由来阐述

我买了三年的阿里云服务器(在

阿里云官网

买的),已经使用了一年多了,平时拿来搭建网站,有时也拿来学习技术和开发测试,一直使用很稳定。直到近期我服务器上安装了docker并部署了springboot+mysql+nginx项目,就被攻击了。但就在今年的5月14号,我的服务器被木马攻击,然后被拿去挖矿了。我服务器的cpu持续维持在CPU100%. 后果是直接导致我网站无法正常请求和响应。而且Linux服务器的root权限被窃取了。

黑客在服务器/root/.ssh目录下生成了连root用户也无法删除的ssh密钥文件(本质就是利用chattr命令加了特殊权限),可以免密码登录。这样的后果就是,我的服务器的控制权被别人控制了。是可忍熟不可忍,必须解决。



我是第一次遇见这种恶心的问题,也不知道黑客们是怎么盯上我的服务器的,也许我是无目的的攻击受害者。作为建站老鸟以及程序员的我,硬着头皮也得解决。因为我是搞前端方面的,所以Linux方面的技能都是我业余时间学习。所以这次问题的解决经过还是挺考验学习能力的。


大致过程分为两大步:

  • 第一步:清除木马后门(ssh免登录密钥)
  • 第二步:杀死木马进程以及清除木马文件(挖矿病毒crypto和蠕虫病毒pnscan)


我用到的工具

  • 阿里云服务器:

    阿里云服务器

    ,国内第一大云品牌,当初是用它来入门学习编程技术的。当然用到它了,要不然中病毒的受害者是谁呢。当然不是说买了阿里云的服务器才会中毒,因为病毒中毒是因为你Linux安全意识和使用不当造成的。这次我是因为docker使用或者纯碎因为ssh暴力破解有关系。所以你换其它家的云服务器,比如

    腾讯云服务器

    ,也一样存在被攻击的可能。事后,我们必须去学点基础的安全防护技巧。
  • 宝塔面板:宝塔面板是很重要的工具,这里就不多说了,入门和使用教程汇总参考:

    宝塔面板安装和入门教程汇总
  • FinalShell客户端:

    下载地址

    该客户端可以安装之后更新到最新版本。
  • chattr源码文件一份(C程序):需要编译chattr文件,破解病毒的chattr附加的特殊属性i 。我再文章中已经给了源码地址,自己去下载使用。Linux系统可以敲命令行去编译c程序源码文件。



第一步:删除免登录ssh密钥文件(木马后门)

1、先下载C文件(https://github.com/posborne/linux-programming-interface-exercises/blob/master/15-file-attributes/chattr.c), 上传到服务器的任意目录

2、编译,cc chattr,得到文件a.out,把名字改成chattr

这一步出现了一个错误:

collect2: fatal error: cannot find 'ld' compilation terminated.


解决方法是(两条命令):

 yum -y install binutils 
 ln -s /usr/bin/ld.gold /usr/bin/x86_64-nptl-linux-gnu-ld.gold

参考资料:

运行gcc出现collect2: fatal error: cannot find ‘ld’



3、运行编译好的文件,把被篡改的文件去掉不可修改的隐藏属性,

./chattr -ia /usr/bin/chattr

编译文件运行命令是:”./chattr” 使用指令 ./a.out 执行



版权声明:本文为JunyouYH原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。