背景介绍
小王急匆匆地找到小张,小王说"李哥,我dev服务器被黑了",快救救我!!
挑战内容
1.黑客的IP地址
2.遗留下的flag1
3.遗留下的flag2
4.遗留下的flag3
解题过程
打开靶机。查看历史命令
无内容,切换到root用户,查看历史命令,发现flag1,rc.local为开启启动项
查看rc.loacl后发现flag2
1.黑客的IP地址
2.遗留下的flag1
3.遗留下的flag2
4.遗留下的flag3
接着查看用户登录情况
lastlog:显示所有用户的最近登录情况,
发现可疑ip
pts/1
是虚拟(伪)终端设备的一种表示方式。在Unix和Linux系统中,当用户通过SSH等远程登录协议连接到服务器时,系统会为用户会话分配一个虚拟终端。/dev/pts
目录下的文件代表伪终端从设备(slave),而ptmx
则提供伪终端主设备(master)。这种机制允许用户会话与实际终端设备解耦,便于多用户同时访问
在secure日志文件中,发现大量的ssh登录日志,ip也是整个可疑ip,基本可以确认为攻击IP
在/var/log下的发现有redis的日志,排查后也发现了192.168.75.129的访问
当一个客户端尝试连接到Redis服务器时,如果连接成功,Redis会记录一条"Accepted"日志。这条日志通常包含客户端的IP地址和端口号,以及连接的时间戳。
1.黑客的IP地址
2.遗留下的flag1
3.遗留下的flag2
4.遗留下的flag3
而后排查计划任务,并没有什么发现
想起来,在redis日志中也有攻击ip的登录记录,所以决定去看一下redis的配置文件
发现flag3
1.黑客的IP地址
2.遗留下的flag1
3.遗留下的flag2
4.遗留下的flag3
除此之外还发现存在未授权访问风险
redis暴露在公网
未开启保护模式和守护进程,故公网的机器可以直接未授权访问redis服务器
攻击视角
1.端口扫描发现22和6379开放
2.redis未授权访问
3.
端口扫描发现,22端口和6379端口开放
尝试登录redis成功
生成ssh公钥,将公钥保存到1.txt中
将保存ssh的公钥1.txt写入redis(使用redis-cli -h ip命令连接靶机,将文件写入)
更改redis备份路径为ssh公钥存放目录(一般默认为/root/.ssh)
设置上传公钥的备份文件名字为authorized_keys
检查是否更改成功(查看有没有authorized_keys文件),没有问题就保存然后退出,
至此成功写入ssh公钥到靶机
成功登录到靶机
这里有一点小意外,可以看到需要密码登录,应该是启动redis服务器时没有以root权限运行
具体复现过程可参照:
Redis未授权访问漏洞复现与利用https://www.cnblogs.com/bmjoker/p/9548962.html