admin管理员组

文章数量:1794759

记一个真实的应急响应案例(3)XMR挖矿病毒事件

1、恶意程序排查

1.1、网络排查

使用命令netstat -tunlap发现ID是512、名称是work32的进程在连接大量公网IP的22端口(使用命令netstat -tunlap | grep ":22" | wc -l发现有7000多个),应该是口令扫描。

使用命令netstat -tunlap | grep -v ":22" | grep work32发现该进程还会连接公网IP的其它端口,以及监听本机的14747、8012、5060端口,应该是漏洞扫描和远程后门。

使用命令netstat -tunlap | grep -v ":22" | grep -v work32确认没有其它恶意进程。

1.2、进程排查

1.2.1、网络进程排查

使用命令pstree -asp 512排查恶意进程512,发现所有与之相关的父进程与子进程,后续需要全部终止。

使用命令ls -l /proc/512/exe /proc/512/cwd发现恶意进程512的启动程序/usr/.work/work32和启动目录/usr/.work/微步沙箱work32分析报告[1]确认该启动程序是恶意程序,后续需要备份后删除。

使用命令ls -la /usr/.work/发现启动目录下的另一个可疑程序/usr/.work/work64微步沙箱work64分析报告[2] 确认该程序是恶意程序,后续需要备份后删除。

1.2.2、所有进程排查

使用命令pstree -asp排查所有进程,通过进程名称和进程启动命令,发现可疑进程682等、677等、669等共三组。

使用命令ls -l /proc/682/exe /proc/682/cwd发现可疑进程682的启动程序/usr/bin/bash和启动目录/tmp/,收获不大。

使用命令ps -ef | grep 682发现可疑进程682的启动程序/tmp/auth.sh,使用命令cat /tmp/auth.sh发现是每分钟拉黑一次1个小时内登录失败超过8次的IP地址,因此无异常。

使用命令ls -l /proc/677/exe /proc/677/cwd发现可疑进程677的启动程序/usr/bin/bash和启动目录/tmp/,收获不大。

使用命令ps -ef | grep 677发现可疑进程677的启动程序/tmp/secure.sh,使用命令cat /tmp/secure.sh发现是每分钟拉黑一次1个小时内登录失败超过8次的IP地址,因此无异常。

使用命令ls -l /proc/669/exe /proc/669/cwd发现恶意进程669的启动程序/tmp/xmr微步沙箱xmr分析报告[3]确认该启动程序是恶意程序,后续需要备份后删除。

1.2.3、隐藏进程排查

使用命令ps -ef | awk '{print}' | sort | uniq > 1ps -ef | awk '{print}' | sort | uniq > 2diff 1 2排查隐藏进程,没有收获。

1.2.4、进程资源排查

使用命令top排查所有进程消耗资源的情况,发现除了已知的恶意进程work32把CPU干到了150%之外,没有新的收获。

1.3、文件排查

1.3.1、时间文件排查

使用命令stat 文件路径查看恶意程序的落地时间,发现全部都是2024-01-22 11:50

使用命令find / -newerct '2024-01-22 10:50:00' ! -newerct '2024-01-22 14:50:00' ! -path '/proc/*' ! -path /'sys/*' ! -path '/run/*' -type f -exec ls -lctr --full-time {} \+ 2>/dev/null排查恶意程序落地前后相继落地的其它文件,发现一些可疑文件。

01、/usr/.work/work32
1.2.1网络进程排查发现的恶意程序。
02、/tmp/config.json
是xmr矿池的配置文件,内有矿池url和user等信息。后续需要备份后删除该文件,并封堵对矿池域名xmr.crypto-pool.fr的访问请求(若有访问请求,还需排查请求源是否挖矿)。

03、/tmp/xmr

1.2.2所有进程排查发现的恶意程序。

04、/root/.ssh/authorized_keys

是攻击者创建的SSH公钥文件,后续需要备份后删除。

05、/var/spool/cron/root
攻击者创建了每小时执行一次恶意程序/usr/.work/work32的计划任务,后续需要删除该计划任务、删除该恶意程序。
06、/etc/rc.d/rc.local
攻击者创建了执行恶意程序/usr/.work/work32&的开机自启服务,后续需要删除该自启服务、删除该恶意程序。
07、/etc/crontab
攻击者创建了每小时执行一次恶意程序/usr/.work/work32的计划任务,后续需删除该计划任务、删除该恶意程序。

08、/usr/.work/work64

1.2.1网络进程排查发现的恶意程序。

09、可疑但正常的文件

