1.1 情况简介
某日接到用户电话,用户某应用系统微信公众号平台服务器应用运行异常掉线卡顿,运维人员检查后发现服务器存在占用大量CPU资源的恶意进程,且无法清除该进程,导致WEB应用服务无法正常运行。
接触到的大多挖矿木马事件,大多是因为影响到业务无法使用或明显卡顿运维人员主动发现,说明仍有不少用户缺乏内网安全态势感知和安全事件告警处置流程。
1.2 分析结论
登录服务器针对服务器进程、网络进行检查,确认服务器存在挖矿木马进程且连接了矿池正在进行恶意挖矿行为。
根据该挖矿木马的行为特征和文件特征,确定服务器上存在两个不同家族的挖矿木马,分别为kdevtmpfsi和startMiner新型变种挖矿木马。
通过对kdevtmpfsi木马分析,发现该木马存在守护进程无法直接删除,需首先清除其守护进程kinsing,再对kdevtmpfsi木马进程及其相关恶意文件进行清除。
重启业务后发现kdevtmpfsi木马再次启动,对其进程进行追踪发现挖矿木马感染了weblogic启动脚本文件,只要weblogic应用属于启动状态,木马会持续下载运行,清除weblogic中恶意代码和恶意文件后,观察2小时未发现挖矿木马再次启动。
通过对startMiner新型变种挖矿木马分析,发现该木马也无法直接删除,该木马利用了服务器大量的计划任务和自启动项服务达到长期驻留服务器的目的,且各个驻留程序相互交叉感染,需定位所有驻留程序编写清除脚本一次性针对所有恶意驻留程序进行清除。
根据威胁情报以及木马感染程序分析该木马是通过SSH和weblogic传播,检查secure登录日志发现11月2号至11月4号10点之间的日志为空,11月4日至今未发现爆破记录,但服务器存在SSH公钥,拥有私钥的服务器可实现免密登录,建议核实后删除该公钥。
1.3 应急处置
针对kdevtmpfsi木马清除恶意程序文件/tmp/kdevtmpfsi、/var/tmp/ kdevtmpfsi、/etc/spool/cron/root、/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin下恶意文件以及恶意进程kdevtmpfsi、kinsing。
针对startMiner新型变种挖矿木马,清除以下文件:
恶意程序文件 | SSH传播文件 | 驻留程序文件 | 恶意进程 |
/bin/bprofr | /tmp/sshcheck | /etc/cron.d/apache | dbused |
/bin/sysdr | /tmp/ssh_vuln.txt | /etc/cron.d/nginx | dbusex |
/bin/crondr | /tmp/scan.log | /etc/cron.d/root | lwp_download |
/bin/initdr | /tmp/ip192.txt | /etc/cron.d/pwnrig | *givemexyz* |
/usr/bin/bprofr | /tmp/hxx | /etc/cron.hourly/oanacroner1 | |
/usr/bin/sysdr | /tmp/p | /etc/cron.hourly/pwnrig | |
/usr/bin/crondr | /tmp/scan | /etc/cron.hourly/0anacron | |
/usr/bin/initdr | /tmp/masscan | /etc/cron.daily/pwnrig | |
/tmp/dbused | /tmp/.dat | /etc/cron.weekly/pwnrig | |
/tmp/dbusex | /tmp/.checking | /var/spool/cron/crontabs/root | |
/tmp/xms | /tmp/good.tar.gz | /etc/init.d/down | |
/tmp/x86_64 | /tmp/sshexec | /etc/init.d/pwnrig | |
/tmp/i686 | /tmp/sshpass | /root/.bash_profile | |
/tmp/go | /tmp/sparte.txt | ||
/tmp/x64b | |||
/tmp/x32b | |||
/tmp/2start.jpg |
1.4 处理建议
根据本次应急响应分析和结论,处理建议如下:
病毒木马一般会利用高危漏洞和弱口令进行横向传播感染,建议定期修改服务器账号密码,使用密码复杂度较高的密码,及时升级系统补丁和软件版本,避免低版本系统和应用存在高危可利用漏洞。
持续观察发现挖矿木马同时感染了weblogic启动脚本,建议针对weblogic进行升级加固,防止weblogic高危漏洞被再次利用感染病毒木马,同时禁止使用root权限运行weblogic。
在无法增加安全设备的情况下加强安全巡检力度,提升安全事件主动发现能力。病毒木马若被动发现时一般已完成入侵和内网横向传播,若感染的是勒索病毒,可能会导致整个内网失陷和数据丢失。
通过举办安全意识培训,提升运维人员和工作人员的安全意识,避免木马病毒通过内部不安全操作感染。
2 异常分析过程
2.1 dbused木马分析处理
2.1.1 分析过程
使用top命令实时查看服务器资源占用情况,发现存在两个占用大量CPU资源的进程,分别为dbused和kdevtmpfsi进程。
查看dbused进程的网络连接,发现连接了209.141.35.17的8080端口,通过查询威胁情况发现,该IP为8220挖矿团队矿池IP。
查看驻留程序生成时间,最近一次修改时间为11月4日上午10点15分。
查看secure登录日志,发现大量针对自身账号的爆破行为(此记录应为挖矿程序自动化运行的行为)。且/tmp目录下存在大量针对内网其他机器的爆破行为,建议针对图中涉及的其他内网服务器进行安全巡检,确认是否也被感染。
2.1.2 处理过程
由于该木马生成大量驻留程序,无法手动逐个清理,以下为清理脚本,一键完成清除操作。(避免一个一个清除速度较慢,导致服务再次运行交叉感染)
驻留程序采用了附加属性a i,无法直接rm删除,需使用chattr命令去除附加属性后rm删除。
清除恶意进程及恶意文件命令如下
ps -ef | grep “givemexyz” | awk ‘{print $2}’| xargs pkill ps -ef | grep “dbuse” | awk ‘{print $2}’| xargs pkill rm -rf /bin/bprofr /bin/sysdr /bin/crondr /bin/initdr /usr/bin/bprofr /usr/bin/sysdr /usr/bin/crondr /usr/bin/initdr /tmp/dbused /tmp/dbusex /tmp/xms /tmp/x86_64 /tmp/i686 /tmp/go /tmp/x64b /tmp/x32b /tmp/2start.jpg
针对SSH公钥进行备份删除操作。
2.2 Kdevtmpfsi木马分析处理
2.2.1 处理过程
查看kdevtmpfsi进程的网络连接,发现同样连接了矿池在进行挖矿,如下:
删除恶意程序文件/tmp/kdevtmpfsi和/var/tmp/kinsing
删除定时任务
删除挖矿进程机器守护进程
服务器恢复正常。
本来以为事件到此可以写报告交付了。谁知道第二天用户又反馈应用无法打开了。尴尬到脚趾抓地。。。
第二天挖矿木马重新启动,查看进程发现是通过weblogic用户进行程序下载和执行的。还好我留了个心眼。(第一次处理时应用方采用root用户启动的weblogic而挖矿程序也是使用root用户运行的,处理过后建议他们使用weblogic用户启动weblogic中间件后发现此痕迹,进而判断该挖矿程序是通过weblogic程序死灰复燃的)
检查后发现weblogic启动脚本被植入恶意代码。如下所示
导致启动业务时,挖矿木马再次被下载至本地运行。如下所示:
经过与应用开发商合适,黄框以外的均为恶意文件。临时备份删除后并将startWeblogic.sh中恶意代码清除,后续建议重新校验weblogic应用文件的完整性,确保无其他未发现的挖矿木马残留文件。
删除后weblogic路径下恶意文件后,重启weblogic观察2小时左右未发现挖矿木马再次运行。