作为一名运维工程师,保护自己的服务器责无旁贷,日常必须时刻注意不靠谱的开发、复杂的环境配置、随时可能出现的手残失误以及部分同事的入职删库跑路三部曲,还要随时防备着外部黑客带来的冲击。
最近我就遇到一个小小的麻烦,对方手段也并不高,很轻松就解决了。没想到的是在这个过程中,我居然还的发现了一条小小的致富道路。
某天中午测试反馈说线上系统频繁的报502错误,并且响应极慢。
开始怀疑是公司哪位小哥在下载小电影,但打开其他网站都很快。于是继续怀疑难道是业务激增导致带宽被占满了,于是登录监控界面,显示只用了80Mb,带宽也没占满。
ssh上服务器之后,本能的执行top命令,返现cranberry进程几乎把cpu吃满了。
于是尝试kill掉进程
kill掉之后,cranberry又会立即自动重启。
在紧盯屏幕之后,惊喜的发现crontab进程。于是大喜过望,这哥们会啊。
于是查看crontab的列表
看到如下命令,会通过定时任务去远程服务器下载脚本。
于是把crontab的列表删掉
然后,以为kill掉cranberry之后,就ok了,谁知道还是自动重启。
那只能耐着性子,把脚本下载下来研究一下了,脚本内容如下:
这脚本倒也简单,主要是下载另外一个脚本,到/etc/目录中,名字是root.sh.
于是查看是哪个进程执行了脚本:
把上边的进程kill掉:
然后再kill掉cranberry:
这次终于搞定了。不过仔细看了看,似乎还有几个挖矿木马,用同样的排查思路一个个干掉了。
搞定病毒之后,顺便研究了CPU挖矿工具,发现了
xmr-stak-cpu
这个东西。
上网搜了搜,找到了GITHUB上的主页,好像刚升级不久:
https://github.com/fireice-uk/xmr-stak
还有个早先点的版本地址为:
https://github.com/fireice-uk/xmr-stak-cpu
找了一台测试机安装一下试试:
好像没有可以执行的文件,不过我发现了Dockerfile,然后又在 scripts文件夹里找到了build_xmr-stak_docker.sh 难道是自动创建一个docker 来挖矿?
打开来看看:
呵呵,果然不出所料,这个脚本针对 CentOS 和 Ubuntu系列linux系统自动创建建立一个Docker镜像然后安装xmr-stak 编辑一下这个脚本,只留下一个操作系统,我这里只留下了 Ubuntu 17部分。
原来的脚本是跑完了docker 安装完成就吧容器删掉,而我现在想把这个容器留下于是就改了改,最后变成下面这个样子:
我的linux 不需要CUDA ,删掉 CUDA部分的代码。
直接执行(运行前请确定是否已经安装Docker):
上面是选择你想挖的币种类、矿池地址、钱包地址等等设置完之后会自动执行,如果出现下面这个就说明连接成功了,我测试用的是国内的一个门罗币矿池mine.ppxxmr.com:3333:
网站上也出现了你挖矿的进度,如下图:
终止进程后发现,bin下面多了两个文件 cpu.txt 和 config.txt:
打开来看看:
内容比较多,刚才的设置应该都存在这里了。
cpu.txt是我们调整CPU使用效率的文件,如果觉得资源耗太多可以减少一些
好了,再次执行的时候就不用进行设置了。
看一下资源消耗,瞬间就上10了哈哈,看看这点算力和这么高的负载,咱们就测测就得了。
不过要是想办法搞点算力,基本上致富之路就开始啦~
部分内容来自于51CTO博主feelgood3000和storysky