麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

Redis未授權訪問漏洞復現區塊鏈

區塊鏈安全檔案 2018-09-28 08:42
分享到:
導讀

Redis是一種開源的,內存中的數據結構存儲系統,可用作數據庫,消息代理或緩存。由于它是在在受信任的環境中訪問,因此不應在Internet上公開。但是,一些Redis服務綁定到公共接口,甚至沒有密碼身份驗證保護。

漏洞簡介以及危害:

什么是redis未授權訪問漏洞:

Redis默認情況下,會綁定在0.0.0.0:6379,如果沒有進行采用相關的策略,比如添加防火墻規則避免其他非信任來源 ip 訪問等,這樣將會將Redis服務暴露到公網上,如果在沒有設置密碼認證(一般為空)的情況下,會導致任意用戶在可以訪問目標服務器的情況下未授權訪問Redis以及讀取Redis的數據。攻擊者在未授權訪問Redis的情況下,利用Redis自身的提供的config命令,可以進行寫文件操作,攻擊者可以成功將自己的ssh公鑰寫入目標服務器的/root/.ssh文件夾的authotrized_keys文件中,進而可以使用對應私鑰直接使用ssh服務登錄目標服務器。

漏洞的產生條件有以下兩點:

漏洞的危害:

漏洞影響:

根據shadon顯示,2015年有大約56,000個未受保護的 Redis服務器。

根據ZoomEye顯示,分布的范圍如圖所示:

據ZoomEye稱,漏洞主機數量排名最高的國家是:中國,美國,德國……

漏洞利用的簡化流程:

登錄不受保護的Redis

將其備份位置更改為.ssh目錄 – 將SSH密鑰寫入新的備份位置

使用SSH密鑰遠程連接并登錄目標服務器

我們應該已經熟悉如何使用私鑰 公鑰進行SSH自動登錄了

漏洞復現

現在我們來開始實戰,設置一臺目標機器。我們需要兩臺機器,可以是物理機,虛擬機,也可以是遠程VPS。

只要攻擊端能夠ping通目標就行。

本次示例的環境配置:

目標機器:Ubuntu上的Redis-3.2.11

攻擊機:kali

配置目標機器

首先,在目標機器上安裝Redis。通過下面這個命令來下載源碼:

解壓和編譯,命令如下:

make之后,我們使用nano來打開redis-3.2.11目錄下的redis.conf配置文件。為了能夠進行遠程訪問,我們需要注釋掉 bind 127.0.0.1這一行,并禁用protected-mode,如圖所示:

現在使用我們剛才編輯的配置文件啟動Redis服務。注意:redis-server在redis-3.2.11/src目錄下,啟動命令如下:

現在,我們已經完成了目標服務器的設置。此外,我們還應檢查是否有.ssh文件夾。如果沒有,我們應該創建一個,一會兒攻擊時會用到。

攻擊機配置

首先,確定我們可以ping通目標。然后,我們將生成一個私鑰和公鑰,以便稍后SSH到目標機器中。運行以下命令以生成SSH密鑰并將密碼保留為空:

然后,進入.ssh目錄,如果你是root用戶,請輸入/.ssh,不是root用戶,輸入~/.ssh,然后將私鑰復制到temp.txt中:

有人可能會奇怪,為什么我們在公鑰前后放兩個空行?如果你不知道的話,我們這里先賣一個關子,下面自會解答。

很好,現在我們已經生成了一對密鑰對,現在我們需要找到一個方法將公鑰上傳到Redis服務器中(目標機器)。

我們將使用redis-cli向Redis服務器發送命令,并且直接在終端中讀取服務器的響應。

在redis-3.2.11/sct目錄下執行以下命令:

這里,我們來看看命令。我們使用-h參數來指定遠程Redis服務器IP,這樣redis-cli就可以進行連接并發送命令。-x參數后的語句意思是,設置redis中s-key密鑰的值為temp.txt。

這里,我們有了一個隱藏著ssh秘鑰的密鑰!現在我們再來連接到Redis并查看它的配置文件。使用redis-cli再次連接到Redis服務器,如圖所示:

