Sicherheitsforscher des Sentinel Labs haben in den neuesten Versionen des Cobalt Strike-Servers des beliebten Hacker-Tools mehrere Denial-of-Service-Schwachstellen (CVE-2021-36798) gefunden. Die Schwachstellen können dazu führen, dass bestehende Beacons nicht mehr mit dem C2-Server kommunizieren, neue Beacons nicht mehr installiert und laufende Operationen gestört werden können.
Die Forscher haben eine neue Python-Bibliothek veröffentlicht, um die Beacon-Kommunikation allgemein zu analysieren und die Security Community zu unterstützen. Die Schwachstelle wurde an die Betreiberfirma Helpsystems gemeldet und inzwischen gepatcht.
Cobalt Strike ist eines, wenn nicht sogar das beliebteste Angriffs-Framework, das für „Red Team Operations“ entwickelt wurde. Einerseits verwenden viele Red Teams Cobalt Strike, aber andererseits nutzen es auch viele Cyberkriminelle. Bereits zuvor gab es eine bekannte Schwachstelle in Cobalt Strike.
Für ein tieferes Verständnis der Kommunikationsinterna von Beacon lohnt es sich, den Bericht von der nccgroup zu lesen. In der Praxis ermöglichte die Schwachstelle, die den Namen „Hotcobalt“ erhielt, die Remote Code-Ausführung auf dem Server.
Die Forscher konnten in einem Test die Größe eines Screenshots verändern und mit einem gefälschten Beacon mit dem Cobalt Strike Server kommunizieren und ihn mit einem speziellen POC Python Skript überlasten. Das Skript analysiert die Konfiguration des Beacons und verwendet die darin gespeicherten Informationen, um einen neuen zufälligen Beacon auf dem Server zu registrieren.
Nach der Registrierung des Beacons wird das oben gefundene Primitiv verwendet, um iterativ gefälschte Aufgabenantworten zu senden, die jedes bisschen verfügbaren Speicher aus dem Webserver-Thread des C2 ausnutzen. Dies führt zum Absturz des Web-Threads des Servers, der den HTTP-Stager und Beacon-Kommunikation verarbeitet.
Auf diese Weise kann ein böswilliger Akteur auf dem Rechner, auf dem der Cobalt-Server läuft, die Speicherkapazität erschöpfen, so dass der Server nicht mehr reagiert, bis er neu gestartet wird. Dies bedeutet, dass Live-Beacon nicht mit ihrem C2 kommunizieren können, bis die Betreiber den Server neu starten.
Ein Neustart reicht jedoch nicht aus, um sich gegen diese Schwachstelle zu schützen, da es möglich ist, den Server wiederholt anzugreifen, bis er gepatcht oder die Konfiguration des Beacons geändert wird. In beiden Fällen werden die vorhandenen Live-Beacons obsolet, da sie nicht mehr mit dem Server kommunizieren können, bis sie mit der neuen Konfiguration aktualisiert werden. Daher kann diese Schwachstelle den laufenden Betrieb erheblich beeinträchtigen.