it-swarm.com.de

Wie ist es möglich, über grub2 secure in jeden Linux-Rechner einzudringen?

Wie ist die Fähigkeit einer Person, die physischen Zugriff auf Ihren Computer erlangt hat, durch diese Schritte in irgendeiner Weise sicher root zu werden?

  1. Wenn das Menü grub2 geöffnet wird, drücken Sie e um die Linux-Startoptionen zu bearbeiten
  2. Veränderung:

    "linux   /vmlinuz-2.6.35-23-generic root=UUID=e7f1e48d-0015-485f-be7d-836217a31312 ro   quiet splash" 
    

    zu:

    "linux   /vmlinuz-2.6.35-23-generic root=UUID=e7f1e48d-0015-485f-be7d-836217a31312 ro init=/bin/bash"
    
  3. Jetzt hast du root-Zugriff, mache einfach:

    mount -o remount,rw /
    passwd user
    mount -o remount,ro / 
    sync
    
  4. starten Sie den Computer neu und Sie gewinnen.

Meine Frage ist, wie es möglich ist, über grub2 secure in jeden Linux-Rechner einzudringen. Ich verstehe diese Tatsache über Linux nicht, danke für Ihre Antworten.

51
Clutchy

Wie ist die Fähigkeit einer Person, die physischen Zugang zu Ihrem Computer erlangt hat, [mit Grub/Bash] in irgendeiner Weise root zu werden, sicher?

Denn wenn Linux dies tun würde, würden Hacker einfach andere Sicherheitslücken ausnutzen. Die erste Sicherheitsregel lautet: Wenn ich physischen Zugriff auf Ihr System habe, ist das Spiel vorbei. Ich habe gewonnen.

Stellen Sie sich außerdem vor, Ihr X-Server ist kaputt und Sie haben keine GUI mehr. Sie müssen in eine Wiederherstellungskonsole booten, um das Problem zu beheben. Dies ist jedoch nicht möglich, da dies unsicher ist. In diesem Fall haben Sie ein völlig kaputtes System, aber hey, zumindest ist es "sicher"!

Aber Kaz, wie ist das möglich? Ich habe ein Passwort für mein Grub festgelegt, damit du mein init nicht in Bash ändern kannst!

Oh, du hast es getan, oder? Interessant, denn das sieht aus wie dein Fotoalbum. GRUB hat überhaupt keinen inhärenten Sicherheitsfaktor. Es ist nur ein Bootloader , kein Schritt in einer sicheren Boot- und Authentifizierungskette. Das "Passwort", das Sie eingerichtet haben, ist in der Tat verdammt einfach zu umgehen.

Das, und welcher Sysadmin führt für Notfälle kein Boot-Laufwerk auf sich?

Aber wie?! Du kennst mein Passwort nicht (das ist übrigens überhaupt nicht [email protected])

Ja, aber das hindert mich nicht daran, Ihren Computer zu öffnen und Ihre Festplatte herauszunehmen. Von dort aus sind es nur ein paar einfache Schritte, um Ihr Laufwerk auf meinem Computer zu mounten und mir Zugriff auf Ihr gesamtes System zu gewähren. Dies hat auch den Vorteil, dass Sie Ihr BIOS-Passwort umgehen können. Das, oder ich hätte einfach dein CMOS zurücksetzen können. Entweder oder.

Also ... wie kann ich nicht zulassen, dass Sie auf meine Daten zugreifen?

Einfach. Halten Sie Ihren Computer von mir fern. Wenn ich es berühren, auf eine Tastatur zugreifen, meine eigenen Flash-Laufwerke einstecken oder es auseinander nehmen kann, kann ich gewinnen.

Kann ich meinen Computer einfach gerne in ein Rechenzentrum stellen oder so? Die sind ziemlich sicher, oder?

Ja sie sind. Aber Sie vergessen, dass Menschen auch hackbar sind, und wenn ich genügend Zeit und Vorbereitung habe, könnte ich wahrscheinlich in dieses Rechenzentrum gelangen und all diese süßen, süßen Daten von Ihrem Computer entfernen. Aber ich schweife ab. Wir haben es hier mit echten Lösungen zu tun.

