一次与“被矿机”的博弈过程

2023-10-08 12:50
文章标签 过程 一次 博弈 矿机

本文主要是介绍一次与“被矿机”的博弈过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       最近真的没想到一件只在“新闻中的事”却真真切切发生在自己身上,那就是我的电脑“被挖矿”了,成为俗称的“肉鸡”,真的让我开始关注起网络安全的重要性了。看到这,别想歪,我可没有用它来浏览带颜色信息!万万没想到,这个病毒其实隐藏在了一个docker镜像内,还好我及时发现并处理了,没造成啥重大损失,下次要引以为戒了。好了,下面就听我将整个事情原委一一道来。

      首先交代一下,我的台式电脑是ubuntu18.04系统,32g运存,i7的处理器,显卡是getforce 2070super,docker版本是20.10.7版本。

(1)发现异常

       让我最近起疑的是台式机有一次突然登录密码错误,登不上去了,我以为是自己忘了修改密码,然后通过修复模式进入系统设置新的密码,后来也没太在意,接着后面显卡驱动和~/.bashrc莫名奇妙不见了,然后自己手动又一一补上,此时我还以为是显卡松动了啥的,给它一通收拾,又过了几天一件事情真正让我觉察到这件事不简单,那就是我通过

watch -n 0.1 nvidia-smi

观察显卡使用率,发现后台总是突然新起一个,有时候两个htop的进程,然后迅速占满显卡,而且电脑也会变得比较卡起来,于是我开始深究这个问题了。

图片

(2)追根溯源

       发现该异常进程后,然后我迅速去查看一下cpu使用情况

图片

貌似没有发现啥特殊的,然后我就去查看了一下改进程的相关信息

ll /proc/23767   

最后我去查看了一下root账户和个人用户后台自启动程序

crontab -l

终于发现了一个莫名的自启动程序

图片

然后查看了一下里面的内容

图片

到这里终于明朗了,然后去网上一查,ip在新加坡段,一个著名的渡鸦币(RVN)显卡挖矿小病毒。

(3)激烈博弈
       发现自己被肉鸡后,心情是又激动又忐忑,第一次碰到这玩意还真不知道如何解决,网上搜索了一番好像也没找到行之有效的解决办法,于是自己还是根据htop进程来入手。

      刚开始自己只是手动kill这个进程,但是这显然治标不治本,然后自己一番思考,全盘查看一下htop相关的内容

sudo kill -9  xxx ##手动kill相关进程
sudo find / -name htop*   ###全盘查找与htop相关的

然后我得到一些相关信息(忘记截图了。。。),同时与crontb自启动的内容脚本一致了,于是接下来就是该删的删,该停的停了。

       中间如果碰到一些文件在删除时报“只读系统文件”的问题时,就算加上了sudo也不能解决问题,这时候需要借助单用户模式下mount -o remount,rw /来解决问题,如果还是解决不了,可以尝试下面方法:

mount    ###查看模块的属性,哪个模块输入只读ro,哪个模块输入可写rw#对于出现与htop相关的模块,如果发现有ro,就重新mount,或者umount以后再remount,比如umount /dev/nb1 ###然后再rm -rf /dev/nb1即可

      后来发现原来是docker拉取的一个镜像里面包含了这个病毒,这个镜像主要和我最近做的传感器融合相关,加了一个vnc可视化,没想到里面尽然包括了这个玩意,坑死我了,花了几天时间才发现解决。然后果断将这个镜像关停删除,至于网上说的养蛊,也就是将这个病毒养起来慢慢玩,我想还是算了,等自己能力强大了再说。

      好了,今天的分享就到这里吧,我想这也多亏是在docker内运行的小病毒,关闭该镜像,然后删除htop相关的自启动文件即可,现在观察了一天好像没有再出现该问题了,下次要多吸取教训了!如果觉得有趣有用,有空可以关注一下我的公众号“半路IT南”,谢谢!

这篇关于一次与“被矿机”的博弈过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin