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

2023-11-16

木马攻击问题由来阐述

我买了三年的阿里云服务器(在阿里云官网买的),已经使用了一年多了,平时拿来搭建网站,有时也拿来学习技术和开发测试,一直使用很稳定。直到近期我服务器上安装了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 执行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux服务器chattr文件被黑问题解决方法 的相关文章

  • 驱动程序里ioctl下switch问题

    今天在写步进电机驱动程序时 switch语句引出3个分支 case 0 case 1 case 2 case 0 什么都不做 case 1让步进电机正向转动 case 2让步进电机反向转动 但是测试时 case 2怎么也动不起来 后来把ca
  • PLSQL Developer的配置方法

    1 下载32位的版本instantclient basic nt 11 2 0 3 0 zip 因为PLSQLDev是32位的 没有64位的版本 这 个和操作系统无关 2 instantclient下载完后是一个压缩文件 不需要安装 配置一
  • 服务器系统如何清理,服务器清理内存怎么清理

    服务器清理内存怎么清理 内容精选 换一换 本节操作指导您完成Windows操作系统云服务器磁盘空间清理 弹性云服务器匀出一部分磁盘空间来充当内存使用 当内存耗尽时 云服务器可以使用虚拟内存来缓解内存的紧张 但当内存使用率已经非常高时 频繁的
  • 关于HTTP协议,一篇就够了

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol 超文本传输协议 的缩写 是用于从万维网 WWW World Wide Web 服务器传输超文本到本地浏览器的传送协议 HTTP是一个基于TCP IP通信协
  • TCP 连接管理机制(一)——TCP三次握手详解 + 为什么要有三次握手

    TCP是面向连接的协议 在通信之前需要先建立连接 其本质就是打开一个socket文件 这个文件有自己的缓冲区 如果要发送数据 上层把数据拷贝到发送缓冲区 如果是接收数据 OS直接把来自网络的数据拷贝到接收缓冲区里 那么三次握手期间 Serv
  • youversion.com的圣经无法使用、无法连接、无法下载离线版本的解决方法

    最近 youversion com的圣经无法使用 无法连接 无法下载离线版本了 这是一部很好用的圣经软件 以前一直用着 后来ipad越狱重新安装的时候就不能连接了 后来无意间发现原来是这个网站被和谐了 至于GCD为什么这么做 以咱的智商尚不
  • 接口自动化测试须知

    一 做接口测试需要哪些技能 做接口测试 需要的技能 基本就是以下几点 业务流 了解系统及内部各个组件之间的业务逻辑交互 数据流 了解接口的I O input output 输入输出 协议 包括http协议 TCP IP协议族 http协议

