🚨 Disclosure: Zero-Day-Sicherheitslücken in den Microsoft Sysinternals-Tools enthüllt 🚨

You are currently viewing 🚨 Disclosure: Zero-Day-Sicherheitslücken in den Microsoft Sysinternals-Tools enthüllt 🚨

Ich habe kritische Schwachstellen in nahezu allen Sysinternals-Tools identifiziert, verifiziert und in einem Video die Hintergründe und den Angriff vorgestellt. Eine Zusammenfassung zur Schwachstelle sowie den Link zum Video findet ihr hier in diesem Blogpost.

Diese Tools, entwickelt von Microsoft, sind in der IT-Administration weit verbreitet und werden oft zur Analyse und Fehlersuche eingesetzt. Die im Video demonstrierte Schwachstelle betrifft zahlreiche Anwendungen der Suite und ermöglicht es Angreifern, mithilfe von DLL-Injection schadhaften Code einzuschleusen und auszuführen.

Nachdem nun mehr als 90 Tage seit der Erstmeldung an Microsoft verstrichen sind, ist es an der Zeit darüber zu reden.

Seht euch das Video hier an: https://youtu.be/Hg81N0HAgCg

Was sind die Sysinternals-Tools?

Die Sysinternals-Tools sind eine Sammlung von nützlichen Dienstprogrammen, die IT-Administratoren und Entwickler bei der Analyse von Windows-Systemen unterstützen. Sie umfassen Tools wie Process ExplorerAutorunsBginfo und viele mehr. Diese Werkzeuge ermöglichen tiefe Einblicke in Prozesse, Dienste und Konfigurationen von Windows-Systemen. Allerdings sind sie nicht automatisch über die Windows-Update-Funktion aktualisierbar, was ein erhebliches Risiko darstellt, wenn Sicherheitslücken auftreten und die Tools manuell hinsichtlich Aktualisierungen überwacht werden müssen.

Sysinternals-Tools vs. Malware

In vielen Beiträgen (z.B. hier oder hier) werden die Sysinternal-Tools auch als Unterstützungswerkzeuge bei Malwareanalysen beschrieben. So kann der Process-Explorer alle geladenen DLL einer Programmdatei aufzeigen und potentiell unerwünschte geladene DLL-Dateien identifizieren. Es ist jedoch schon mit einer gewissen Ironie verbunden, wenn die Tools der Sysinternals selber Schwachstellen in der DLL-Verarbeitung aufweisen und somit selber Ziel von Angriffen werden können…

Die Zero-Day-Schwachstelle

Die entdeckte Schwachstelle betrifft die Art und Weise, wie die Sysinternals-Tools DLL-Dateien laden. Viele Anwendungen durchsuchen dabei das aktuelle Arbeitsverzeichnis (CWD) oder andere definierte Pfade, bevor sie auf vertrauenswürdige Systempfade zugreifen. Dies ermöglicht es Angreifern, schadhafte DLL-Dateien im gleichen Verzeichnis wie die ausführbare Datei zu platzieren, die dann unbemerkt geladen werden.

Für meine Recherchen und Untersuchungen habe ich neben der Anwendung „Process Explorer“ und „Listdlls“ auch das Tool „systeminformer“ genutzt.

Hier ein Auszug wie mit „Listdlls“ geladene DLLs von einem Prozess angezeigt werden können:

Beispiel: Wie die Schwachstelle ausgenutzt wird

Ein Angreifer kann eine schadhafte DLL-Datei zusammen mit einer legitimen Anwendung wie Bginfo.exe auf einem Netzwerkspeicherplatz (z. B. \\server1\share2\) ablegen. Wenn ein Benutzer die Anwendung von diesem Verzeichnis aus startet, wird die schadhafte DLL geladen und der Code des Angreifers innerhalb der Anwendung ausgeführt. Dies könnte zur vollständigen Kompromittierung des Systems führen.

Ablauf des Angriffs:

  1. Der Angreifer erstellt eine schadhafte DLL (z. B. cryptbase.dll oder TextShaping.dll), die eine Schwachstelle in der Anwendung ausnutzt.
  2. Diese DLL wird in dasselbe Verzeichnis wie die legitime ausführbare Datei kopiert.
  3. Der Benutzer führt die Anwendung aus, wodurch die schadhafte DLL anstelle der originalen geladen wird.
  4. Der Code der schadhaften DLL wird mit den Rechten des Benutzers ausgeführt.

Platzierung der DLL und Start der Anwendung im selben Verzeichnis:

Anwendung wird gestartet und die DLL geladen (DLL-Funktion hier: „Taschenrechner“ wurde erfolgreich ausgeführt –> Code-Execution erfolgreich):

Meine Sicherheitsanalyse hat ergeben, dass nicht alle DLL unsicher verarbeitet werden. Einen Überblick über die von mir erfolgreich getesteten DLLs findet ihr weiter unten im Beitrag.

Austausch mit Microsoft

Die Schwachstelle wurde am 28.10.2024 ordnungsgemäß an Microsoft gemeldet, doch trotz des Austauschs bleibt die Problematik ungelöst.

