MS-SQL: Betriebssystem Übernahme durch xp_cmdshell und CLR-Assembly

Table of Contents

Microsoft SQL Server (MS-SQL) sind ein bevorzugtes Ziel für Brute-Force-Angriffe. Ein Blogbeitrag von secoia.io zeigt auf warum das so ist. Die MS-SQL Features xp_cmdshell und CLR-Assembly erlauben es Angreifern, Rechte zu eskalieren und Befehle auf Betriebssystemebene auszuführen - ideale Vorraussetzungen für Ransomware und Malware Deployments.

Exploit-Muster

1. Aktivierung von „TRUSTWORTHY“ und „clr enabled“ Parametern

Die Angreifer aktivieren die „TRUSTWORTHY“-Parameter für die Master-Datenbank, die standardmäßig deaktiviert sind. Diese Parameter ermöglichen es Datenbankbenutzern, andere Benutzer mit der Anweisung EXECUTE AS zu imitieren. Zusätzlich wird der Parameter „clr enabled“ aktiviert, der es dem SQL Server erlaubt, benutzerdefinierte Assemblies auszuführen. Die Aktivierung beider Parameter ist eine Voraussetzung für die Ausnutzung von CLR Assembly.

2. Erstellen einer „shell“-Assembly

Die Angreifer erstellen eine Assembly namens „shell“ und speichern sie in der „msdb“-Datenbank mit „Unsafe“-Berechtigungen. Diese Assembly ist eine .NET-DLL, die eine Klasse namens StoredProcedure enthält, welche die Funktion cmd_exec beinhaltet. Diese Funktion führt Befehle aus, die ihr über cmd.exe als Parameter übergeben werden. Diese Assembly entspricht einem CLR SqlShell-Malware, die von Asec im Zusammenhang mit der Kompromittierung eines MS-SQL-Servers durch die Trigona-Ransomware dokumentiert wurde.

3. Erstellen und Ausführen von gespeicherten Prozeduren

Die Angreifer erstellen eine gespeicherte Prozedur namens cmd_exec, die die SqlShell-Malware aufruft. Diese Prozedur führt dann folgende Aktionen aus:

  • Erstellen eines PowerShell-Skripts mittels echo und redirect, das eine Binärdatei herunterlädt und im ProgramData-Ordner speichert.
  • Ausführen des Skripts mit PowerShell.
  • Ausführen der Binärdatei mit WMIC.

Obwohl die weitere Ausführung durch Microsoft Defender blockiert wird, bleibt unklar, ob die nachfolgenden Aktionen iterativ durch das Skript ausgeführt werden oder ob sie aufgrund der Blockierung des vorherigen Befehls ausgeführt werden.

4. Nutzung von xp_cmdshell und OLE Automation Procedures

Die Angreifer aktivieren die Parameter xp_cmdshell, um dem SQL Server zu ermöglichen, eine Windows-Befehlszeile zu starten und einen String zur Ausführung zu übergeben. Dies ist eine bekannte Technik, die von Angreifern zur Kompromittierung von MS-SQL-Servern verwendet wird. Sie nutzen xp_cmdshell, um denselben Befehl wie im ersten Fall auszuführen und aktivieren zusätzlich die Ole Automation Procedures, um dem SQL Server die Interaktion mit anderen COM-Objekten zu ermöglichen.

5. Erstellen und Ausführen von OLE-Objekten

Schließlich erstellen die Angreifer ein OLE-Objekt namens wscript.shell mittels sp_oacreate und rufen dieses Objekt dann über sp_oamethod auf, um beliebige Befehle auf dem zugrunde liegenden Betriebssystem auszuführen.

Die Kombination aus den oben beschriebenen Exploit-Mustern und der Flexibilität von MS-SQL-Servern macht sie zu einem attraktiven Ziel für Hacker. Die Möglichkeit, erweiterte Rechte zu erlangen und beliebige Befehle auf dem Betriebssystem auszuführen, bietet Angreifern eine mächtige Plattform für weitergehende Angriffe und die Verbreitung von Malware. Organisationen, die MS-SQL-Server verwenden, sollten daher aufpassen, dass Ihre Datenbanken ausreichend sichere Passwörter haben und idealerweise hinter einem Schutz vor Brute-Force Rateangriffen versteckt sind.

Related Posts

Sicherheitslücke in Linksys-Routern ermöglicht Command Injection

Am 6. Mai 2024 wurden zwei Sicherheitslücken in Linksys-Routern entdeckt: CVE-2024-33788 und CVE-2024-33789. Diese Schwachstellen betreffen die Möglichkeit zur Command Injection in Linksys-Routern. Die Schwere dieser Sicherheitslücken hat laut BSI einen CVSS Base Score von 9.8/10, aber ein Proof-of-Concept wurde bereits veröffentlicht.

Read More

DNS-Tunneling: verdeckte Kommunikation und Tracking möglich

Eine Fallstudie von Unit42 zeigt zwei Anwendungen von DNS-Tunneling die über die bisher bekannten Verwendungen von DNS-Tunneling für Command-and-Control (C2) und virtuelle private Netzwerke (VPN) hinausgehen.

Read More

VMware schließt mehrere Sicherheitslücken in Workstation und Fusion

VMware hat Updates für VMware Workstation und Fusion veröffentlicht, die mehrere kritische Sicherheitslücken beheben. Diese Sicherheitsanfälligkeiten wurden als CVE-2024-22267, CVE-2024-22268, CVE-2024-22269 und CVE-2024-22270 identifiziert und am 14. Mai 2024 bekannt gegeben.

Read More