前言
这两年见证了公司从600人发展到1200+的过程,虽然公司在安全投入上还算慷慨,但是人员编制有严格要求,一个人的安全部只能把精力放在基础/重点工作上。其中防病毒这块也是两年前才正式部署了企业版防病毒软件,推广过程中也遇到了很多阻力及各种奇葩的安全理念(比如生产服务器我不敢装防病毒,万一瘫了怎么办;领导的电脑,防病毒还是别装吧,装了会很慢),这期间也遇到多起病毒木马事件,每次我都会借助安全事件,狠狠的推一把防病毒软件,目前为止,已经实现所有PC和Windows服务器防病毒软件的百分百覆盖。现将几起病毒木马的处理过程整理一下跟大家分享,本系列偏向于实战。
发现异常
在IDS日常巡检中发现服务器192.168.15.55有异常网络流量,从2021/1/10 4:32开始,每小时大概有300多次对外网IP 134.209.104.66的TCP 54端口发起会话连接,IDS定义事件为“挖矿程序连接矿池服务器通信”。
经查,15.55是内网的一台生产服务器,对外网仅开通FTP服务,且 FTP采用白名单,外网IP 134.209.104.66不在白名单中,FTP端口不是54,如此高频的发起主动连接的确不正常。
如果是中了挖矿木马,木马程序对外应该主动发起连接,网络连接状态应该会有异常?挖矿木马比如占用系统CUP资源?内网服务器是怎么中的挖矿木马?带着这些疑问,我开始逐步排查。
排查步骤
1 检查网络连接状态
从IDS日志看,主机有大量发起连接的异常流量,如果是木马程序,必然会主动去连接木马的服务器端,会与外部网络建立连接,故先查看网络连接状态,输入netstat命令,未发现与134.209.104.66有成功的连接。
没有成功的连接,这个结果在意料中,因为该服务器对外网仅开启了ftp服务端口。
2 查看资源占用情况
输入top命令,其中PID为145598的进程占用大量的CPU资源,而内存占用率并不是很高,非常符合挖矿木马的特征,其中ld-linux-x86-64非常可疑。
3 可疑文件定位
搜索ld-linux字符串,其中/dev/shm/.x/文件夹下的两文件可能有异常。上网搜ld-linux-x86-64关键字,发现有类似的挖矿木马的报道。
进入/dev/shm/.x/,查看目录详情,其中有多个文件的最后修改时间跟IDS的日志时间(2021/1/10 4:32)吻合,同时能看出,该木马程序最早可追溯到2015年3月10日。
经查,/dev/shm/.x/文件夹下的文件均为木马文件,先压缩备份,留着以后有精力再研究,查看定时任务cron.d
查看守护进程文件upd
查看运行程序文件run
运行程序里面有个IP地址185.82.200.52,但该IP地址并非IDS发现的外联地址,所以猜测该地址可能是木马下载/更新服务器。
4 查看用户登录日志
从可疑文件定位发现,木马程序的文件所有者是oracle,所以查看用户登录日志,看攻击者是从何处上传木马程序的,执行lastlog命令
攻击者通过内网另一台服务器172.29.4.52登录,时间1/10 02:25:30。经查,该服务器为某分公司新部署的一台测试服务器,root账户采用的是弱口令,而这台中木马的服务器的oracle账户用的也是弱口令。
怀疑攻击者通过SSH弱口令扫描,lastb命令检查登录失败日志,发现从攻击成功前一天的17:49开始,有大量的SSH登录失败日志,证实了猜测。
5 攻击路径梳理
攻击者通过弱口令进入新部署的测试服务器172.29.4.52,再通过oracle弱口令于1月10日2:25登录ERP服务器,于2:54上传木马文件,IDS于4:32首次发现异常网络流量。
通过分公司IT人员的进一步排查,测试服务器172.29.4.52也中了同样的挖矿木马,在测试服务器上查到有异常登录日志,异常登录的终端是算法部门的员工马某的PC。至此,挖矿木马的攻击路径为:马某的PC-->测试服务器中木马-->生产服务器中木马。
6 木马查杀
Kill掉 PID为145598的异常进程,并删除木马文件/dev/shm/.x/*。经观察,异常进程没有再次启动。
7 马某终端检查
之前在分析木马程序过程中,当把病毒文件拷贝到本机时,防病毒软件第一时间就已经自动隔离了两个文件,说明防病毒软件是可以检测该挖矿木马的。公司统一部署企业版终端防病毒软件,可马某的电脑是怎么中毒的呢?经了解,马某名下除了公司统一配备的台式机外,还有一台笔记本,是上周出差的时候新申请的,经查,该笔记本目前为止尚未安装防病毒软件,处于裸奔状态。
8 小结
攻击者通过未安装防病毒软件的马某笔记本(木桶最短的那块板)进入公司内网,然后再渗透到弱口令的测试服务器,从测试服务器又渗透到弱口令的内网生产服务器。
从整个排查过程看,挖矿木马感染成功后,会通过扫描22端口,并在内网尝试破解SSH弱口令进一步传播。
后续安排
为了防止同类事件再次发生,急需对已发现问题进行整改,主要有以下几点:
由于木马会自动扫描ssh端口弱口令并自动传播,建议抽查或全面排查其他linux服务器是否有中同样的挖矿木马。用top命令查看资源占用最高的进程是否为ld-linux-x86-64,如是,说明已中木马。
中木马的生产系统DBA账户核减,经查,发现有DBA角色的用户账号多达8个,一般DBA角色的用户留2个即可,一主一备。
修改弱口令,经查该中木马的服务器上的用户账号中有7个弱口令,密码和账户相同。启用密码策略,所有linux服务器不得使用弱口令。
强调安全流程,所有PC下发到用户之前,需再次确认已安装了防病毒等公司统一要求的软件。
加强测试区域的安全建设,并细化安全域间的访问控制策略。
尽快推进堡垒机的使用,并切断办公区直接访问服务器的通道。