一、事件背景

某天客户反馈:实验室因耗电量太大经常跳闸,服务器疑似被挖矿。(真实案例自己搭建环境复现一下,靶场环境放在了 知识星球 和 我的资源 中

受害服务器: Ubuntu系统、IP: 192.168.184.142、无WEB服务

二、应急响应过程

2.1 排查异常并清除病毒

2.1.1 使用命令 alias 查看是否异常别名

alias

发现服务器多了很多别名,所有的常用别名都别修改成了

printf "" #输出为空

这样执行常见命令就会输出为空,迷惑运维工程师
在这里插入图片描述

unalias 别名 #删除添加的别名

在这里插入图片描述

2.1.2 使用 top 命令,查看服务器cpu使用率发现 cpu使用率没有特别高的,接近或者超过100%的进程
在这里插入图片描述
2.1.3 使用 nvidia-smi 命令,查看服务器gpu使用率,gpu使用率没有特别高的,接近或者超过100%的进程
(遗憾的是虚拟机上不能使用gpu,所以该命令在虚拟机中不可以使用,真实服务器可以使用,以下截图是真实案例截图)
在这里插入图片描述
2.1.4 虽然 gpu和cpu显示没有异常,但是态势感知上一直显示该服务器域矿池域名进行通信,并且经常因用电量过高跳闸,说明该服务器上确实含有挖矿病毒,病毒进程可能被隐藏
根据经验,挖矿病毒一般会有定时任务,为了防止服务器关闭之后或者病毒程序被杀掉进程之后,挖矿程序不再运行
那么接下来可以查看服务器上的定时任务

cd /var/spool/
ls -al

在这里插入图片描述
查看所有的定时任务,发现在 /var/spool/cron/crontabs的定时任务有异常

sudo chmod o-t crontabs
sudo chmod 755 crontabs
cd crontabs
ls -al

在这里插入图片描述
查看 root 和 zyr 定时任务内容

sudo chmod 755 root
sudo chmod 755 zyr
cat root
cat zyr

在这里插入图片描述
另外使用如下命令也可以查看定时任务

sudo crontab -l

在这里插入图片描述
查看root和zyr定时任务创建时间为:20220217 10:27:33
在这里插入图片描述
2.1.5 根据定时任务查看对应文件或者程序的

查看 b4nd1d0 文件内容

cd /home/zyr/
cat .b4nd1d0

在这里插入图片描述
在 b4nd1d0 文件中 域名 eth-asia1.nanopool.org 很可疑,使用 微步 查看发现是一个公共矿池
在这里插入图片描述
查看 b4nd1d0 文件创建时间

stat .b4nd1d0

在这里插入图片描述
查看 placi 文件内容

cat placi

在这里插入图片描述
查看 placi 文件创建时间

stat placi

在这里插入图片描述
2.1.6 清除挖矿病毒和定时任务

rm -rf .b4nd1d0
rm -rf placi

sudo rm -rf root
sudo rm -rf zyr

在这里插入图片描述
2.1.7 重启检查一下病毒有没有清除干净
因为有的病毒会更改启动项,进行后门自启

reboot #重启服务器

重启服务器之后,检查 /var/spool/cron/crontab 目录正常,没有病毒的痕迹
在这里插入图片描述
但是发现 别名又都被修改了

alias

在这里插入图片描述
推测别名可能被永久修改,意思就是每次重启服务器,别名都被修改一遍,而永久修改别名的位置在:

 /home/用户名/.bashrc 
 /root/.bashrc
 /etc/.bashrc针对所有用户生效
 ~/.bashrc是针对当前用户生效

查看 /home/zyr/.bashrc 别名文件,发现可疑设置“source /var/tmp/.SQL-Unix/.SQL/.db”
在这里插入图片描述
查看/var/tmp/.SQL-Unix/.SQL/.db文件内容,正是修改的别名
在这里插入图片描述
查看 /root/.bashrc 别名文件
在这里插入图片描述
查看 /usr/.SQL-Unix/.SQL/.db 文件内容,正是修改的别名
在这里插入图片描述
2.1.8 清除被修改的别名

#删除别名文件 
rm -rf /usr/.SQL-Unix/.SQL/.db
rm -rf /var/tmp/.SQL-Unix/.SQL/.db
#删除/root/.bashrc、 /home/zyr/.bashrc文件 
rm -rf /usr/.SQL-Unix/.SQL/.db
rm -rf /var/tmp/.SQL-Unix/.SQL/.db

再次 reboot 重启服务器,别名没有再次出现

2.2 排查是否有遗留后门

2.2.1 查看是否有 ssh 软链接后门

netstat -anpt

没有发现可疑的端口和用户,没有ssh软链接后门
在这里插入图片描述
2.2.2 查看是否有增加超级用户帐号

查看特权账户,发现 sclipicibosu 账户是新增加超级用户帐号,那么此账户肯定是后门账户

awk -F: '$3==0 {print$1}' /etc/passwd

在这里插入图片描述
查看可以远程登录的账号信息,发现新增加了一个账户 sclipicibosu ,那么更加确定此账户肯定是后门账户
在这里插入图片描述
删除改后门账户

sudo userdel -rf sclipicibosu #强制删除该账户以及/home/sclipicibosu
#加上-r可以删除/home/路径下的用户文件夹,否则不能

2.2.3 查看是否有ssh公钥后门

首先查看 /home/目录下的账户,发现只有一个zyr
在这里插入图片描述
查看zyr是否含有ssh公钥后门

cd /home/zyr/.ssh
cat authorized_keys

发现已经被写入了ssh公钥后门
在这里插入图片描述
查看ssh公钥写入时间为:20220215 16:34:42

stat  authorized_keys

在这里插入图片描述
删除ssh公钥后门

rm -f authorized_keys

在这里插入图片描述

2.2.4 查看是否有perl脚本SSH后门

首先正常的sshd 文件是ELF格式,而后门是纯文本脚本,使用file 命令就可以发现

cd /usr/bin
file sshd

查看发现 sshd文件已经被修改
在这里插入图片描述
查看sshd文件内容
在这里插入图片描述
虽然被修改了,但不是perl脚本SSH后门,其中rsync命令和cp命令很像,但是功能似乎更加复杂点,主要用来备份数据,无害。但已经被修改了,还是删除吧

总结:
发现后门账户 sclipicibosu,并且删除该账户
发现zyr账户被写入了ssh公钥后门,并且已删除该后门

三、溯源

1、查看root和zyr定时任务创建时间为:20220217 10:27:33
在这里插入图片描述
2、查看 b4nd1d0 文件创建时间为:20220217 10:29:13

stat .b4nd1d0

在这里插入图片描述
3、查看 placi 文件创建时间

stat placi

在这里插入图片描述
3、查看ssh公钥写入时间为:20220215 16:34:42

stat  authorized_keys

在这里插入图片描述
推测入侵时间是 20220215 16:34:42,接下来排查安全日志

5、查看Ubuntu系统的安全日志:auth.log

cd /var/log

sudo gzip -d auth.log.1.gz #解压auth.log.1.gz文件
sudo gzip -d auth.log.2.gz #
sudo gzip -d auth.log.3.gz 
sudo gzip -d auth.log.4.gz 

在这里插入图片描述
统计登录失败的记录命令,共有782次的登录失败,可能遭受到了暴力破解

grep -o "Failed password" /var/log/auth* |uniq -c

在这里插入图片描述
查询被爆破的用户名都有哪些以及被爆破的次数

grep "Failed password" /var/log/auth*|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

发现zyr账户被爆破 445次,wxiaoge账户被爆破337次
在这里插入图片描述
查询 用户 最近登录情况

grep "Accepted " /var/log/auth* | awk '{print $1,$2,$3,$9,$11}'

在这里插入图片描述
再查看 wxiaoge账户的爆破时间段

grep  "Failed password" /var/log/auth*|grep wxiaoge

查看日志发现 wxiaoge 账户从 20220215 15:46:15——20220215 15:48:38
在这里插入图片描述
在这里插入图片描述

再查看 zyr 账户的爆破时间段

grep  "Failed password" /var/log/auth*|grep "zyr from"

查看日志发现 wxiaoge 账户从 20220215 15:59:08——20220215 16:04:19
在这里插入图片描述
在这里插入图片描述
再结合用户最近登录情况,wxiaoge账户在遭受爆破期间 20220215 15:46:15——20220215 15:48:38 成功登录过一次,登录时间为 20220215 15:48:37,zyr账户在遭受爆破期间 20220215 15:59:08——20220215 16:04:19 成功登录过一次,登录时间为20220215 16:04:17。由此证明,服务器是被ssh爆破出wxiaoge、zyr账户之后入侵并植入挖矿病毒与ssh公钥后门。

四、总结

服务器在 20220215 15:46:15——20220215 15:48:38、20220215 15:59:08——20220215 16:04:19 期间被 192.168.226.1进行ssh爆破,并且爆破出wxiaoge、zyr账户之后登录服务器,并且在20220215 16:34:42植入ssh公钥后门,在20220216 16:17:40植入挖矿病毒。

建议:
1、清除挖矿病毒及相关异常文件、ssh公钥后门
2、修改账户密码为复杂密码

更多资源:
1、web安全工具、渗透测试工具
2、存在漏洞的网站源码与代码审计+漏洞复现教程、
3、渗透测试学习视频、应急响应学习视频、代码审计学习视频、都是2019-2021年期间的较新视频
4、应急响应真实案例复现靶场与应急响应教程
收集整理在知识星球,可加入知识星球进行查看。也可搜索关注微信公众号:W小哥
在这里插入图片描述

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