(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,並且沒有開啟認證,如果沒有採取相關的一些策略,比如新...