记录腾讯云服务器当矿机的一天
前言
最近入手了一台腾讯云服务器玩玩,兴致勃勃的装上Docker
,打算把之前的SpringBoot
项目跑一跑。
安装Docker
、配置Maven Docker
插件、开放Docker
远程端口(这里划重点要考)、配置服务器安全组端口、编写Dockerfile
文件、打包上传镜像、运行项目,一切都很正常。
第二天早上,再次登录服务器时发现特别卡,下意识以为是自己运行项目的问题,初步排查一下,CPU占用100%,2M小水管带宽被占满……
排查
TOP
命令查看进程信息
TOP
命令查看进程信息,可以看到“sic”这个进程内存占用非常高,下面的“masscan”进程占用也相当高(百度发现可能是扫描端口的程序)
定位进程文件
根据
PID
执行命令,ll /proc/7844
,发现执行路径在 /var/tmp/sic/sic ,同目录有一个config.json
文件,其内容如下图,百度一下发现各个属性像极了挖矿程序的配置 - .-
查看定时任务
- 执行
crontab -l
命令,发现三个异常任务,以第一个为例,corn表达式
0,30 * * * *表示每0分钟和每三十分钟执行一次任务,网址返回的为一段shell脚本代码,通过管道在本地执行脚本,任务三则是每0秒(每分钟)执行一段Python
脚本,任务四是腾讯云的监控组件。 - 脚本内容大概就是通过
ssh
提权,删除系统日志,卸载安全组件,挖矿程序,代理服务等,然后定时执行,循环往复。
总结
百度一圈发现是因为Docker
的远程服务没有任何加密措施,黑客可以远程直接运行任意容器,通过-v
命令(数据卷)将他的ssh
公钥挂载到宿主机的/root/.ssh
目录,从而实现提权。
傻乎乎当了一天矿机,出于安全考虑(系统已经惨不忍睹,也无法保证没有其他暗门),我立刻更换了公网IP,并且重置了系统镜像,然后我又安装上了Docker
,不同的是这次我老老实实地在本地构建了镜像~
记录腾讯云服务器当矿机的一天
https://www.srblog.cn/posts/23f6ec83/