Offensive Services

Linux Sicherheitslücken – Wie Kleinkinder Linux hackten!

Aktualisiert am

Manchmal ist es sprichwörtlich kinderleicht Linux Sicherheitslücken zu finden. So fanden die spielenden Kinder des Github-Benutzers robo2bobo einen Weg, Linux-Screensaver und Passwortschutz zu umgehen. Solche Zufallsfunde passieren immer mal wieder, aber diese lassen sich automatisiert testen. Wir zeigen Ihnen, was genau passiert ist und was das ganze dem Begriff Fuzzing zu tun hat.

Kinderleichte Linux Sicherheitslücken

Die Entdeckung dieser Linux Sicherheitslücke beginnt mit den spielenden Kindern des Github-Benutzers robo2bobo. Als seine Kinder mit seinem gesperrten Linux-Laptop spielten, tippten diese Wild auf der Tastatur und der virtuellen Bildschirmtastatur herum und auf einmal stürzte der Bildschirmschoner des Laptops ab und ohne die Eingabe seines Passworts war dieser entsperrt.

Das erregte doch die Aufmerksamkeit des Github-Benutzers robo2bobo und dieser meldete das soeben passierte an die Entwickler des Cinamon-Screensaver. Auf den ersten Blick wurde noch nicht ganz klar, was genau passiert war, aber nach einigen Nachforschungen der Entwickler wurde klar, dass der Bildschirmschoner bei der Eingabe des Buchstaben “ē” über die virtuelle Tastatur abstürzt und der Benutzer damit direkt angemeldet am System ist.

In einer Linux Umgebung dient der Bildschirmschoner gleichzeitig zum Schutz vor unberechtigten Zugriff auf einen Rechner. Das bedeutet der Bildschirmschoner übernimmt ebenfalls die Aufgabe des Anmeldebildschirms. Wenn nun eine Möglichkeit gefunden wird diesen Bildschirmschoner zum Absturz zu bringen, wird ebenfalls die Zugangskontrolle umgangen. Daher sind solche Schwachstellen immer sehr kritisch für eine solche Software.

Gezielt Sicherheitslücken identifizieren mittels Fuzzing

Normalerweise finden solche Linux Schwachstellen selten Kinder beim einfachen “herum tippen” auf der Tastatur. Aber wie in unserem Beispiel passiert dies manchmal. Das liegt daran, dass dieses einfache und zufällige Tippen einer wichtigen im Technik zum Auffinden von Sicherheitslücken sehr ähnelt – Dem Fuzzing. Unter Fuzzing versteht man eine Technik, bei der einer Anwendung automatisiert zufällige große Datenmengen zur Verarbeitung gegeben werden. Das Fuzzing Programm überwacht dabei die Ausführung des zu testenden Programms und versucht durch immer neue zufällige Eingaben das Programm zum Absturz zu bringen.

Fuzzing ist einer der wichtigsten Techniken beim Entdecken von Sicherheitslücken in Software,  ein prominentes Beispiel welches durch Fuzzing entdeckt wurde war beispielsweise eine Sicherheitslücke in Raptor über die wir bereits berichteten. Durch Fuzzing werden größtenteils Linux Sicherheitslücken entdeckt welche auf Fehlerhaften Speicherzugriffen basieren wie Buffer-Overflows.

Fuzzing von Webseiten

Neben Linux Sicherheitslücken können mit Hilfe von Fuzzing aber auch Webanwendungen auf Schwachstellen hin untersucht werden. Viele der Tools, welche wir bereits vorgestellt haben nutzen Techniken des Fuzzings um Schwachstellen wie SQL-Injections oder Cross-Site-Scripting zu identifizieren. Während der von unseren Pentester:innen durchgeführten Untersuchungen und Penetrationstests werden daher standardmäßig solche Techniken verwendet. Dadurch ermöglicht es Ihnen alle kritischen Komponenten vollumfänglich auf Schwachstellen hinzu untersuchen.

Foto des Autors

Vincent Reckendrees

Hallo, ich bin Vincent Reckendrees und leite das Team Offensive Services bei der AWARE7 GmbH. In meinem Bachelor und Master Studium habe ich mich auf IT-Sicherheit spezialisiert und BSI zertifizierter IS-Penetrationstester. Meine Leidenschaft gilt Reverse Engineering, Hardware- und Web-Sicherheit. Als Experte für Penetrationstests finde ich Schwachstellen in Systemen und Netzwerken und nutze sie, um realistische Cyberangriffe zu simulieren und Sicherheitsmaßnahmen zu verbessern. Durch Reverse Engineering entdecke ich Fehler und Verbesserungsmöglichkeiten in Software und Hardware. Meine Fähigkeiten in Hardware- und Web-Sicherheit ermöglichen es mir, physische Geräte und Online-Plattformen vor einer Vielzahl von Cyberbedrohungen zu schützen und ihre Integrität und Zuverlässigkeit zu gewährleisten.