/usr/bin/wget1:文件落地时间与恶意程序落地时间一致可能是攻击者上传的,Modify的毫秒是0可能被攻击者修改过(详情点击:应急响应中的文件时间:mtime、atime、ctime)。但微步沙箱wget1分析报告[4]未发现异常,对系统无影响,需询问系统管理员或进行逆向分析判断是否保留。

/usr/bin/curl1:文件落地时间与恶意程序落地时间一致可能是攻击者上传的,Modify的毫秒是0可能被攻击者修改过。但微步沙箱curl1分析报告[5]未发现异常,对系统无影响,需询问系统管理员或进行逆向分析判断是否保留。

/tmp/secure.sh:文件落地时间与恶意程序落地时间一致可能是攻击者上传的。但脚本内容是每分钟拉黑一次1个小时内登录失败超过8次的IP地址,对系统无影响。需询问系统管理员判断是否保留。

/tmp/auth.sh:文件落地时间与恶意程序落地时间一致可能是攻击者上传的。但脚本内容是每分钟拉黑一次1个小时内登录失败超过8次的IP地址,对系统无影响。需询问系统管理员判断是否保留。

1.3.2、敏感目录排查

使用命令find /tmp ! -type d -exec ls -lctr --full-time {} \+ 2>/dev/null排查临时目录,未发现新的可疑文件。

使用find $HOME ! -type d -exec ls -lctr --full-time {} \+ 2>/dev/null命令排查家目录,未发现新的可疑文件。

1.3.3、特权文件排查

使用命令find / -perm -u=s 2 -type f -ls >/dev/null命令排查特权文件,未发现可疑文件。

2、后门排查

2.1、账号后门排查

2.1.1、SSH账户

使用命令cat /etc/passwd | grep -v 'nologin\|false'排查可以登录SSH的账户,发现只有root和lighthouse账户的/bin/bash可以登录,未发现异常。

使用命令cat /etc/passwd | awk -F: '3==0 {print 1}'排查UID是0的超级权限账户,发现只有root账户,未发现异常。

使用命令cat /etc/shadow | awk -F: 'length(2)>2 {print

使用命令cat /etc/shadow | awk -F: 'length(2)==0 {print 1}'排查空口令的SSH账户,未发现异常。

2.1.2、SSH密钥

特权用户的/root/.ssh/authorized_keys文件已在1.3.1.4分析过,普通用户未发现SSH密钥文件。

2.2、条件后门排查

2.2.1、计划任务

使用命令find /var/spool/cron/ -type f -exec ls -lctr --full-time {} \+ 2>/dev/null排查计划任务,发现/var/spool/cron/root文件于2024-01-22 11:50:32被攻击者篡改,已在1.3.1.5进行分析,已被删除因此没有显示。

