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

登录服务器时,发现密码错误,无法登录。

be076efb2b0e399c59cbf3aa96bd68a5.png

打算登录云管平台重置密码,不小心看到安全告警,原来是中了挖矿病毒。

挖矿病毒的侵入性还是蛮大的,一般都会终止掉CPU占用超过20%的进程,以免计算资源不够挖矿,这常常导致正常业务被中断。

而改掉登录密码,一般是为了避免友商(其它挖矿病毒)通过口令爆破进来抢夺计算资源,这常常导致正常运维工作无法开展,也就是本文出现的情况。    

ebda6cb3042fe3ec49377bacef7ce54d.jpeg

重置密码竟然需要重启服务器,看来第一案发现场没了。

2382e0e50b5b133ef11c86bbf7a80d69.png

事实证明第一案发现场确实没了,这病毒太不抗造了,一个重启就一蹶不振。

abf81342df67396ef5ec273ffba7383f.jpeg

整体排查思路

9e7228f785607e0bb311ed812df9708f.png

恶意程序排查

一、网络排查

使用netstat -tunlap命令,未发现网络异常,没有预期的外联矿池行为、异常进程名称。

8131b85d2a897e522009dd835a5f0d6c.png

二、进程排查

01、 网络进程排查

由于没有发现网络异常,因此不涉及网络相关进程排查。    

02、告警进程排查

使用ps -ef | grep和ps -ef | grep命令排查告警详情提到的进程ID和进程启动命令,并未发现异常进程。

895aef8355a8f0d43df4020a14ba0013.png

03、所有进程排查

使用pstree -as命令查看所有进程的名称和启动进程的命令CMD,并未发现异常进程,没有预期的名称是随机字符或与系统进程相似的进程存在。

aede5a2ef44504ed1f7b8fdf51130bdd.png

04、隐藏进程排查    

使用ps -ef | awk '{print}' | sort | uniq > 1 && ps -ef | awk '{print}' | sort | uniq > 2 && diff 1 2命令排查隐藏进程,并未发现异常进程。

5b3292469f9b8143ffdc44917cb4a8f1.png

05、进程资源排查

使用top命令查看所有进程消耗资源的情况,并未发现异常进程,没有预期的CPU或MEM占用过高的进程。

512eae738bd3213be20a8063882ebc7a.png

三、文件排查

01、告警文件排查

使用stat命令排查告警详情提到的恶意文件,并未发现异常文件。

0590b40ab56228798cbf0b7cdfcc342f.png

02、时间文件排查

使用find / -newerct命令排查告警详情提到的攻击发生时间,发现大量异常文件。

024365b5056611c0d906a370d8b044a7.png

001、/tmp/2mOsaG3ceM文件于2023-11-30 08:24:58被攻击者创建,经文件沙箱检测是恶意程序,后续需备份后删除。    

c1dcd4576ea1e5d9cb13f2d82682bf36.png

8d65426ea9f639230d4e1dc0dc7ef8f7.png

002、/etc/crontab文件于2023-11-30 08:25:01被攻击者篡改,添加了执行恶意程序的计划任务。后续需备份后删除计划任务/etc/crontab、备份后删除恶意程序/tmp/2mOsaG3ceM。

ee5eb6159eb1b0f12b374d0a7f346650.png

003、/var/spool/cron/root文件于2023-11-30 08:25:01被攻击者篡改,添加了执行恶意程序的计划任务。后续需备份后删除计划任务/var/spool/cron/root、备份后删除恶意程序/tmp/2mOsaG3ceM。    

90bccfb6ca2f24e598571f654836ba87.png

004、/root/.bash_logout文件于2023-11-30 08:25:01被攻击者篡改,植入了用户退出bash时执行恶意程序的自动任务。后续需备份后删除/root/.bash_logout、备份后删除恶意程序/tmp/2mOsaG3ceM。

f20ab862cc8f92a339a979dcd8d4538d.png

005、/tmp/.opass文件于2023-11-30 08:24:58被攻击者创建,从文件名判断是密码本,一般用于解密恶意程序,后续需备份后删除。

e46789f95bfd52f25642f6826bc3908b.png

006、/tmp/RgX48OS6BF文件于2023-11-30 10:36:40被攻击者改过,但从atime看2023-11-30 08:24:56就被创建,经文件沙箱检测是恶意程序,后续需备份后删除。    

ab2a93dd96d6eebe84459be07a2ed0b7.png

be646f49dcce6408057dbc1ba2826a7e.png

007、/root/.ssh/authorized_keys文件于2023-11-30 08:24:58被攻击者篡改,经与系统管理员(我自己)确认,该 SSH公钥是被攻击者添加的。后续需备份后删除/root/.ssh/authorized_keys。

cb539c9e32eae4247eacda104e4c9385.png    

