春节假期刚过,正常上班的日子正在进入步伐,早上起来的时候发现腾讯助手发来了好几条安全告警通知,检测到几个木马文件,巧了,昨天也收到一个木马警告,作为一个网络小白的我,只是把木马文件隔离,没想到今天又中招了,其实我很懵,怎么会有人攻击我网站服务器,而且服务器上我只是部署了几个自己的站点,所以我的第一反应是是不是公司里哪个大佬想用我的服务器练练手,但当我打开腾讯云的入侵检测页面时,发现事情并没有这么简单,看着入侵时间分别是半夜的12点和凌晨的3点,感觉像是定时任务,而且服务器文件都还在,没有被加密,所以应该也不是勒索病毒,但是我的站点都打不开了,加载的时候一直在转圈圈,从凌晨12点开始,CPU占用一直百分之百,看到这里对网络安全熟悉的朋友应该就能看出来,我这是被挖矿了,黑客通过批量入侵主机使用这些主机的算力为他们挖矿,好吧,其实当时我根本就不知道是被挖矿了,我当机立断把木马文件隔离,然后重启了一波服务器,CPU占用是正常了,网络也都可以访问了,但是这治标不治本,估计明天半夜又被入侵了。
于是我查看了这几个木马文件的位置,有了新的发现,这Dota3的压缩文件是什么鬼,顺手搜了一波,原来是被植入挖矿木马了,刚好看到一篇文章和我的这个情况基本一致,那我就不用慌了,因为人家的文章里写了如何解决,我先来看看这些木马文件里都有些什么,毕竟是第一次被成功入侵,还是有点好奇,打开这个文件夹进入文件夹a里面有4个文件,这些需要脚本感觉是挖矿前的环境准备,这里还有判断CPU类型,然后执行对应的脚本,看一下文件夹b有三个文件,这个脚本有点意思,这个代码很长是用base64编码过了,先往下看,这儿把黑客的Rsa公钥添加到信任列表里,然后就能直接免密登录我的服务器,剩下的文件夹c也是类似的一些需要脚本就不看了,先把这段很长的代码解码一下,解码后得到这么多看起来也是乱码的文件,然后用Perl执行一下,这些就是源代码了,这个sync应该就是木马程序的进程名。
然后下面这个应该就是攻击者的IP地址,让我们查看一下,显示地址是欧盟,这个入侵我服务器的主机IP和那篇文章作者受到的入侵IP是同一个网段下的,估计是同一个机房里的机器。那么到这里服务器被挖矿的过程已经挺清晰了,但还有一个最大的问题,他们是如何攻破我的服务器的,或者说我的服务器哪里存在了漏洞,然后看这篇文章里作者的服务器是因为弱口令而被入侵,但是我的服务器管理员密码是由10位大写字母加小写字母加数字加标点组成的,按道理来说应该是不容易被爆破的。
正当我百思不得其解,然后区分木马文件目录时,发现这些文件的所有者都是1002,然后我发现了一个a点txt的文件所有者也是1002,打开一看我愣住了,文件里赫然写着user password信息,两天前为了给朋友用我的服务器,于是我新建了一个用户用户名就是user,密码就是pass我的,然后当天晚上就被爆破了打脸了打脸了,竟然是如此简单的原因。好吧,再看一下我的服务器登录记录,有5000次的登录失败次数,然后查看那些登录失败的记录,对方直接通过高爆破ssh弱密码来尝试入侵,真是个既简单越有效的方法,你看我就中招了。
那么网络小白的第一次与挖矿木马硬碰硬,被入侵的经历大概就是这样了,清楚这个挖矿木马的步骤也很简单,第一步当然是删了user这个账户以及该账户下的所有文件,这个步骤就把ssh的后门以及在user账户下与该木马有关的所有文件都删掉了。第二步就是更换默认的ssh登录端口,这两个步骤完成后,挖矿木马就没有那么容易入侵我的服务器了。所以对于像我这样的网络安全小白,只是在服务器上搭个博客,或者作为一个内网穿透的跳板而言,黑客一般是看不上的,我们只要设置一个安全系数高一点的登录密码,然后修改默认的ssh登录端口,那么被爆破的可能性就会大大降低了,当然换成Rsa密要登录的话那就更好了。