Setzen Sie das Linux EC2 Server-Passwort zurück

Sep 11 2020

Anmeldung am EC2-Ubuntu-Server aufgrund von Berechtigungsproblemen nicht möglich.

Problem: Mein EC2-Ubuntu-Server hat einen Benutzer (root & ubuntu) und ich melde mich mit ssh bei ubuntu an. Aus Versehen habe ich den Besitz des Ubuntu-Ausgangsverzeichnisses in root geändert und auch alle Berechtigungen aus dem Verzeichnis für andere Benutzer widerrufen. Das Home-Verzeichnis des Benutzers (Ubuntu) hat also nur die RWX-Berechtigung für root und sonst niemanden. Jetzt kann ich mich nicht mit SSH bei Ubuntu anmelden. Ich habe eine PEM-Datei bereitgestellt, aber dieses Mal erhalte ich eine Passwortabfrage, unabhängig von der PEM-Datei. Scheint, als hätte ich es vermasselt.

Was ich versucht habe:

  1. Versucht, sich mit ssh bei root anzumelden (nicht erlaubt)
  2. Versucht, sich mit ssh bei ubuntu anzumelden (Passwort fragen, weil das Berechtigungsproblem ich glaube)
  3. Ich habe versucht, mich einzumischen. Ich habe Wordpress ausgeführt, also habe ich die Shell mit Admin über den Server gelegt. Ich habe eine Reverse-Shell erhalten, konnte jedoch keine Eskalation von Berechtigungen durchführen, um Root zu erhalten.

Ich würde mich sehr freuen, wenn Sie mir helfen können, meinen Server einzugeben / das Passwort zurückzusetzen / über AWS Dashboard einzusteigen / oder auf irgendeine Weise.

Antworten

PhilipCouling Sep 11 2020 at 22:25

Woops!

So etwas passiert, aber es ist eine gute Lektion, mit Ihrem Zugang vorsichtiger umzugehen. Wenn Sie den Zugriff vollständig verloren haben, müssen Sie mit ziemlicher Sicherheit die VM herunterfahren. Mit 100% Verfügbarkeit können Sie dies nicht wiederherstellen.

Wenn dies ein lokaler PC wäre, könnten Sie die Festplatte herausnehmen, sie in einen anderen Computer einlegen und das Kennwort vom anderen Computer zurücksetzen. Obwohl dies eine virtuelle Maschine ist, ist das Prinzip ähnlich. Hier gibt es eine Lösung für ein ähnliches Problem:https://stackoverflow.com/a/11776183/453851

Das Grundprinzip ist, dass die virtuelle EC2-Maschine "Volumes" als Festplatten verwendet. Über die AWS-Konsole können Sie:

  • Fahren Sie Ihre virtuelle Maschine herunter
  • Nehmen Sie die Lautstärke ab
  • Erstellen Sie eine neue brandneue virtuelle Maschine (mit eigenem Volume)
  • Starten Sie die neue VM
  • Hängen Sie das alte Volume an die neue VM an (als zweites Volume).

Melden Sie sich dann bei der neuen VM an und:

  • Mounten Sie das alte Volume (bis /mnt/)
  • chrootin das gemountete Dateisystem ( chroot /mnt/ /bin/bash). Dadurch erhalten Sie eine Befehlszeile, die sich so verhält, als würde sie in Ihrer alten VM ausgeführt.
  • Ändern Sie ein beliebiges Passwort passwd
  • schließen

Endlich zurück in der AWS-Konsole:

  • Trennen Sie das alte Volume
  • Schließen Sie es erneut an die alte VM an
  • booten Sie die alte VM
  • Löschen Sie die neue VM vollständig (ACHTUNG, UM DIE RICHTIGE ZU LÖSCHEN)