Abo
  • IT-Karriere:

Ubuntu-Sicherheitslücke: Snap und Root!

Über einen Trick kann ein Angreifer Ubuntus Paketverwaltung Snap vorgaukeln, dass ein normaler Nutzer Administratorrechte habe - und damit wirklich einen Nutzer mit Root-Rechten erstellen.

Artikel veröffentlicht am ,
Normaler User oder Admin? Die Paketverwaltung Snap lässt sich überlisten.
Normaler User oder Admin? Die Paketverwaltung Snap lässt sich überlisten. (Bild: congerdesign/Pixabay)

Über eine Sicherheitslücke in Ubuntus selbstentwickeltem Paketsystem Snap können Angreifer Root-Rechte erlangen. Der Sicherheitsforscher Chris Moberly hat die Lücke entdeckt und nennt sie Dirty_Sock, in Anlehnung an eine ähnliche Schwachstelle im Linux Kernel mit dem Namen Dirty Cow. Im Unterschied zu den bisher von Ubuntu verwendeten Debian-Paketen werden die Snap-Apps (Snaps) komplett mit allen Abhängigkeiten gepackt. Moberly hatte die Sicherheitslücke im Januar entdeckt und an den Ubuntu-Sponsor Canonical gemeldet. Dieser hat ein Update von Snapd, dem Hintergrunddienst, über den die Snaps verwaltet werden, veröffentlicht. In Version 2.37.1 wurde die Sicherheitslücke geschlossen.

Stellenmarkt
  1. Hays AG, Hamburg
  2. Johann Wolfgang Goethe-Universität Frankfurt, Frankfurt am Main

Anders als die bisher von Ubuntu verwendeten Debian-Pakete werden die Snap-Apps komplett mit allen Abhängigkeiten gepackt. Der Dienst Snapd läuft mit Administratorrechten und kann Befehle als Root ausführen, beispielsweise neue Nutzer erstellen. Damit diese ebenfalls nur von einem Benutzer mit Root-Rechten ausgeführt werden können, überprüft Snapd, ob es sich bei dem Nutzer um Root handelt. Allerdings konnte Moberly die Benutzer-ID seines Nutzers gegen die des Root-Nutzers austauschen und so Befehle mit Root-Rechten ausführen und beispielsweise einen neuen Nutzer anlegen. Dies bewerkstelligt er, indem er einen Socket, also eine Schnittstelle, über welche Daten mit einem Programm ausgetauscht werden können, mit dem Namen sock;uid=0; erstellt und diesen mit Snapd verbindet. Die übergebene UID 0 ist die Root-Benutzer-ID. Diese wird von Snapd übernommen; es lassen sich Befehle als Root ausführen.

Um die Lücke ausnutzen zu können, muss ein Angreifer bereits Zugriff auf ein Ubuntu-System haben. Beispielsweise kann ein Benutzer in einem Multi-User-System Root-Rechte erlangen und das Betriebssystem kontrollieren sowie die Daten der anderen Nutzer einsehen und verändern. Ein anderes Beispiel ist die Kombination mehrerer Sicherheitslücken, das sogenannte Chaining. Mit einer Sicherheitslücke gelangt ein Angreifer auf das System, mit einer weiteren erlangt er Root-Rechte.

Python-Scripts veröffentlicht

Moberly hat zwei Methoden entwickelt, um Code als Root auszuführen. Zu beiden Methoden hat er Proof-of-Concept-Python-Scripts auf Github veröffentlicht. In einer ersten Variante verwendet er die create-user-API von Snapd. Um diese auszunutzen, benötigt er jedoch eine Internetverbindung und das Programm adduser, um einen neuen Benutzer zu erstellen. Manche Linux-Distributionen verwenden jedoch das Programm useradd anstatt adduser - seine erste Methode funktioniert dann nicht mehr. Um noch mehr Fälle abzudecken, entwickelte er eine zweite Methode, bei der er ein Snap-Paket im "devmode" erstellt, bei welchem er ein Bash-Script ausführen kann. Dieses dient jedoch nur als Vehikel, um den Code zu transportieren, auch hier nutzt er die oben genannte Sicherheitslücke aus.



Anzeige
Top-Angebote
  1. 79,00€
  2. 999,00€ + Versand
  3. (u. a. GTA 5 12,49€, GTA Online Cash Card 1,79€)
  4. (aktuell u. a. Dell-Notebook 519€, Dell USB-DVD-Brenner 34,99€)

elcaron 18. Feb 2019

Dann review mit der gesparten Zeit halt den fremden Code. Nichttriviale Features (und...

bionade24 17. Feb 2019

Das Dockerfile und das Github-Repo werden nur bei Automated builds angezeigt, heißt ich...


Folgen Sie uns
       


AMD Ryzen 9 3900X und Ryzen 7 3700X - Test

Wir testen den Ryzen 9 3900X mit zwölf Kernen und den Ryzen 7 3700X mit acht Kernen. Beide passen in den Sockel AM4, nutzen DDR4-3200-Speicher und basieren auf der Zen-2-Architektur mit 7-nm-Fertigung.

AMD Ryzen 9 3900X und Ryzen 7 3700X - Test Video aufrufen
Erasure Coding: Das Ende von Raid kommt durch Mathematik
Erasure Coding
Das Ende von Raid kommt durch Mathematik

In vielen Anwendungsszenarien sind Raid-Systeme mittlerweile nicht mehr die optimale Lösung. Zu langsam und starr sind sie. Abhilfe schaffen können mathematische Verfahren wie Erasure Coding. Noch existieren für beide Techniken Anwendungsgebiete. Am Ende wird Raid aber wohl verschwinden.
Eine Analyse von Oliver Nickel

  1. Agentur für Cybersicherheit Cyberwaffen-Entwicklung zieht in den Osten Deutschlands
  2. Yahoo Richterin lässt Vergleich zu Datenleck platzen

Raumfahrt: Galileo-Satellitennavigation ist vollständig ausgefallen
Raumfahrt
Galileo-Satellitennavigation ist vollständig ausgefallen

Seit Donnerstag senden die Satelliten des Galileo-Systems keine Daten mehr an die Navigationssysteme. SAR-Notfallbenachrichtigungen sollen aber noch funktionieren. Offenbar ist ein Systemfehler in einer Bodenstation die Ursache. Nach fünf Tagen wurde die Störung behoben.


    Radeon RX 5700 (XT) im Test: AMDs günstige Navi-Karten sind auch super
    Radeon RX 5700 (XT) im Test
    AMDs günstige Navi-Karten sind auch super

    Die Radeon RX 5700 (XT) liefern nach einer Preissenkung vor dem Launch eine gute Leistung ab: Wer auf Hardware-Raytracing verzichten kann, erhält zwei empfehlenswerte Navi-Grafikkarten. Bei der Energie-Effizienz hapert es aber trotz moderner 7-nm-Technik immer noch etwas.
    Ein Test von Marc Sauter

    1. Navi 14 Radeon RX 5600 (XT) könnte 1.536 Shader haben
    2. Radeon RX 5700 (XT) AMD senkt Navi-Preise noch vor Launch
    3. AMD Freier Navi-Treiber in Mesa eingepflegt

      •  /