记录腾讯云服务器被植入pnscan挖矿病毒折磨的一天

2023-11-05 11:30

本文主要是介绍记录腾讯云服务器被植入pnscan挖矿病毒折磨的一天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 事情经过

 原文地址

事情发生在2023.5.19,服务器从购买到现在没有出现过任何情况,尽管是腾讯云提示某个maven依赖的版本存在漏洞,即时更换版本也没有出现什么问题。但是在今天,突然收到腾讯云的多条短信提示,其中一条是这样的:


此时我开始渐渐意识到问题的严重性,随后登录腾讯云控制台查看,此时发现服务器CPU利用率95%,于是开始了我的排查之路。当然是通过百度了。

  • 解决过程

  1. 起初先是通过远程连接工具连接到服务器,输入top命令查看整体占用情况,果不其然cpu占用率高达95%,但是并没有看到是具体哪个线程占用率过高,用ps aux 和ps -ef查看进程没有检测出一个异常进程。
  2. 随后百度搜索意识到是pnscan挖矿病毒。用last查看登陆成功的用户,发现只有自己的;再用lastb命令查看登录失败的用户,发现有成千上万个登陆失败的用户,ip来自国外各地。
  3. 尝试去找到腾讯云提示的恶意文件并删除它,谁知道竟然删不掉,提示权限不足,原来是文件被设置了无法删除的权限,即ia。随后又通过查询百度知道:用 lsattr 文件名 命令查询文件的权限,结果是有 i 特殊权限,然后 用 lsattr -ai 文件名 去删除i权限即可,谁知道这个时候我的lsattr权限也不能使用。
  4. 通过rpm -qa|grep e2fsprogs命令查询显示存在包,但就是不能使用。
    解决办法如下:

1.下载chattr源文件,将文件命名为chattr.c 地址如下:[chattr.c源文件链接](https://github.com/posborne/linux-programming-interface-exercises/blob/master/15-file-attributes/chattr.c) 响应比较慢,请多刷新几次,没有下载按钮可以直接复制然后保存重命名即可。 2.将文件上传至服务器,使用命令"cc chattr.c"编译文件,得到文件 “a.out” ,将 “a.out”文件移动至“usr/bin/”目录下,并更名为“chattr” 命令如下:mv 目标文件路径/a.out” /usr/bin/chattr 3.启动chattr: ./chattr -ia /usr/bin/chattr cur attrs: 0x00080000, mask: 0x00000030 new attrs: 0x00080000 输出如上的指令表示安装成功 原文链接:https://blog.csdn.net/qq_26724613/article/details/128446221

        5. 这时候就可以全部删除掉了,然后还需要去查看有没有定时计划,因为黑客通常都会放一个定时计划,不断地将病毒文件下载。通过crontab -l命令,还好并没有查到定时计划。然后再把异常进程杀掉。

        6. 大多数黑客进入系统后都会建立自己的账户或者免密登录,最开始时就查询过用户列表中没有异常用户,那么我们就找下目录中是否有authorized_keys文件。果然在root/.ssh目录下找到了authorized_keys这个文件,一样通过lsattr -ai 文件名 去除特殊权限后就可以修改删除了。

        7.这时候服务器基本恢复正常,当然有可能服务器的很多系统命令源文件已经被修改,导致很多系统命令不能使用,比如top查看不到相关进程。

  • 分析原因

因为前俩天想给博客项目加一个redis缓存功能,然后想通过本地redis deskmanager远程连接服务器redis,就把redis配置文件中的bind 127.0.0.1给注释了,然而pnscan病毒经常利用redis未授权,端口可以访问这些漏洞进行蠕虫植入。

  • 总结

pnscan病毒非常狡猾,启动的进程号是动态的,导致不能轻易删除。还有文件删除后没多久又出现了多半是因为定时计划。虽然问题解决了,但并不知道服务器还有没有被修改的命令和一些恶意文件,如果不是很重要的服务器项目,建议备份数据重装服务器,并且不能轻易的把端口号防火墙放开,MySQL、redis等密码也要加大难度。

2023年5月22日,建议大家直接重装系统,或者备份的镜像快照回滚。因为今天又出现30多次黑客的攻击,cpu直接100%,根本查不到恶意文件和进程号。所以直接重装!!!

这篇关于记录腾讯云服务器被植入pnscan挖矿病毒折磨的一天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/349557

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中