记录腾讯云服务器被植入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

相关文章

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指