随机推荐

  • CMD查杀端口的两种方式

    第一种 netstat ano windows r输入cmd并打开 输入netstat ano 记住对应的6052 输入杀掉端口 taskkill pid 6052 f 第二种 netstat aon findstr 8080 直接输入ne
  • Win10 + VS2017 + Ceres配置

    前言 Ceres是google出品的一款基于C 的开源非线性优化库 官方文档 Ceres官方文档地址 依赖库 Eigen 官网 glog github gflags github Ceres github 配置过程 1 Eigen Eige
  • Python3 爬虫 requests+BeautifulSoup4(BS4) 爬取小说网站数据

    刚学Python爬虫不久 迫不及待的找了一个网站练手 新笔趣阁 一个小说网站 前提准备 安装Python以及必要的模块 requests bs4 不了解requests和bs4的同学可以去官网看个大概之后再回来看教程 爬虫思路 刚开始写爬虫
  • GPT专业应用:快速生成职位描述(JD)

    正文共 814 字 阅读大约需要 3 分钟 人力资源必备技巧 您将在3分钟后获得以下超能力 快速生成职位描述 Beezy评级 B级 经过简单的寻找 大部分人能立刻掌握 主要节省时间 推荐人 Kim 编辑者 Linda 图片由 Lexica
  • 数据中台与传统大数据平台有什么区别?_光点科技

    一 数据中台 数据中台是聚合和治理跨域数据 将数据抽象封装成服务 提供给前台以业务价值的逻辑概念 数据中台是在平台概念上的升级 不再单纯的将功能进行大杂烩 理念上 中台有几个特点 第一 更强调数据集中存储 统一管理 提供标准化的服务 第二
  • 【毕业设计】基于springboot + vue微信小程序商城

    目录 前言 创新点 亮点 毕设目录 一 视频展示 二 系统介绍 三 项目地址 四 运行环境 五 设计模块 前台 后台 六 系统功能模块结构图 数据库设计 七 准备阶段 使用真实支付 使用模拟支付 八 使用说明 九 登录后台 十 后台页面展示
  • 前端常用工具库方法整理

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 前言 在闲余的时间整理一份我们可能用到的前端工具库方法 依赖库 名称 cropperjs 图片裁剪 exif js lrz 图片旋转问题 html2canvas d
  • React性能优化(完整版)

    我的博客 http wangxince site my demo markdown React 性能优化 1 减少 render 次数 shouldComponentUpdate PureComponent shouldComponentU
  • 计算机学习三宗罪——计算机达人成长之路(3)(转载自朱云翔老师笔记)

    以计算机学习不可浮躁 只有用心学习 深挖知识 才能基础扎实 才可以深入理解计算机专业知识 从而达到 他强由他强 清风拂山岗 他横由他横 明月照大江 的境界 万变不离其宗 编程程序具有三重境界 同样以VCD播放器为例 第一重境界就如同上面的同
  • 【译】用 `Wasmer` 进行插件开发 1

    译 用 Wasmer 进行插件开发 1 Using Wasmer for Plugins Part 1 译文 原文链接 https wiredforge com blog wasmer plugin pt 1 index html 原文 G
  • 05-BTC-网络

    目录 前言 比特币网络的工作原理 比特币网络 比特币网络中的每一个节点维护一个零度节点的集合 比特币系统中 每个节点要维护一个等待上链的交易的集合 比特币网络的传播属于best effort 前言 学习肖臻老师的 区块链技术与应用 公开课笔
  • vue-element-admin+flask实现数据查询项目

    本文分享一个使用vue element admin flask实现的一个数据查询项目 填写数据库连接信息和查询语句 即可展示查询到的数据 前提 已下载vue element admin并编译成功 前端 1 添加路由 src router i
  • 【Windows共享文件】Java读取Windows环境共享文件夹

    Java读取Windows环境共享文件夹 支持Win10 Win11等版本 1 JCIFS介绍 JCIFS是使用纯Java开发的一个开源框架 通过smb协议访问远程文件夹 该框架同时支持Windows共享文件夹和Linux共享文件夹 不过
  • Java漫谈(二)

    类名 Java编译器的设计与java源代码的语法结构是相辅相成的 先有语法 再有编译器 大家都知道 java是以类为单位进行组织的 类是java对世界的抽象描述 Java程序的运行其实就是多个类之间的相互调用 表现在源码上 java的语法规
  • 【动手学深度学习】关于数据预处理——2.2.5练习 2023.7.12

    创建包含更多行和列的原始数据集 import torch import os os makedirs os path join data exist ok True data file os path join data nba data
  • R-Modeling(step 4)

    I Regression OLSregression Description Function simple linear regression lm Y X1 data polynomial regression lm Y X1 I X
  • Ado.net总结-Command(指挥官)

    Command 概述 在 System Data SqlClient 命名空间下 对应的 Command 类为 SqlCommand 在创建 SqlCommand 实例前必须已经创建了与数据库的连接 SqlCommand 类中常用的构造方法
  • js ajax callback全局,我如何在全局javascript变量中获取Ajax内容

    pastebin代码已经做到了 我猜您实际上面临的问题是存在的 因为您的ajax调用是 异步的 这意味着您正在 异步 发出ajax请求 并立即尝试访问全局变量中的值 但它尚未尚未设定 解决方案是在onReadyStateChange回调中执
  • 如何在EXCEL中运行ChatGPT,从此不再需要记函数

    文章目录 目录 文章目录 序言 如果你可以直接使用chatGPT 如果你不可以直接使用chatGPT 序言 Excel是处理大量数据非常有用的工具 然而 找到并实施正确的公式有时可能是一个复杂和令人沮丧的经历 幸运的是 ChatGPT可以成
  • Linux服务器chattr文件被黑问题解决方法

    木马攻击问题由来阐述 我买了三年的阿里云服务器 在阿里云官网买的 已经使用了一年多了 平时拿来搭建网站 有时也拿来学习技术和开发测试 一直使用很稳定 直到近期我服务器上安装了docker并部署了springboot mysql nginx项