Die Grundidee

Die Grundidee

Nehmen wir an, ich habe eine virtuelle Maschine und keinerlei Zugriff auf den Hypervisor. Außerdem kann ich keine Systemparameter ändern, wie z. B. das Einrichten eines passwortgeschützten Bootens mit LUKS oder Ähnlichem. Ich kann jedoch alle gewünschten Tools installieren und habe vollen Root-Zugriff. Die Verwendung von dd zum Schreiben von Nullen oder zufälligen Werten auf das Gerät wird irgendwann fehlschlagen und das System nicht leer lassen. Haben Sie Vorschläge, wie man das lösen kann? Vielleicht ein Skript, das ich beim Start ausführen kann, wenn ich das System neu starte?

Antwort1

Die Grundidee

  1. Erstellen Sie eine RAM-Disk - oder TMPFs
  2. Installieren Sie Busybox, statisch verknüpft, auf der RAM-Disk.
  3. Erstellen Sie Dev-Knoten für Ihre Festplatten und /dev/null und dergleichen auf der RAM-Festplatte.
  4. pivot_rootzur RAM-Disk.
  5. execeine Busybox-Shell.
  6. killalles andere, was auf dem Computer ausgeführt wird und den nächsten Schritt verhindert. Möglicherweise müssen Sie auch einen SSH-Server auf der RAM-Disk einrichten oder etwas Ähnliches verwenden, busybox nc -l -l -p1234 -e busybox shum einen alternativen Zugriff zu erhalten.
  7. Hängen Sie die „echten“ Festplatten aus.
  8. Verwenden Sie Busybox, ddum die „echten“ Festplatten zu löschen.

Beachten Sie, dass Sie mit dieser Busybox-Zeile kein „Terminal“, sondern nur eine Shell erhalten, daher ist vieles seltsam. Und wenn Sie verwenden, telnetum eine Verbindung herzustellen, wird es noch seltsamer. Insbesondere erhalten Sie vor jedem Zeilenvorschub einen Wagenrücklauf, sodass die Eingabe pwdfehlschlägt, das Hinzufügen eines Leerzeichens danach jedoch funktioniert. Ich empfehle die Verwendung von ncoder busybox ncals Client.

Problem

Sie können init nicht einfach beenden und damit durchkommen. Möglicherweise können Sie die Datenträger aushängen, indem Sie Dinge beenden, die von diesem Datenträger gestartet wurden, oder auch nicht.

Ich denke, es gibt zwei Alternativen.

  1. Ändern Sie die Boot-Skripte, um den Tunnel einzurichten oder die Datenträgerlöschung für Sie durchzuführen. Es gibt Toolkits zur Datenträgerlöschung, die möglicherweise eine Version haben, die mit den Modulen Ihres Kernels kombiniert werden kann, um letzteres zu tun.
  2. Versuchen Sie, die Datenträger zu löschen, ohne sie auszuhängen. Stellen Sie in diesem Fall sicher, dass Sie poweroff -fn

verwandte Informationen