查看上面的截圖,我們首先使用get s-key命令來驗證s-key密鑰的值,這個值正是我們想要的 – 前后有兩個空行的公鑰。我們這里真正要做的就是獲取存儲在.ssh文件夾中的“s-key”(SSH公鑰)的值,這樣我們就可以不用輸入密碼而遠程SSH登錄到目標機器了。

我們需要執行如下操作:

備注:SSH中的authorized_keys文件指定可用于登錄的用戶帳戶,配置文件已經修改。

攻擊時刻

在攻擊機上,使用下列命令ssh連接到目標機器上:

上圖可以看到,我們使用SSH密鑰已經成功自動登錄到服務器上!到此,我們已經完成了漏洞復現。

最后,Redis的備份文件,如圖:

注意不可讀的字符?在關鍵內容之前和之后添加“\ n \ n”只是為了安全起見并將其與其他內容分開,以便可以正確解析。上面賣的關子,其實就是這個意思,很簡單。

使用搜索引擎查找易受攻擊的Redis服務器

我們將使用Shodan來搜索具有Redis特征的服務器。

我們通過Redis的默認端口進行簡單搜索。

共計75,665條搜索結果。而且你知道嗎,這些結果中,有大量的主機都沒有密碼保護(截圖中沒有顯示,但是我們向下滾動的話,能夠看到)!!

這個漏洞是在幾年前發現的,仍有無數機器沒有設置密碼,還暴露在公網中,這對攻擊者來說,拿下服務器簡直是探囊取物,不費吹灰之力。

我們如何使用Python腳本驗證服務器是否受到保護呢?其實,非常簡單。

1.使用socket連接到目標IP

2.執行GET請求

3.如果服務器不受保護,GET請求會成功; 否則會失敗

解決方案:

1、比較安全的辦法是采用綁定IP的方式來進行控制。

 請在redis.conf文件找到如下配置

把 #bind 127.0.0.1前面的注釋#號去掉,然后把127.0.0.1改成你允許訪問你的redis服務器的ip地址,表示只允許該ip進行訪問,這種情況下,我們在啟動redis服務器的時候不能用:redis-server,改為:redis-server path/redis.conf 即在啟動的時候指定需要加載的配置文件,其中path/是你上面修改的redis配置文件所在目錄,這個方法有一點不太好,我難免有多臺機器訪問一個redis服務。

2、設置密碼,以提供遠程登陸

打開redis.conf配置文件,找到requirepass,然后修改如下:

區塊鏈安全咨詢公司 曲速未來 觀點:

1.不要綁定到0.0.0.0

2.如果需要綁定,請更改默認端口(6379)

3.設置密碼

服務器 Redis 使用 目標 命令
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


主站蜘蛛池模板: 俄罗斯13一14处出血视频在线 | 精新精新国产自在现拍 | 好大好热 | 超级碰碰青草免费视频92 | 色综合亚洲天天综合网站 | 好大好深受不了了快进来 | 美女污视频在线观看 | 久9视频这里只有精品123 | 亚洲AV久久久噜噜噜久久 | 亚洲 日韩 自拍 视频一区 | 暖暖在线精品日本中文 | 精品亚洲综合久久中文字幕 | 福利视频导航大全 | 欧美黑人性猛交╳xx╳动态图 | 精品网站一区二区三区网站 | 99精品国产在现线免费 | 精品国产剧情在线观看 | 亚洲另类第一页 | 9191视频| 天选之王漫画顾长歌免费阅读 | 亚州笫一色惰网站 | 明星ai人脸替换脸忘忧草 | 日本精品一二三区 | 99久久爱热6在线播放 | 国产精品九九免费视频 | 男人肌肌捅女人 | 四虎一影院区永久精品 | 青柠影院在线观看免费完整版1 | 午夜精品一区 | 色综合久久夜色精品国产 | kkkk4444在线看片免费 | 免费看一级a一片毛片 | 日本www视频在线观看 | xxxxx大片在线观看 | 精品性久久 | 亚洲国产在线播放 | 免费又爽又黄禁片视频在线播放 | 国产精品色片 | poverty中国老妇人 | 国外成品精品1688 | 天天色综|