利用redis的未授權漏洞登陸遠端主機

2021-08-15 15:21:03 字數 2180 閱讀 8054

(1)redis是什麼:

redis是乙個開源的使用ansic語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫

(2)redis的未授權訪問漏洞是redis資料庫的登陸設定密碼,所以未開啟使用者認證,可以導致任意的使用者可以訪問目標伺服器的情況下未授權訪問redis以及讀取、更改redis的資料,攻擊者可以利用redis的相關方法在redis的伺服器上寫入公鑰,進而可以使用對應的私鑰登入目標伺服器

二、      (1)漏洞產生的原因:

redis的配置檔案未開啟授權訪問,所以任何可以訪問伺服器的人都可以登陸

(2)系統存在該漏洞的後果

攻擊者可以利用該漏洞向目標伺服器中的root資料夾下寫入ssh登陸需要的公鑰檔案,從而可以用ssh遠端登陸並獲得root許可權

三、      漏洞的重現和利用

(1)   安裝redis4.0.6

利用原始碼編譯安裝:在根目錄下建立乙個redis資料夾,redis放在該資料夾下,tar命令解壓,make編譯,用src下的redis-server開啟redis服務

(2)   修改redis的配置檔案redis.conf

將配置檔案中的protected-mode後的yes改為no 而且配置檔案中未要求使用密碼登陸redis,所以可以直接登陸redis

(3)   安裝ssh

用dnf installopenssh直接安裝

開啟ssh

systemctl startsshd.service

修改資料夾/etc/ssh下的sshd_config配置檔案

(4)   利用漏洞寫入ssh證書並用ssh登陸目標伺服器

用ssh-keygen產生一對公鑰,預設儲存目錄是.ssh資料夾下的id_rsa和id_rsa.pub

在.ssh目錄下將公鑰複製進demo.txt檔案

前後各兩個回車是為將公鑰追加到目標伺服器的authorized_key檔案後的格式

開啟redis

將本地儲存公鑰的檔案上傳到目標伺服器的redis資料庫中並設定鍵值為invader

利用漏洞進入目標伺服器的redis服務,並更改配置檔案,將redis的持久化儲存檔案的位置更改為/root/.ssh/authorized_keys並儲存

此時已經將包含公鑰的鍵值對儲存在了authorized_keys,可以利用ssh登陸目標伺服器了

成功取得目標伺服器的root許可權,所以可以進行任意更改

(5)   如果公司的系統存在該漏洞那麼該公司的系統很容易被進入,並取得最高許可權,入侵者可以進行任意的更改,非常不安全

四、      用openvas掃瞄伺服器漏洞

配置掃瞄目標

掃瞄結果:

可以看到有乙個脆弱性為redisserver no password,

可以看到對該漏洞的總結,影響,解決方法,檢查方法

該漏洞的nvt是redis server no password 後面是oid號

僅實驗 謹實驗

Redis未授權訪問漏洞

一 漏洞描述和危害 redis因配置不當可以未授權訪問,被攻擊者惡意利用。攻擊者無需認證訪問到內部資料,可能導致敏感資訊洩露,黑客也可以惡意執行flushall來清空所有資料。攻擊者可通過eval執行lua 或通過資料備份功能往磁碟寫入後門檔案。如果redis以root身份執行,黑客可以給root賬...

Redis未授權訪問漏洞

一 漏洞描述和危害 redis因配置不當可以未授權訪問,被攻擊者惡意利用。攻擊者無需認證訪問到內部資料,可能導致敏感資訊洩露,黑客也可以惡意執行flushall來清空所有資料。攻擊者可通過eval執行lua 或通過資料備份功能往磁碟寫入後門檔案,如果redis以root身份執行,黑客可以給root賬...

redis未授權訪問漏洞

1 什麼是redis?redis是乙個開源的使用ansi c語言編寫 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api。2.redis 未授權訪問是什麼漏洞?redis是預設繫結在0.0.0.0 6379,並且沒有開啟認證,如果沒有採取相關的一些策略,比如新...