一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

admin 2024年12月17日14:12:07评论29 views字数 3834阅读12分46秒阅读模式

一、事件背景

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

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

二、应急响应过程

2.1 排查异常并清除病毒

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

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

printf "" #输出为空

这样执行常见命令就会输出为空,迷惑运维工程师

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

unalias 别名 #删除添加的别名

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2.1.2 使用 top 命令,查看服务器cpu使用率发现 cpu使用率没有特别高的,接近或者超过100%的进程

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2.1.3 使用 nvidia-smi 命令,查看服务器gpu使用率,gpu使用率没有特别高的,接近或者超过100%的进程
(遗憾的是虚拟机上不能使用gpu,所以该命令在虚拟机中不可以使用,真实服务器可以使用,以下截图是真实案例截图)

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2.1.4 虽然 gpu和cpu显示没有异常,但是态势感知上一直显示该服务器域矿池域名进行通信,并且经常因用电量过高跳闸,说明该服务器上确实含有挖矿病毒,病毒进程可能被隐藏

根据经验,挖矿病毒一般会有定时任务,为了防止服务器关闭之后或者病毒程序被杀掉进程之后,挖矿程序不再运行
那么接下来可以查看服务器上的定时任务

cd /var/spool/ls -al

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看所有的定时任务,发现在 /var/spool/cron/crontabs的定时任务有异常

sudo chmod o-t crontabssudo chmod 755 crontabscd crontabsls -al

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看 root 和 zyr 定时任务内容

sudo chmod 755 rootsudo chmod 755 zyrcat rootcat zyr

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

另外使用如下命令也可以查看定时任务

sudo crontab -l

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看root和zyr定时任务创建时间为:20220217 10:27:33

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2.1.5 根据定时任务查看对应文件或者程序的

查看 b4nd1d0 文件内容

cd /home/zyr/cat .b4nd1d0

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

在 b4nd1d0 文件中 域名 eth-asia1.nanopool.org 很可疑,使用 微步 查看发现是一个公共矿池

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看 b4nd1d0 文件创建时间

stat .b4nd1d0

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看 placi 文件内容

cat placi

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看 placi 文件创建时间

stat placi

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2.1.6 清除挖矿病毒和定时任务

rm -rf .b4nd1d0rm -rf placisudo rm -rf rootsudo rm -rf zyr

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2.1.7 重启检查一下病毒有没有清除干净
因为有的病毒会更改启动项,进行后门自启

reboot #重启服务器

重启服务器之后,检查 /var/spool/cron/crontab 目录正常,没有病毒的痕迹

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

但是发现 别名又都被修改了

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

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

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

查看 /home/zyr/.bashrc 别名文件,发现可疑设置“source /var/tmp/.SQL-Unix/.SQL/.db”

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看/var/tmp/.SQL-Unix/.SQL/.db文件内容,正是修改的别名

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看 /root/.bashrc 别名文件

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看 /usr/.SQL-Unix/.SQL/.db 文件内容,正是修改的别名

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2.1.8 清除被修改的别名

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

2.2 排查是否有遗留后门

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

netstat -anpt

没有发现可疑的端口和用户,没有ssh软链接后门

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2.2.2 查看是否有增加超级用户帐号

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

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

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看可以远程登录的账号信息,发现新增加了一个账户 sclipicibosu ,那么更加确定此账户肯定是后门账户

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

删除改后门账户

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

2.2.3 查看是否有ssh公钥后门

首先查看 /home/目录下的账户,发现只有一个zyr

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看zyr是否含有ssh公钥后门

cd /home/zyr/.sshcat authorized_keys

发现已经被写入了ssh公钥后门

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看ssh公钥写入时间为:20220215 16:34:42

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

删除ssh公钥后门

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

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

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

cd /usr/binfile sshd

查看发现 sshd文件已经被修改

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查看sshd文件内容

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

虽然被修改了,但不是perl脚本SSH后门,其中rsync命令和cp命令很像,但是功能似乎更加复杂点,主要用来备份数据,无害。但已经被修改了,还是删除吧

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

三、溯源

1、查看root和zyr定时任务创建时间为:20220217 10:27:33

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

2、查看 b4nd1d0 文件创建时间为:20220217 10:29:13

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

3、查看 placi 文件创建时间

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

4、查看ssh公钥写入时间为:20220215 16:34:42

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

推测入侵时间是 20220215 16:34:42,接下来排查安全日志

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

cd /var/logsudo 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 

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

统计登录失败的记录命令,共有782次的登录失败,可能遭受到了暴力破解

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

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查询被爆破的用户名都有哪些以及被爆破的次数

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

发现zyr账户被爆破 445次,wxiaoge账户被爆破337次

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

查询 用户 最近登录情况

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

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

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

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

查看日志发现 wxiaoge 账户从 20220215 15:46:15——20220215 15:48:38

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

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

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

查看日志发现 wxiaoge 账户从 20220215 15:59:08——20220215 16:04:19

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

再结合用户最近登录情况,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小哥

一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

原文始发于微信公众号(W小哥):一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月17日14:12:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一次真实的应急响应案例(Ubuntu)——暴力破解、写入ssh公钥留后门、植入GPU挖矿程序——事件复现(含靶场环境)https://cn-sec.com/archives/888021.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息