第二章日志分析-redis应急响应笔记
简介
服务器场景操作系统 Linux
服务器账号密码 root xjredis任务环境说明
注:样本请勿在本地运行!!!样本请勿在本地运行!!!样本请勿在本地运行!!!
应急响应工程师小王某人收到安全设备告警服务器被植入恶意文件,请上机排查
介绍:
Redis的主从复制反弹shell攻击:
原理:漏洞存在于4.x、5.x版本中,Redis提供了主从模式。主从模式指使用一个redis作为主机,其他的作为备份机,主机从机数据都是一样的,从机只负责读,主机只负责写。在Reids 4.x之后,通过外部拓展,可以实现在redis中实现一个新的Redis命令,构造恶意.so文件。在两个Redis实例设置主从模式的时候,Redis的主机实例可以通过FULLRESYNC同步文件到从机上。然后在从机上加载恶意so文件,即可执行命令。
第一题:通过本地 PC SSH到服务器并且分析黑客攻击成功的 IP 为多少,将黑客 IP 作为 FLAG 提交
先进行查看redis日志,看看能不能找到什么有用的线索。
发现redis的版本是5.0.1的,符合主从复制攻击的漏洞利用环境。但还是不太确定,需要进一步做验证。
这条日志发现(Connecting to MASTER), Redis 从节点启动后连接主节点、开启主从同步,并且加载了一个外部的模块exp.so。我们使用xshell将它下载到本地,放到微步云沙箱进行查看,发现是一个恶意模块。现在就可以确认是主从复制攻击了
flag{192.168.100.20}
第二题:通过本地 PC SSH到服务器并且分析黑客第一次上传的恶意文件,将黑客上传的恶意文件里面的 FLAG 提交;
由前面的步骤可知,黑客上传的恶意文件是exp.so,我们就可以直接查看该文件
要是不想找,也可以使用如下命令进行快速查找:
strings exp.so |grep "flag"
flag{XJ_78f012d7-42fc-49a8-8a8c-e74c87ea109b}
第三题:通过本地 PC SSH到服务器并且分析黑客反弹 shell 的IP 为多少,将反弹 shell 的IP 作为 FLAG 提交;
题目要查找黑客的反弹shell,在由前面的推理,我们可以直接去计划任务中去查找:
crontab -l
flag{192.168.100.13}
第四题:通过本地 PC SSH到服务器并且溯源分析黑客的用户名,并且找到黑客使用的工具里的关键字符串(flag{黑客的用户-关键字符串} 注关键字符串 xxx-xxx-xxx)。将用户名和关键字符串作为 FLAG提交
这里就是redis写公钥的那部分知识了,在.ssh目录中会存在authorized_keys,将xj-test-user在github上进行搜索,得到flag
flag{xj-test-user-wow-you-find-flag}
第五题:通过本地 PC SSH到服务器并且分析黑客篡改的命令,将黑客篡改的命令里面的关键字符串作为 FLAG 提交;
我当时在找第五题的时候,使用ps -ef命令,看到了他这个指令好像有点奇怪,便去/usr/bin中进行查看。
发现有两个ps,且有一个对所有用户都是可读写可执行的,非常可疑,进行一步排查
发现flag
flag{c195i2923381905517d818e313792d196}