Okay, du hast meinen Bluff gerufen. Ich kann es nicht in ein Rechenzentrum stellen. Kann ich einfach meinen privaten Ordner verschlüsseln oder so?

Sicher kannst du! Es ist dein Computer! Wird es mir helfen, mich aufzuhalten? Nicht im Geringsten. Ich kann einfach etwas Wichtiges wie /usr/bin/firefox durch mein eigenes Schadprogramm ersetzen. Wenn Sie Firefox das nächste Mal öffnen, werden alle Ihre geheimen Daten auf einen geheimen Server übertragen, der sich an einem geheimen Ort befindet. Und du wirst es nicht einmal wissen. Wenn ich häufig auf Ihr Gerät zugreifen kann, kann ich einfach Ihren privaten Ordner so einrichten, dass er an /usr/share/nonsecrets/home/ oder einen ähnlichen (nicht verschlüsselten) Speicherort kopiert wird.

Okay, was ist mit der vollständigen Festplattenverschlüsselung?

Das ist ... eigentlich ziemlich gut. Es ist jedoch noch nicht perfekt! Ich kann immer einen Cold Boot Attack mit meiner zuverlässigen Druckluftdose durchführen. Oder ich kann einfach einen Hardware-Keylogger an Ihren Computer anschließen. Eins ist offensichtlich einfacher als das andere, aber der Weg ist eigentlich egal.

In der überwiegenden Mehrheit der Fälle ist dies ein guter Zwischenstopp. Koppeln Sie es vielleicht mit TPM (siehe unten) und Sie sind goldrichtig. Sofern Sie nicht eine Agentur mit drei Buchstaben oder einen sehr motivierten Hacker verärgert haben, wird niemand die Anstrengungen nach dieser Phase unternehmen.

Natürlich kann ich Sie immer noch dazu bringen, Malware/Backdoors zu installieren, indem Sie einen PPA oder ähnliches anbieten, aber dies führt zu einem sehr düsteren Bereich des Nutzervertrauens.

Also ... wie sind iPhones so sicher? Selbst mit physischem Zugang können Sie nicht viel tun.

Ja und nein Ich meine, wenn ich genug motiviert wäre, könnte ich den Flash-Chip lesen und alles bekommen, was ich brauche. IPhones unterscheiden sich jedoch grundlegend, da es sich um eine vollständig gesperrte Plattform handelt. Gleichzeitig opfern Sie jedoch die Benutzerfreundlichkeit und die Fähigkeit, sich von katastrophalen Ausfällen zu erholen. GRUB (außer wenn sehr speziell entworfen) ist nicht als Kette in einem Sicherheitssystem gedacht. Tatsächlich haben die meisten Linux-Systeme ihre Sicherheitsketten nach dem Booten gestartet, also nachdem GRUB damit fertig ist.

Darüber hinaus verfügen iPhones über eine Durchsetzung kryptografischer Signaturen (siehe auch unten), wodurch es für Malware sehr schwierig ist, sich über legitime Wege auf Ihr Telefon einzuschleichen.

Aber was ist mit TPM/SmartCards/[Crypto Tech hier einfügen]?

Nun, jetzt, wo Sie physische Sicherheit in die Gleichung einbinden, wird es noch komplizierter. Dies ist jedoch keine wirkliche Lösung, da TPMs relativ schwach sind und die gesamte Verschlüsselung nicht auf dem Chip stattfindet. Wenn Ihr TPM (irgendwie) stark genug ist, um auf dem Chip selbst zu verschlüsseln (einige sehr ausgefallene Festplatten haben so etwas), wird der Schlüssel nie preisgegeben und Dinge wie Kaltstart-Angriffe sind unmöglich. Möglicherweise sind die Schlüssel (oder die Rohdaten) jedoch noch im Systembus vorhanden, sodass sie abgefangen werden können.

Trotzdem kann mein Hardware-Keylogger immer noch Ihr Passwort erhalten, und ich kann problemlos Malware auf Ihren Computer laden, und zwar nach dem Firefox-Exploit, den ich zuvor erwähnt habe. Ich brauche nur, dass Sie Ihr Haus/Ihren Computer für eine Stunde verlassen.

Wenn Sie nun Ihr TPM/Ihre Smartcard/was auch immer mitnehmen und die gesamte Verschlüsselung tatsächlich auf dem Chip erfolgt (was bedeutet, dass Ihr Schlüssel überhaupt nicht in RAM gespeichert ist), ist dies praktisch unmöglich für mich überhaupt einzusteigen, es sei denn, Sie (der Benutzer) rutschen aus und vergessen etwas. Das heißt, es sei denn, ich finde eine Möglichkeit, den (unverschlüsselten) Schlüssel vom Systembus zu lesen.

Aber was ist, wenn ich für alle meine Programme eine Form der Durchsetzung von kryptografischen/digitalen Signaturen verwende, um sicherzustellen, dass sie echt sind?

Wie verschiedene Smartphone-Unternehmen demonstrieren, ist dies eine sehr gute Art, mit Sicherheit umzugehen. Sie haben jetzt meine Fähigkeit aufgehoben, Code in Ihren Computer einzufügen, um schändliche Dinge zu tun, was ein Plus ist. Tatsächlich haben Sie meine Fähigkeit deaktiviert, den dauerhaften Zugriff auf Ihren Computer aus der Ferne beizubehalten, was ein großes Plus ist.

Dies ist jedoch immer noch keine perfekte Methode! Die Durchsetzung digitaler Signaturen kann einen Hardware-Keylogger nicht stoppen. Es muss außerdem vollständig fehlerfrei sein. Das bedeutet, dass ich auf keinen Fall einen Exploit finden kann, mit dem ich mein eigenes Zertifikat in den Zertifikatspeicher Ihres Computers laden kann. Darüber hinaus bedeutet dies, dass jede ausführbare Datei auf Ihrem System signiert sein muss . Wenn Sie dies nicht manuell durchführen möchten, wird es sehr schwierig sein, Apt-Pakete und ähnliches zu finden, die digitale Signaturen für alles haben. In ähnlicher Weise blockiert dies legitime Verwendungen für nicht signierte ausführbare Dateien, nämlich die Wiederherstellung. Was ist, wenn Sie etwas Wichtiges kaputt machen und nicht über die (signierte) ausführbare Datei verfügen, um es zu beheben? Nun, da geht Ihr System.

In beiden Fällen wurde ein diesbezüglicher Aufwand unter Linux praktisch aufgegeben und funktioniert nicht mehr für neue Kernel, sodass Sie Ihre eigenen Kernel erstellen müssen.

Also ist es unmöglich, dich von meinem Computer fernzuhalten?

Eigentlich ja, tut mir leid. Wenn ich physischen Zugang und genügend Motivation habe, ist es immer möglich, in ein System einzusteigen. Keine Ausnahmen.

In Wirklichkeit werden die meisten bösen Menschen jedoch nicht versuchen, nur für ein paar Katzenbilder so weit zu kommen. Normalerweise reicht eine vollständige Festplattenverschlüsselung (oder sogar die Ausführung von Linux!) Aus, um die meisten Skriptkinder davon abzuhalten, zwei Sekunden Ruhm zu haben.

TL; DR: Lass nur keine Menschen, denen du nicht vertraust, in die Nähe deines Computers. Das ist normalerweise gut genug.

108
Kaz Wolfe

Wenn Sie es gebunden haben möchten, verwenden Sie ein Passwort . Über den Link:

GRUB 2-Kennwortschutzhinweise

Grub 2 kann Passwortanforderungen festlegen für:

  • Alle Menüeinträge
  • Spezifische Menüeinträge
  • Für bestimmte Benutzer: Beispielsweise kann Benutzer "Jane" auf Ubuntu zugreifen, jedoch nicht auf den Windows-Wiederherstellungsmodus, auf den nur "John", der Superuser, zugreifen kann.
  • Der Administrator muss den Kennwortschutz manuell aktivieren, indem er die GRUB 2-Systemdateien bearbeitet.

  • Benutzer und Kennwörter sollten in der /etc/grub.d/00_header oder einer anderen GRUB 2-Skriptdatei angegeben werden.

  • Sofern nicht ein universeller Schutz aller Menüeinträge gewünscht ist, müssen die spezifischen Einträge identifiziert werden:

    • Manuell durch Bearbeiten der Skripte von Grub 2 /etc/grub.d/ wie 10_linux und 30_os-prober
    • Manuell durch Bearbeiten einer benutzerdefinierten Konfigurationsdatei, die vom Benutzer erstellt wurde.

    • Mit einer der obigen Methoden kann GRUB 2 die Kennwortanforderung automatisch zur Konfigurationsdatei (grub.cfg) hinzufügen, wenn update-grub ausgeführt wird.

    • Manuell durch Bearbeiten von /boot/grub/grub.cfg. Änderungen an dieser Datei werden entfernt, wenn update-grub ausgeführt wird und der Kennwortschutz verloren geht.

  • Wenn ein Kennwortschutz für GRUB 2 aktiviert ist, sind der Name und das Kennwort des Superuser erforderlich, um Zugriff auf den Befehlszeilen- und Menübearbeitungsmodus GRUB 2 zu erhalten.

  • Der Benutzername und/oder das Passwort müssen nicht mit dem Ubuntu-Anmeldenamen/Passwort übereinstimmen.
  • Sofern die Kennwortverschlüsselungsfunktion von GRUB 2 nicht verwendet wird, wird das Kennwort als einfacher Text in einer lesbaren Datei gespeichert. Informationen zur Verwendung dieser Funktion finden Sie im Abschnitt Kennwortverschlüsselung.

Standardmäßig (!) Hat in diesem Fall die Benutzerfreundlichkeit Vorrang vor der Sicherheit. Wenn Sie den Menschen in Ihrer Nähe nicht vertrauen können, behalten Sie die Maschine immer bei sich. Personen, die mehr Sicherheit benötigen, verschlüsseln in der Regel ihr gesamtes System, sodass ein Kennwort erforderlich ist.

17
Rinzwind

Dein absichtlicher Hack beginnt damit:

  1. Wenn das grub2-Menü geöffnet wird, drücke 'e', ​​um die Linux-Startoptionen zu bearbeiten

Sie können die Option e jedoch mit einem Kennwort schützen, wie hier beschrieben: So fügen Sie dem Ladevorgang des Betriebssystems den Kennwortschutz GRUB hinzu, anstatt die Startoptionen zu bearbeiten

Sie können den zusätzlichen Schritt zum Verschlüsseln des Grub-Passworts ausführen, wie im Link beschrieben. In der Tat ist es für Systemadministratoren eine gute Idee, sich vor der Funktion e auf Produktionssystemen bei der Arbeit zu schützen, da vielleicht 3% der Bevölkerung Linux/Ubuntu zu Hause verwenden (wild guess). Ich stelle mir vor, wenn Ubuntu bei der Arbeit verwendet wird, würden 30 bis 40% es auch zu Hause verwenden, und vielleicht lernen 10% von ihnen, wie man e auf ihren Heimsystemen macht.

Dank Ihrer Frage haben sie gerade mehr gelernt. Mit dem obigen Link haben Systemadministratoren jedoch eine weitere Aufgabe auf ihrer Aufgabenliste, um Produktionsumgebungen zu schützen.

3

Um Grub sicher zu machen, müssen Sie den Zugriff darauf schützen. Dies kann einfach mit einem Festplattenkennwort geschehen, und ich spreche hier von der Festplattensicherheit, in der sie in der Firmware der Festplatte selbst gespeichert ist. Die Festplatte kann nicht gelesen oder beschrieben werden. Somit ist grub nicht nur ohne das Passwort nicht erreichbar, sondern auch Ihre Daten.

Da das Kennwort auf der Festplatte selbst gespeichert ist, hilft es dem Hacker nicht, es in ein anderes System zu verschieben.

Es gibt Software, mit der das Kennwort von den Festplatten einiger Hersteller entfernt werden kann, die jedoch auch die Festplatte effektiv löscht. Ihre Daten sind also immer noch sicher.

0
Scooby-2