【应急靶场】Centos8入侵排查、响应加固
Centos8 爆破、后门、命令替换事例
一、环境配置
在百度网盘下载Centos8应急响应靶机并在vm打开。首先获取靶机的所有权
之后运行靶机并选择已经复制靶机,之后选择放弃,这是因为没有对应的iso文件造成的。
之后重新运行靶机即可。
以zyr 用户的权限进入,密码123456
二、入侵排查
1、网络排查
当我们确定该机器已经被入侵之后,通常先看一下网络连接情况,切断机器与外界的网络连接,防止危害继续扩大。
我们在centos8左上角的活动调用终端,输入以下命令进行查看:
1 | netstat -antlp |
目前因为只有这台受害靶机,没有入侵靶机,所以这里并不存在靶机与攻击机建立的端口连接。如果有连接的话我们可以通过 kill
命令切断端口连接,还可以用 lsof -p <PID>
查看到端口连接的进程应用程序,对恶意程序进行取证。
2、后门用户排查
先通过who
命令查看一下当前靶机上登陆的用户
只有tty 本地登陆的的zyr 用户,确认并无他人在登陆该机器。
简单的看一下 /etc/passwd
文件
1 | cat /etc/passwd |
发现除了root之外还有一个 wxiaoge 的特权用户,我们再看一下/etc/shadow
文件中能正常登陆的用户。
1 | awk '/\$1|\$6/{print $1}' /etc/shadow |
可以看到wxiaoge 这个用户也是可以正常登录的。一般这个时候需要与客户进行沟通,确认wxiaoge 是恶意用户。
确认wxiaoge 是恶意用户之后,我们对该用户进行封禁,使用如下命令:
1 | sudo usermod -L wxiaoge && sudo usermod -s /sbin/nologin username |
也可以对该用户进行删除,直接编辑 passwd 和 shadow
文件即可。
3、计划任务排查
少了历史命令排查,但是我们通过查看history
和普通用户家目录下的 .bash_history
可以发现,历史命令都已经被清空,同时wxiaoge 并无家目录,只能作罢。
先查看一下计划任务列表:
1 | crontab -l |
可以看到普通用户zyr 并没有计划任务,而root 用户存在一个每分每秒都会去运行的 .elf 文件,这个文件的名称也非常醒目,大概率是恶意文件。
先简单的看一下该文件的信息,是一个755的可执行文件。
可以将此文件放在沙箱
中进行排查,确认是恶意文件。保留取证,后期可以在安全的环境下试着运行此恶意文件,观察网络环境等进行溯源。
我们使用crontab -e
对计划任务进行编辑,或者使用crontab -r
删除所有用户计划任务
1 | crontab -e |
删除恶意的计划任务。
4、命令替换排查
我们可以先看一下环境变量的路径都有哪些
然后采用rpm
命令逐个排查
1 | rpm -Vf /sbin/* |
一些其他文件改变的话是无可厚非的,主要查看一些关键性命令的改变。
ps命令疑似被改变。试着查看一下ps命令的内容:
只有一行命令,还是很好解释的,去执行了一个 .elf 文件 和 一个隐藏文件下的ps 命令并进行了过滤。
将这两个文件放在沙箱中进行排查,.elf 是后门文件,进行取证后期溯源,而ps 是无毒文件。
试着执行该隐藏的ps文件。是被隐藏起来的正常的ps文件
将其恢复原位,并将恶意的ps杀掉
5、总结
1、后门文件 :/root/shell.elf 、/centos_core.elf
2、后门账户:wxiaoge
3、找到恶意定时任务
4、ps命令被替留ps命令后门
三、溯源加固
1、查看入侵途径
看一下开放端口
此时该机器处于关闭状态,并没有有用的端口开放。检查用户登陆日志/var/log/secure
依据该文件大小,是存在大量日志的。
1 | cat /var/log/secure | grep password #简单过滤查看一下 |
存在成功日志,指向 192.168.226.1 这个IP,而我本机的IP是192.168.122.1
对登陆成功的IP进行排序统计
1 | cat secure | grep "Accepted password for root" | awk '{print $11}' | sort | uniq -c | sort -nr |
该IP有5次成功登陆次数,878 次失败登陆次数。
再查看一下爆破的时间:
1 | grep "Accepted password for root" /var/log/secure | awk '{print $1,$2,$3,$9,$11}' |
可以看到 192.168.226.1 这个IP从21:51:32 开始爆破到21:58:31 一直处于爆破状态,21:57:56爆破成功。
2、攻击路径还原
1、192.168.226.1 在21:57:56爆破成功,22:00:27登陆靶机,之后根据入侵排查出来的东西进行还原。
2、shell.elf 在00:51:12的时候进行了投放
3、计划任务在 01:05:53 的时候建立
4、centos_core.elf 在00:57:03 的时候投放
5、ps文件在 00:59:45 进行了改动
6、后门用户wxiaoge 在22:01:18的时候创建
攻击流程总结:192.168.226.1 在1月13日 21:57:56通过ssh爆破成功,22:00:27登陆靶机,22:01:18创建后门用户wxiaoge、00:51:12 上传shell.elf、00:57:03上传centos_core.elf、00:59:45 上传恶意ps文件并改动正确的ps文件、01:05:53 建立计划任务。
3、系统加固
加固的地方有很多,在这里只列出部分用户加固。
1、修改root用户密码
1 | sudo passwd |
2、删除不必要的用户
1 | sudo userdel -r <用户名> |
3、检测空口令用户
1 | awk -F: '$2=="!!" {print $1}' /etc/shadow |
4、口令配置文件
/etc/pam.d/system-auth
1 | password requisite pam_cracklib.so retry=3 difok=3 minlen=10 #文件修改最小长度 |