008、/etc/ssh/sshd_config文件于2023-11-30 08:25:01被攻击者篡改,对比配置相同的其它正常服务器的sshd_config文件多了PubkeyAuthentication yes配置,是攻击者为了公钥登录而添加的。后续若无公钥登录需求,需删除该配置。

c89098498a192b209fc2b5ee6846365a.png

a0595c5e88677459767726b5cf66a4bd.png

03、敏感目录排查

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

b78ab0cfba1de8a9fb300a95d90df4ae.png

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

0cf394db06e3c28cf935246c29944262.png

04、特权文件排查

使用find / -perm 2000 2>/dev/null命令排查特权文件,未发现异常文件。

d7569071f1e7d6aa14cf679c45f169a2.png

后门排查

一、账户后门排查

01、SSH账户

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

2138307d3adba4f422d9eef43f220b50.png

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

a9a3c1b33c2e0301c8c93ce88f6e1a33.png

使用cat /etc/shadow | awk -F: 'length($2)>2 {print $1}'命令排查有口令的SSH账户,发现root、polkitd、chrony都有口令,经与系统管理员(我自己)确认,未启用过polkitd和chrony账户。

排查/etc/shadow的ctime,发现是云管平台重置SSH密码并重启服务器的时间。排查/etc/passwd,发现polkitd和chrony用户都无法登录。因此推断polkitd和chrony账户的SSH口令是云管平台配置的,与攻击行为无关。

8d9599925b3ed21ecaff475542dbfe76.png

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

434c41b9efd2f42aebd295c66b447916.png

02、SSH密钥

/root/.ssh/authorized_keys文件已在“恶意程序排查 – 文件排查”时分析过,这里不再分析。

二、条件后门排查

         
01、 计划任务

