记录腾讯云服务器当矿机的一天

前言

最近入手了一台腾讯云服务器玩玩,兴致勃勃的装上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/
作者
sr
发布于
2019年11月26日
许可协议