使用命令find /etc/*cron* -type f -exec ls -lctr --full-time {} \+ 2>/dev/null排查计划任务,发现/etc/crontab文件于2024-01-22 11:50:32被攻击者篡改,已在1.3.1.7进行分析,已被修改。

2.2.2、启动项

使用命令find /etc/rc.d/ -type f -exec ls -lctr --full-time {} \+ 2>/dev/null排查启动项,发现/etc/rc.d/rc.local文件于2024-01-22 11:50:32被攻击者篡改,已在1.3.1.6进行分析,已修改。

2.2.3、自启服务

使用命令chkconfig –listservice --status-all命令排查自启服务,未发现异常。

2.2.4、命令别名

使用命令alias排查命令别名,未发现异常。

使用命令find / -name *bashrc* -type f -exec ls -lctr --full-time {} \+ 2>/dev/null排查可以配置命令别名的配置文件,发现最新的ctime都是服务器创建时候的,未发现异常。

3、溯源排查

3.1、日志分析

3.1.1、系统日志

01、安全日志secure

使用命令cat /var/log/secure* | grep Accepted | awk '{print $11}' | sort | uniq -c | sort -nr发现5个恶意的未知IP地址各成功登录过一次SSH。

微步情报确认85.209.11.254是俄罗斯的恶意IP。使用命令cat /var/log/secure* | grep 8.219.176.16 | grep Failed | wc -l发现只有1次登录失败记录,看来root密码太弱了。

使用命令cat /var/log/secure* | grep 85.209.11.254查看登录时间,与本次攻击时间不吻合,可能与本次挖矿事件无关,只是单纯的口令扫描。

微步情报确认222.186.16.214是北京的恶意IP。使用命令cat /var/log/secure* | grep 222.186.16.214 | grep Failed | wc -l发现有4次登录失败记录,看来root密码太弱了。

使用命令cat /var/log/secure* | grep 222.186.16.214查看登录时间,与本次攻击时间不吻合,可能与本次挖矿事件无关,只是单纯的口令扫描。

微步情报确认143.198.98.252是美国的境外IP。使用命令cat /var/log/secure* | grep 143.198.98.252 | grep Failed | wc -l未发现登录失败记录,对方这密码本太强大了。

使用命令cat /var/log/secure* | grep 143.198.98.252查看登录时间,与本次攻击时间完全吻合,是本次挖矿事件的始作俑者。

微步情报确认141.98.11.11是立陶宛的恶意IP。使用命令cat /var/log/secure* | grep 141.98.11.11 | grep Failed | wc -l未发现登录失败记录,对方这密码本太强大了。

使用命令cat /var/log/secure* | grep 141.98.11.11查看登录时间,与本次攻击时间不吻合,可能与本次挖矿事件无关,只是单纯的口令扫描。

02、登录日志last系列

使用命令lastlog查看用户最后登录系统的信息(/var/log/lastlog),使用命令w查看用户正在登录系统的信息(/var/run/utmp),均未发现异常。

03、命令日志history

使用history(/root/.bash_history)命令查看历史命令,未发现攻击者使用过的命令。

3.1.2、中间件日志

没有运行中间件服务,不涉及中间件日志排查。

3.1.3、数据库日志

没有运行数据库服务,不涉及数据库日志排查。

3.1.4、安全设备日志

没有部署安全设备,不涉及安全产品日志排查。

3.2、流量分析

没有部署流量采集产品,不涉及流量排查。

3.3、内存分析

服务器在重置SSH密码时被重启过,内存已丢失,没有分析价值。

3.4、溯源结论

01、2024-01-22 11:50:27

来自美国的攻击源IP地址143.198.98.252登录SSH服务的root账号,没有登录失败记录,只有一次成功登录记录。

02、2024-01-22 11:50:31至34

4秒后,攻击者上传并执行恶意程序/usr/.work/work32/usr/.work/work64/tmp/xmr(配置文件/tmp/config.json),修改后门配置/root/.ssh/authorized_keys/var/spool/cron/root/etc/rc.d/rc.local/etc/crontab。整个过程持续3秒。

03、2024-01-22 11:50:33至39

5秒钟后,攻击者上传的恶意程序均被腾讯云镜主机安全检测到并告警,不知是这个样本太菜,还是腾讯云镜太强,反正上次记一个真实的应急响应案例(2)挖矿病毒事件的阿里云盾用了10分钟。

4、后续待办

4.1、终止恶意进程

序号

待办

原因

方法

1

终止恶意进程work32

连接大量公网IP的22端口(口令扫描)、连接公网IP的其它端口(漏洞扫描)、监听本机的端口(远程后门)。

kill -9 512kill -9 513kill -9 514kill -9 515kill -9 518kill -9 729kill -9 730kill -9 783kill -9 802kill-9 22402

2

终止恶意进程xmr

挖矿。

kill -9 669kill -9 671kill -9 672kill -9 673kill -9 674kill -9 675

4.2、备份后删除恶意程序

序号

待办

原因

方法

1

备份后删除/usr/.work/work32

连接大量公网IP的22端口(口令扫描)、连接公网IP的其它端口(漏洞扫描)、监听本机的端口(远程后门)。

scp root@10.0.8.7:/usr/.work/work32 ./rm -rf /usr/.work/work32

2

备份后删除/usr/.work/work64

同上。

同上。

3

备份后删除/tmp/xmr

挖矿。

同上。

4

备份后删除/tmp/config.json

挖矿程序的配置文件。

同上。

4.3、修复漏洞和后门

序号

待办

原因

方法

1

修改root用户密码

弱口令漏洞被攻击者获取服务器权限

passwd root

2

备份后删除/root/.ssh/a1uthorized_keys

攻击者的后门SSH密钥

scp root@10.0.8.7:/root/.ssh/authorized_keys ./rm -rf /root/.ssh/authorized_keys

3

备份后删除/etc/crontab

攻击者的后门定时任务

同上。

4

备份后修改/var/spool/cron/root

攻击者的后门定时任务

1、打开文件:vim /var/spool/cron/root2、移动位置:上下箭头移动到恶意代码行3、删除代码:输入dd删除恶意代码4、退出文件::wq

5

备份后修改/etc/rc.d/rc.local

攻击者的后门启动项

同上。

参考资料

[1]

微步沙箱work32分析报告:

[2]

微步沙箱work64分析报告:

[3]

微步沙箱xmr分析报告:

[4]

微步沙箱wget1分析报告:

[5]

微步沙箱curl1分析报告:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-01-23,如有侵权请联系 cloudcommunity@tencent 删除进程事件备份程序登录

本文标签: 记一个真实的应急响应案例(3)XMR挖矿病毒事件