Microsoft klassifizierte die Schwachstelle als „Defense-in-Depth“-Problem und nicht als kritisch. In meinem Video diskutiere ich die Kommunikation im Detail und zeige, warum diese Einstufung problematisch ist. Microsoft redet vom Programmverzeichnis aber ich rede (auch) von Netzlaufwerken. In diesen Fällen wird das Netzlaufwerk zum CWD für die Anwendung.

Einen älteren Artikel zur Triage von DLL-Schwachstellen welcher auf die Problematik eingeht hat Microsoft hier veröffentlicht.

Dem eigenen Leitfaden von Microsoft zu Folge sind DLLs die aus Shares als CWD verarbeitet werden ein ernstes Sicherheitsrisiko.

Maßnahmen zur Absicherung

Da Microsoft selbst nach der Aktualisierung eines Tools im Dezember (Link zum Sysinternals-Blog) die Sicherheitslücken immer noch nicht geschlossen hat gibt es aktuell nur mitigierende Maßnahmen.

Um sich vor Angriffen durch diese Schwachstelle zu schützen, können Administratoren und Benutzer ggf. folgende Vorsichtsmaßnahmen ergreifen:

  1. Tools nicht direkt von Netzwerkspeichern ausführen: Kopieren Sie die ausführbaren Dateien auf einen lokalen Pfad.
  2. Anwendungsintegrität sicherstellen: Verwenden Sie Sicherheitslösungen die sicherzustellen, dass nur vertrauenswürdige DLLs geladen werden.
  3. Überprüfen Sie Ihre Umgebung auf betroffene Tools: Nutzen Sie das bereitgestellte Test-Sheet, um anfällige Anwendungen zu identifizieren.

Hier geht es zum Testsheet

Demonstration und Test-Sheet

Im Video demonstriere ich die Schwachstelle live an Tools wie Process Explorer und Bginfo. Zudem stelle ich ein umfassendes Test-Sheet bereit, das zeigt, welche Tools für DLL-Injection anfällig sind. Hier einige der betroffenen Tools:

  • Process Explorer (procexp.exe, procexp64.exe)
  • Autoruns (autoruns.exe, autoruns64.exe)
  • Bginfo (bginfo.exe, bginfo64.exe)
  • Weitere Tools sind im Test-Sheet aufgelistet (so ziemlich alle restlichen…)

Zusammenfassen kann gesagt werden, dass nahezu alle Tools aus den Sysinternal Tools durchgehend hinsichtlich den DLL-Injection-Schwachstellen verwundbar sind.

Real-Life-Szenario: Trojaner über Bginfo

Ein besonders kritisches Beispiel wird von mir in meinem Video anhand vom Tool Bginfo gezeigt. Dieses wird oft in Unternehmensumgebungen verwendet, um Systeminformationen auf Desktops darzustellen. Im Video wird demonstriert wie ein Trojaner über eine schadhafte DLL mittels dem Tool Bginfo gestartet wird. Hierbei starte ich Bginfo mittels Powershell.

Der Aufruf von Bginfo kann z.B. beim Hochfahren in einem Startscript auf dem Rechner wie folgt ablaufen:

<Netzwerkpfad>/Bginfo.exe /timer=0

Hierbei wird das Tool vom Netzwerkpfad gestartet. Der Befehl timer=0 unterdrückt den Konfigurationsdialog und die im Netzlaufwerk platzierte DLL wird direkt geladen und ausgeführt.

Ist der Netzpfad jedoch mit einer präparierten DLL versehen, so kann jeder Client beim Startvorgang automatisiert kompromittiert werden. In diesem Fall wird das Bginfo-Tool vom Netzlaufwerk geladen und der Meterpreter aus der DLL geladen und gestartet:

Fazit

Die aufgedeckte Zero-Day-Schwachstelle zeigt, wie wichtig es ist, die Sicherheit auch bei vertrauenswürdigen Tools nicht zu vernachlässigen. Die Sysinternals-Tools sind mächtige Werkzeuge, doch ihre Anfälligkeit für DLL-Injection-Angriffe macht sie zu einem Ziel für Angreifer.

Support

Ich habe für die Meldung der Sicherheitslücke keine Bug-Bounty erhalten, da sich Microsoft hinsichtlich Scope und Klassifizierung aus der Affäre zieht. Ich bin dankbar wenn sich Unterstützer meiner Arbeit in Form einer kleinen Spende erkenntlich zeigen würden:

💰Paypal: paypal.me/Einstein2150
💰ETH: 0xB25575423852AD370bD22B91C3683Dc80885C5fa
💰BTC: bc1q6pdev09mpp8ngn52gv8v9y6ygjzck3ksnc3y5x

👉 Folgt mir und abonniert meinen YouTube-Kanal, um sicherzustellen, dass ihr aktuelle Security-Tutorials und News im Bereich der IT-Security nicht verpasst!

🎥 Youtube: https://www.youtube.com/@rsfotovideoit

#CyberSecurity #ZeroDay #Microsoft #Sysinternals #ITSecurity #Exploit #AdminTools #WindowsSecurity

PS:

hier gehts zum IT-Security-Bereich meiner Seite

Dieser Beitrag hat 4 Kommentare

Kommentare sind geschlossen.