redis简介
1 | Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、 Key-Value数据库。和Memcached类似,它支持存储的value 类型相对更多,包括 string(字符串)、list ( 链表)、 set(集合)、zset(sorted set – 有序集合)和 hash(哈希类型)。这些数据类型都支持push/pop 、 add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上, redis支持各种不同方式的排序。与 memcached 一样,为了保证效率,数据都是缓存在内存中。区别的是 redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave ( 主从)同步。 |
redis暴力破解
redis服务器设置密码
1 | 编辑redis配置文件:redis.conf |
hydra暴力破解redis密码
1 | hydra -P password.txt redis://172.100.30.45 |
没有输入密码登录
hydra进行暴力破解
redis未授权访问
写入ssh公钥
1 | 1、攻击机生成ssh公钥保存至key.txt,并写入redis的变量xxx |
写入计划任务,反弹shell
1 | 1、将变量xxx内容写入 /var/spool/cron/root文件中 |
1 | 写入计划任务踩过的坑: |
利用主从复制rce
redis主从模式简介
1 | 漏洞存在于4.x、5.x版本中,Redis提供了主从模式,主从模式指使用一个redis作为主机,其他的作为备份机,主机从机数据都是一样的,从机只负责读,主机只负责写。在Reids 4.x之后,通过外部拓展,可以实现在redis中实现一个新的Redis命令,构造恶意.so文件。在两个Redis实例设置主从模式的时候,Redis的主机实例可以通过FULLRESYNC同步文件到从机上。然后在从机上加载恶意so文件,即可执行命令。 |
工具下载
1 | 1)git clone https://github.com/n0b0dyCN/RedisModules-ExecuteCommand(需要make) |
脚本利用
1 | 1、首先要生成恶意.so文件,下载RedisModules-ExecuteCommand使用make编译即可生成。 |