当前位置: 首页 > news >正文

服务器又被挖矿记录

写在前面

23年11月的时候我写过一篇记录服务器被挖矿的情况,点我查看。当时是在桌面看到了bash进程CPU占用异常发现了服务器被挖矿。
而过了几个月没想到又被攻击,这次比上次攻击手段要更高明点,在这记录下吧。

发现过程

服务器用的是4090,i9-13900K,就我一个人在用,我也不跑什么大规模程序,按理说平常风扇基本不会一直响。今天来到实验室后发现风扇在狂转,过了一二十分钟后还是这样,我就意识到可能出了问题。
首先我看了眼桌面上占用资源较多的几个进程,没发现异常
在这里插入图片描述
而在上篇记录中,bash进程都超过了90多,只从这里看不出什么问题。
然后我又打开了资源管理器进一步查看
在这里插入图片描述
资源占用都不是很高,到这里还是看不出问题

我又回想起之前我同学又要用这个服务器跑程序(没错,又是他o(╥﹏╥)o),当时我就给了他一个公共用户,为了防止像上次一样被挖矿,我还特意改了下那个用户的密码。
但是由于他不在校园网范围内,所以走的是一个公网ip登的服务器,做了个端口映射。
我给他的用户是lab,由于他可能也要装软件,所以也给了sudo权限。
于是我查了下lab用户的进程
请添加图片描述
注意上面有几个可疑的地方

  • 有一个Python程序,还是从昨天开始运行的,但这个用户最近并没有人使用
  • 有一个远程ip:root@10.201.0.50,这就非常可可疑了,又没人使用,为什么会和一个远程ip有通信记录,还是ssh
  • 鼠标放到Python那个进程显示如下

请添加图片描述
大致是python -a kawpow -o 127.0.0.1:4444 -u RMsn.lab --no-watchdog --no-strict-ssl
由于我也不是专门的运维人员,也不懂这些参数是什么意思,于是问了下ChatGPT
在这里插入图片描述
由于关闭了资源占用监控,所以资源管理器看不出什么资源占用异常
至此,确信了服务器确实又被攻击了

处理方案

最保险的方法还是重装系统,但上面有很多资料,所以先按如下过程处理下,之后再多留意下

这里参照了这个文章的处理方法:点我查看

首先是last命令查看最近登录的有没有异常ip

在这里插入图片描述

这里也看不出什么,可能记录被删除了

然后看下命令的历史记录history 500,还是看不出什么

接着看下有没有什么定时任务
请添加图片描述
这里明显能看出有异常记录,进一步排查,看下这个定时任务的内容
请添加图片描述
这个脚本的作用是检查系统中是否有名为 javra 的进程在运行,如果没有,则执行 $locatie/root.sh 脚本,并将输出重定向到空设备,然后将这个任务放入后台执行。

而javara就是开头资源管理器中那个挖矿脚本,所以问题就在这里

去图中的/var/tmp/.log/.local目录看下有什么
这里我忘了截图了,该目录下放的就是javara还有其他脚本

把该目录下的文件都删除

之后在/var/tmp/.log还看到了lab的其他文件,为了以防万一,对所有以.开头的目录都执行了删除操作:find . -maxdepth 1 -type d -name ".?*" -exec rm -rf {} \;

之后使用crontab -e进入定时任务,把3个定时任务给删了

使用passwd lab更改用户密码

使用sudo deluser lab sudo命令删除lab用户的sudo权限

检查下.ssh 目录下 authorized_keys文件,为了以防万一,我将这个文件清空了


到这里,针对这次被攻击的处理便完成了,服务器的风扇也不再一直狂转了
之后如果还有什么问题,会再次记录的

相关文章:

  • 深入理解Servlet
  • 封装SDK时如何隐藏内部符号
  • bacnet cov机制详细介绍
  • 第六章 Windows 10 注册表 实验案例二
  • Java 集合类的高级特性介绍
  • 21、状态模式(行为性模式)
  • 模板不存在:./Application/Home/View/OnContact/Index.html 错误位置
  • 如何隐藏前端项目编译后的.map文件
  • LDC——用于边缘检测的轻量级密集神经网络原理与C++推理
  • 科技云报道:阿里云降价,京东云跟进,谁能打赢云计算价格战?
  • OrangePiLinux连接小米手机使用adb显示“List of devices attached”的问题解决
  • Qt设置右键菜单无效customContextMenuRequested(const QPoint pos)
  • git workflow
  • 算法D39 | 动态规划2 | 62.不同路径 63. 不同路径 II
  • 前端性能优化 | CDN缓存
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 2017-09-12 前端日报
  • AngularJS指令开发(1)——参数详解
  • Apache的基本使用
  • docker容器内的网络抓包
  • npx命令介绍
  • PHP的类修饰符与访问修饰符
  • Puppeteer:浏览器控制器
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • zookeeper系列(七)实战分布式命名服务
  • 蓝海存储开关机注意事项总结
  • 前端工程化(Gulp、Webpack)-webpack
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 通信类
  • 用Visual Studio开发以太坊智能合约
  • 自定义函数
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #{} 和 ${}区别
  • (0)Nginx 功能特性
  • (二)PySpark3:SparkSQL编程
  • (过滤器)Filter和(监听器)listener
  • (黑马C++)L06 重载与继承
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • **PHP分步表单提交思路(分页表单提交)
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .net流程开发平台的一些难点(1)
  • .NET性能优化(文摘)
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @hook扩展分析