使用find /etc/*cron* ! -type d -exec ls -lctr --full-time {} \+ 2>/dev/null命令排查计划任务,发现/etc/crontab文件于2023-11-30 08:25:01被攻击者篡改。由于已在“恶意程序排查 – 文件排查”时分析过,这里不再分析。

1839ba6fcfaad4498feb00dc7132b229.png

使用find /var/spool/cron -type f -exec ls -lctr --full-time {} \+ 2>/dev/null命令排查计划任务,发现/var/spool/cron/root文件于2023-11-30 08:25:01被攻击者篡改。由于已在“恶意程序排查 – 文件排查”时分析过,这里不再分析。

28075f612a5a5d5d4ba14627488c3f7b.png

02、启动项

使用find /etc/rc.d/ -type f -exec ls -lctr --full-time {} \+ 2>/dev/null命令排查启动项,发现ctime都是2019-07-11的,未发现异常。    

6973f2af2e49920d521e47679182d859.png

03、自启服务

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

b8cb5bf88bd5b05d83c7dad28a5681b0.png

04、命令别名

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

3394b6c087c280625267b412c06a7f53.png

使用find / -name *bashrc* -type f -exec ls -lctr --full-time {} \+ 2>/dev/null命令排查命令别名,发现ctime都是2019-07-11的,未发现异常。

ae81e921c0ed139fa27ca3eb05cf44d7.png

溯源排查

一、日志分析

01、系统日志

001、安全日志secure

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

d4556efa098370fd68b9a1354917c1e2.png

e53b54c6e43a7f28324535022ed0ef58.png

使用cat /var/log/secure* | grep 8.219.176.16 | grep Failed | wc -l命令,发现恶意IP地址8.219.176.16没有一次登录失败。

150c5efb160083efcfc499ed95331d11.png

使用cat /var/log/secure* | grep 8.219.176.16命令,查看恶意IP地址的登录时间,是2023-11-30 08:24:40。

0efb9f6444ac2cdeeeaf846c4a65df2e.png

002、登录日志last系列

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

4c3b4a0adf54eee2e8aa47c138aadf91.png

003、命令日志history

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

02、中间件日志

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

03、数据库日志

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

04、安全设备日志

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

二、流量分析

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

三、内存分析

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

四、溯源结论

01、2023-11-30 08:24:40

攻击源IP地址8.219.176.16(威胁情报恶意IP、新加坡、阿里云)于2023-11-30 08:24:40登录SSH服务的root账户,没有失败登录记录,只有一次成功登录记录。

43fae44fa4e1b48f3e0e025ac1bc017e.png

02、2023-11-30 08:24:58

18秒后,攻击者于2023-11-30 08:24:58至08:25:01,上传恶意程序/tmp/2mOsaG3ceM,并为该恶意程序添加定时任务/var/spool/cron/root和/etc/crontab、添加条件任务/root/.bash_logout。

同时创建SSH密钥/root/.ssh/authorized_keys,并修改配置/etc/ssh/sshd_config允许密钥登录。

同时上传密码文件/tmp/.opass,并上传恶意程序/tmp/RgX48OS6BF(VirusTotal提示需要密码打开)。    

45b871636ffe895cc4fb6826d5761ac3.png

03、2023-11-30 08:34:25

10分钟后,攻击者执行的挖矿程序于2023-11-30 08:34:25被阿里云盾检测到。    

00e0907189ca7e8fec7c011612af2ccd.jpeg

04、2023-12-01 09:34:24

一天后,重置SSH密码时重启了服务器,恶意进程结束后不再重启。    

52f15d3cbb6166d5982f70d86faaf855.png

dcbb1fe511aa4e8e58170550053d7c4a.jpeg

工具排查

01、chkrootkit

         1. wget ftp://ftp.chkrootkit.org/pub/seg/pac/chkrootkit.tar.gz

         2. tar -zxvf chkrootkit.tar.gz

         3. cd chkrootkit-<版本>

         4. ./chkrootkit > result.txt

         5. cat result.txt | grep -v "nothing found\|not infected\|not found\|not tested"

新发现异常文件/usr/lib/debug/usr/.dwz,但ctime是2019-07-11,且文件实际不存在。    

e8811727bad801b62ff50de9293cc518.png

02、rkhunter

         1. yum -y install rkhunter

或者    

         1. 浏览器下载https://sourceforge.net/projects/rkhunter/files/latest/download

         2. tar -zxvf rkhunter-<版本>.tar.gz;

         3. cd rkhunter-<版本>

         4. ./installer.sh --install

然后

         1. rkhunter -c –sk

         2. cat /var/log/rkhunter/rkhunter.log | grep -C 2 Warning

逐个排查Warning,并未发现异常。    

cf3abdfa98e726570e9f6d9d7d07a8d5.png

03、GScan

         1. git clone https://github.com/grayddq/GScan.git

         2. cd GScan

         3. python GScan.py

工具发现攻击者上传SSH密钥,之前已处置过。    

d9f15821c8a350a31a98063f223522d7.png

3f92f1d978f0ebe8979e7240a6866da1.png

后续待办

序号

待办

原因

方法

1        

备份后删除文件:/tmp/2mOsaG3ceM、/tmp/RgX48OS6BF、/tmp/.opass。

是恶意程序

scp root@8.134.112.185:/tmp/2mOsaG3ceM C:\Users\onemorethink\Desktop

rm -rf /tmp/2mOsaG3ceM

scp root@8.134.112.185:/tmp/RgX48OS6BF C:\Users\onemorethink\Desktop

rm -rf /tmp/RgX48OS6BF

scp root@8.134.112.185:/tmp/.opass C:\Users\onemorethink\Desktop

rm -rf /tmp/.opass

2        

备份后删除文件:/etc/crontab、/var/spool/cron/root、/root/.bash_logout。

启动恶意程序的定时任务和条件任务。

scp root@8.134.112.185:/etc/crontab C:\Users\onemorethink\Desktop

rm -rf /etc/crontab

scp root@8.134.112.185:/var/spool/cron/root C:\Users\onemorethink\Desktop

rm -rf /var/spool/cron/root

scp root@8.134.112.185:/root/.bash_logout C:\Users\onemorethink\Desktop

rm -rf /root/.bash_logout

3

备份后删除文件:/root/.ssh/authorized_keys。

攻击者添加了SSH密钥后门

scp root@8.134.112.185:/root/.ssh/authorized_keys C:\Users\onemorethink\Desktop

rm -rf /root/.ssh/authorized_keys

4

修改配置文件禁止SSH密钥登录:/etc/ssh/sshd_config。

是攻击者为了公钥登录而启用的配置。

sed -i 's/PubkeyAuthentication yes/PubkeyAuthentication no/g' /etc/ssh/sshd_config

5

修改SSH服务的root账号的密码

root账号被攻击者成功登录

passwd root

修改配置文件禁止SSH密钥登录时,发现/etc/ssh/sshd_config无法被修改,被添加了i属性,需要先取消i属性后才能修改。    

cf5c0f586cda13c44129b72c5e826b9e.png

排查发现,其它需要删除的文件也有部分被添加了i属性,需要先取消i属性后才能删除。

5058ebd17161575273166e7a4f3147f0.png

其它说明

1、后面如果想练习这个环境,在自己的Linux环境执行计划任务中的命令即可。建议使用Host-Only模式(仅主机模式)的虚拟机,以避免蠕虫扩散,事态不可控时可以执行如下命令终止全部恶意进程,或者断网或关机。    

a448a30e41356aaf5dda6709872cd60f.png

2、有一个存疑的点,恶意程序的计划任务是每分钟执行一次,但实际并未生效,即时重启crond也没用,但手动执行计划任务中的命令又可以成功。

ff61d2dd513bf5852910c9bb3f00eda4.png

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值