Ein mehrstufiger Ansatz zur Identifizierung betrügerischer Cobalt Strike-Server
Klicken Sie hier , um die komplette Analyse als PDF herunterzuladen.
Recorded Future bewertete Änderungen an Cobalt-Strike-Servern im freien Wildbahn, nachdem mehrere Methoden zur Erkennung von Cobalt-Strike-Servern öffentlich bekannt geworden waren. In unserer Analyse haben wir eine Bewertung verschiedener Methoden durchgeführt und darauf basierend eine kombinierte Analyse erstellt, um festzustellen, ob Benutzer ihre Konfigurationen geändert haben, um eine Erkennung zu vermeiden. Zu den Quellen gehören die Recorded Future ® -Plattform, BinaryEdge, Censys, OpenData von Rapid7 Lab, Shodan, GreyNoise, ReversingLabs, VirusTotal, Farsight DNS und andere Open-Quellen. Dieser Bericht dürfte vor allem für Organisationen von Interesse sein, die ihre Reaktionszeiten verkürzen möchten, sowie für Analysten, die regelmäßig mit Cobalt Strike-Vorfällen zu tun haben.
Executive Summary
Cobalt Strike ist eine Exploit-Plattform, die für den Einsatz durch Sicherheitsexperten entwickelt wurde, um gezielte Angriffe und Post-Exploit-Aktionen durch fortgeschrittene Angreifer zu simulieren. Das von Strategic Cyber LLC, einem Unternehmen mit Sitz in Washington, DC, entwickelte und lizenzierte Tool wird auf illegale Nutzung durch das Unternehmen überwacht und unterliegt Exportkontrollen. Trotzdem ist das Cobalt Strike-Framework zu einer beliebten Option unter den verschiedenen Softwareprogrammen dieser Art geworden, zu denen auch andere kostenpflichtige Suiten wie Metasploit Pro, Core Impact und andere gehören. Obwohl Cobalt Strike nicht die einzige Plattform dieser Art ist, die von nicht lizenzierten Benutzern und Kriminellen genutzt wird, wurde es von einer Reihe von Bedrohungsgruppen eingesetzt. Dazu gehören APT32, das das Tool für erste Angriffe verwendet hat, und die gleichnamige Cobalt Group, die sich in hohem Maße auf das Framework verlassen hat.
Angesichts der erheblichen Nutzung der Cobalt Strike-Plattform durch Sicherheitstester – und, was noch wichtiger ist, durch böswillige Angreifer – ist die Notwendigkeit der Erkennung von Cobalt Strike-Serververbindungen zu Netzwerkressourcen des Unternehmens offensichtlich.
Obwohl die Erkennungsmethode öffentlich ist, hat Recorded Future beobachtet, dass die Cobalt Strike-Server größtenteils ungepatcht blieben, was die Erstellung von Fingerprints und die anschließende Erkennung ermöglichte. Mithilfe dieser Methodik und anderen Erkennungsmöglichkeiten konnte Recorded Future Stichproben von in freier Wildbahn gefundenen Cobalt Strike-Servern nehmen und Fingerprinting-Methoden vergleichen, um Verteidigern dabei zu helfen, dieses Framework optimal zu verfolgen und zu überwachen. Durch die Verfolgung der Cobalt-Strike-Server können blaue Teams die Aktivität der roten Teams erkennen und die Aktivität von Gegnern eindämmen, die ihre Cobalt-Strike-Team-Server nicht geändert haben.
Wichtige Urteile
Die Cobalt Strike-Server sind trotz Patches, die bestimmte Fingerprinting-Methoden erschweren, weiterhin recht exponiert und relativ leicht zu erkennen. Viele Cobalt Strike-Server, die vor der Veröffentlichung des Patches in Betrieb waren, haben ihre Systeme nicht aktualisiert, während bei neueren Bereitstellungen die aktualisierte Software verwendet wurde.
Bei kürzlich bereitgestellten Cobalt Strike-Servern ist es wahrscheinlicher, dass sie eine aktualisierte Cobalt Strike-Version (über 3.12) bereitstellen und dabei weiterhin das Standard-TLS-Zertifikat verwenden, das weiterhin einen zuverlässigen Erkennungsmechanismus darstellt.
Bei der Stichprobennahme von Recorded Future unter den aktuellen Cobalt-Strike-Servern im Vergleich zur Bedrohungsaktivität in der Vergangenheit stellte sich heraus, dass sowohl kriminelle als auch staatlich ausgerichtete Akteure standardmäßige, ungepatchte Cobalt-Strike-Konfigurationen verwendet haben. Dies geschah möglicherweise, um sich unter die anderen Cobalt-Strike-Server zu mischen, oder einfach, weil die Standardeinstellungen ohne Änderungen gut funktionieren und der Betreiber keinen Grund sieht, Änderungen vorzunehmen.
Die Erkennung von Cobalt Strike-Servern kann Verteidigern dabei helfen, Alarme in ihren Unternehmensnetzwerken zu erstellen und bietet so eine proaktive Maßnahme, um ihrem Red Team, kriminellen Machenschaften oder staatlich geförderten Gegnern einen Schritt voraus zu sein.
Hintergrund
Für Vorfallreaktions- und Sicherheitsbetriebsanalysten besteht heute vor allem die Feststellung darin, welche Sicherheitsereignisse oder -warnungen vorrangig überprüft werden müssen. Glücklicherweise kann die Anwendung präziser Bedrohungsinformationen auf einen SIEM-Workflow wie Splunk für die Identifizierung glaubwürdiger Bedrohungen wertvoll sein und sogar wichtige zusätzliche Kontexte aufdecken, sodass Sicherheitsteams proaktivere Maßnahmen ergreifen können. Beispielsweise wird eine Warnung an Ihr SIEM gesendet – es handelt sich um eine IP-Adresse, 89.105.198[.]28, das von einem Ihrer Endpunkte kontaktiert wurde. Was jetzt?
Recorded Future-Browsererweiterung.
Beim Öffnen der Recorded Future-Browsererweiterung auf der Splunk-Warnseite wird die IP 89.105.198[.]28 springt mit einem Risiko-Score von 93 an die Spitze (diese Feststellung wurde am 6. Mai 2019 getroffen und der Risiko-Score sinkt am 17. Mai 2019, wenn keine weitere böswillige Aktivität beobachtet wird). Diese Untersuchung ergab, dass die IP-Adresse zuvor von Sophos als Teil der MegaCortex-Ransomware-Kampagne unter Verwendung einer Cobalt Strike-Reverse-Shell gemeldet wurde.
Cobalt Strike ist eine von Raphael Mudge, dem Gründer von Strategic Cyber LLC, für Penetrationstester entwickelte Plattform zur Gegnersimulation. Es wurde für die Interoperabilität mit anderen Plattformen wie Metasploit, NMAP und Powershell Empire entwickelt und kann mit Armitage ausgeführt werden, einer grafischen Benutzeroberfläche (GUI), die von Mudge ursprünglich für Metasploit entwickelt wurde. Armitage und Cobalt Strike sind um einen Teamserver herum konzipiert, der den Informationsaustausch und die Möglichkeit zur Leitung und Ausführung gut koordinierter Aktionen ermöglicht.
Cobalt Strike ist für seine erweiterte Funktionalität bekannt, wird von zahlreichen Sicherheitsexperten übernommen und auch von kriminellen und staatlichen Stellen illegal verwendet. Wie MITRE erklärte: „Die interaktiven Post-Exploit-Funktionen von Cobalt Strike decken die gesamte Bandbreite an ATT&CK-Taktiken ab, die alle in einem einzigen, integrierten System ausgeführt werden.“ Das Framework war in den letzten drei Jahren ein zentraler Bestandteil der Bedrohungslandschaft und wurde häufig von kriminellen Gruppen, staatlich geförderten Akteuren und natürlich Penetrationstest-Teams verwendet.
Cobalt Strike-Nutzung über einen längeren Zeitraum. (Quelle: Aufgezeichnete Zukunft)
Cobalt Strike wird professionell gewartet und ist derzeit für eine Gebühr von 3.500 USD mit jährlicher Verlängerung unter Lizenz erhältlich. Zusätzlich zu den von den USA festgelegten Exportkontrollen versucht Strategic Cyber LLC, die Lizenzierung und Verwendung durch legitime Sicherheitsexperten streng zu beschränken und die Software von böswilligen Akteuren fernzuhalten, sodass sowohl Kriminelle als auch Unternehmen außerhalb der USA nur schwer in den Besitz der Software gelangen können.
Strategic Cyber LLC aktualisiert und patcht lizenzierte Versionen der Software regelmäßig. Jüngste Änderungen an den Serverkonfigurationen von Cobalt Strike sollen dazu beitragen, dass das Framework nicht entdeckt wird. Für Raubkopien der Software werden allerdings keine offiziellen Updates und Patches bereitgestellt.
Obwohl die Softwarelizenzen streng kontrolliert werden, gibt es bestätigte Fälle von Raubkopien von Cobalt Strike im Umlauf, häufig geknackte Testversionen. Zudem wurden zahlreiche Akteure aus der kriminellen Unterwelt dabei beobachtet, wie sie versuchten, diese zu erwerben oder weiterzugeben. Die geknackten Versionen verfügen jedoch möglicherweise über eigene zusätzliche „Funktionen“, wie z. B. Hintertüren, oder weisen gewisse Mängel auf. Ein Mitglied der Raid Forums hat am 5. April 2019 einen Link zu einer geknackten Kopie von Cobalt Strike 3.13 (der neuesten Version) gepostet, aber andere Mitglieder haben darauf hingewiesen, dass einige Funktionen fehlten und Teile der Software, die hätten entfernt werden sollen, wie z. B. EICAR, noch vorhanden waren. Legale Versionen von Cobalt Strike sind daher wertvoll. So wurde beispielsweise im letzten Jahr ein Mitglied des Maza-Forums dabei beobachtet, wie es einem Käufer in den USA 25.000 US-Dollar dafür bot, eine lizenzierte Kopie von Cobalt Strike zu erwerben und diese illegal an dieses Forumsmitglied zu übertragen.
Zurück zu unserer Untersuchung von 89.105.198[.]28, diese IP-Adresse wurde während eines MegaCortex-Vorfalls als Befehls- und Kontrollserver für eine Cobalt Strike-Reverse-Shell auf einem betroffenen Domänencontroller verwendet. Die Ransomware wurde dann über PSExec in der Umgebung verteilt. Die MegaCortex-Ransomware-Kampagne war zum Zeitpunkt dieser Analyse aktiv. Bei näherer Untersuchung der IP-Adresse stellt sich heraus, dass zur Verschlüsselung des Datenverkehrs das Standardsicherheitszertifikat des Cobalt Strike-Servers verwendet wird.
Dieser Fall betrifft 89.105.198[.]28 veranlasste Recorded Future, diese spezifische Cobalt-Strike-Aktivität zu untersuchen. Dies ermutigte die groß angelegte Cobalt-Strike-Forschung zusätzlich, nachdem das Sicherheitsunternehmen Fox-IT Erkenntnisse über die in den Cobalt-Strike-HTTP-Antworten und anderen öffentlichen Entdeckungen enthaltenen anomalen Bereiche gewonnen hatte, darunter die allgemeine Verwendung des standardmäßigen, vorkonfigurierten, selbstsignierten SSL/TLS-Zertifikats auf Cobalt-Strike-Servern. Server, die dieses Zertifikat einsetzen, können über Shodan oder Censys anhand des SHA256-Hashes oder der Seriennummer des Zertifikats erkannt werden.
Standardmäßiges Cobalt Strike SSL/TLS-Zertifikat.
Öffentliche Methoden zur Identifizierung von Cobalt Strike Team-Servern
Am 19. Februar 2019 veröffentlichte Strategic Cyber LLC (der Hersteller von Cobalt Strike) die Ergebnisse einer „ Cobalt Strike Team Server Population Study“. Die Studie wurde unter anderem durchgeführt, um den Lizenzstatus der entdeckten Cobalt Strike-Software zu ermitteln und etwaige wesentliche Änderungen an den aktuell verwendeten Softwareversionen zu identifizieren und zu analysieren.
In dieser Studie wurden mehrere Methoden ermittelt, mit denen sich Cobalt-Strike-Server in freier Wildbahn identifizieren lassen:
Cobalt Strike-Server werden mit einem Standardsicherheitszertifikat ausgeliefert, das zum Fingerabdruck verwendet werden kann, sofern der Administrator es nicht ändert.
SHA256: 87f2085c32b6a2cc709b365f55873e207a9caa10bffecf2fd16d3cf9d94d390c
Seriennummer: 146473198
Wenn aktiviert, antwortet der Cobalt Strike DNS-Server auf alle empfangenen DNS-Anfragen mit einer Bogon-IP (gefälschten IP): 0.0.0.0 (dies gilt nicht nur für Cobalt Strike-Server).
Der Standard-Controller-Port für Cobalt Strike Team Server ist 50050/TCP, ein Port, der auf anderen Servern wahrscheinlich nicht frei ist.
Die HTTP-Antwort „404 Nicht gefunden“ für Cobalt Strike ist einzigartig für NanoHTTPD-Webserver und kann erkannt werden.
Insgesamt ist die sicherste Methode in der obigen Liste das Fingerprinting von Cobalt-Strike-Servern mithilfe des Standardsicherheitszertifikats. Die übrigen Nachweismethoden sind weniger zuverlässig und können nur dann verlässlicher ermittelt werden, wenn sie mit anderen Methoden abgeglichen werden. Beispielsweise handelt es sich bei jedem Server, der Port 50050 verwendet und auch eine für NanoHTTPD-Webserver eindeutige HTTP-Antwort bereitstellt, eher um einen Cobalt Strike-Server als um einen Server, der lediglich eine HTTP-Antwortsignatur aufweist.
NanoHTTPD ist ein Open-Source-Webserver-Framework. NanoHTTPD-Server und Cobalt Strike-Server mit Version 3.12 und früher konnten anhand eines Nullleerzeichens in der HTTP-Antwort identifiziert werden, wobei auf „HTTP/1.1“ ein Leerzeichen (0x20) folgt, das in anderen Webserver-Antworten nicht gefunden wird. Jede HTTP-Antwort von einem Cobalt Strike-Server vor 3.13 enthält dieses Nullzeichen und ein Scanner, der HTTP-Server-Antworten abrufen kann, kann zum Suchen nach ihnen verwendet werden. Eine einfache manuelle Methode zum Identifizieren des oben genannten Nullraums kann mit einer Paketerfassung einer HTTP-Browserverbindung zu einem Cobalt Strike-Server erfolgen, in der der zusätzliche Raum leicht zu erkennen ist.
Da Cobalt-Strike-Instanzen, auf denen gecrackte Versionen laufen, weder aktualisiert noch gepatcht werden, bietet diese Methode zusätzlich die Möglichkeit, von Kriminellen betriebene Cobalt-Strike-Server zu entdecken.
Im Blogbeitrag von Strategic Cyber LLC wird eine andere Methode zur Identifizierung von Cobalt Strike-Servern nicht ausdrücklich erwähnt. Am 2. Januar 2019 wurde Cobalt Strike Version 3.13 veröffentlicht. In den Versionshinweisen zu Cobalt Strike heißt es, dass eine der Änderungen gegenüber früheren Versionen die Entfernung eines „überflüssigen Leerzeichens aus HTTP-Statusantworten“ war. Ein zusätzliches Nullbyte in der HTTP-Serverantwort von NanoHTTPD-Servern (einem Open Source-Webserver auf Java-Basis) betraf den Cobalt Strike Team Server, der erstmals 2012 veröffentlicht wurde und auf NanoHTTPD basiert.
Die am 26. Februar 2019 von der Sicherheitsfirma Fox-IT veröffentlichte Untersuchung zu Cobalt-Strike-Servern lieferte nicht nur Einzelheiten zur Identifizierung der Server vor Version 3.13 (die mit dem zusätzlichen Nullzeichen in der HTTP-Antwort antworten), sondern auch eine Liste von über siebentausend IPs, auf denen Cobalt-Strike-Server gehostet werden und die von 2015 bis 2019 mit dieser Erkennungsmethode beobachtet wurden, die in öffentlich verfügbaren Daten von Rapid7 gefunden wurde.
Paketerfassung, die zusätzliche Nullzeichen im HTTP-Header von einem Cobalt Strike-Server zeigt.
In ähnlicher Weise veröffentlichte das chinesische Sicherheitsforschungsteam von Knownsec am 27. Februar 2019 einen Blog , in dem es detailliert beschreibt, wie es die von Strategic Cyber LLC gemeldete NanoHTTPD 404 Not Found-Antwortanomalie sowie die Nullspace-Anomalie zur Identifizierung von Cobalt Strike-Servern nutzt. Sie fanden in den Daten ihrer zugehörigen Suchmaschinenplattform ZoomEye zwar weniger Server, kamen aber immer noch auf über dreitausend. Knownsec berichtete, dass der Open-Source-NanoHPPTD-Code, auf dem Cobalt Strike basiert, genau wie folgt reagiert:
HTTP/1.1 404 Nicht gefunden
Inhaltstyp: Text/Plain
Datum: Tag, TT Mmm JJJJ HH:MM:SS GMT
Inhaltslänge: 0
Knownsec stützte seine Erkennungslogik auf diese Erkenntnis. Knownsec stellte jedoch später auch fest, dass die Reihenfolge innerhalb der HTTP-Antwort tatsächlich unterschiedlich sein kann, nachdem in der Antwort einiger Cobalt Strike-Systeme „content-type“ nach „date“ angezeigt wurde.
Eine zuverlässige Methode zum Erkennen von Cobalt-Servern steht denjenigen zur Verfügung, die Zugriff auf detaillierte Daten zum Netzwerkverkehr haben. Das von drei Salesforce-Forschern entwickelte Open-Source- Projekt JA3 ermöglicht die Erkennung von verdächtigem HTTPS-Verkehr durch die Analyse der TLS-Aushandlung zwischen Servern und Clients. Die TLS/SSL-Version, akzeptierte Verschlüsselungssammlungen und elliptische Kurvendetails (wie etwa elliptische Kurvenpunktformate) können anhand eines Fingerabdrucks ermittelt werden, ähnlich wie ein Browser anhand seiner Version, Add-Ons und anderer browserspezifischer Funktionen anhand seines Fingerabdrucks ermittelt werden kann.
JA3-Signaturen sind für die Clientseite und JA3S-Signaturen sind für Server. Im Fall von Cobalt Strike wurden Fingerabdrücke für die TLS-Aushandlung durch das Client-Beacon (das den Windows-Socket zum Initiieren der Kommunikation verwendet) und Cobalt Strike-Server erstellt, die auf dem Betriebssystem Kali Linux laufen. Diese Fingerabdrücke müssten zusammen verwendet werden, um einen Cobalt Strike-Server zuverlässig zu erkennen. Obwohl diese Erkennungsmethode vom Cobalt Strike-Betreiber durch die Verwendung eines „Redirectors“ teilweise abgeschwächt werden kann, verwenden viele Cobalt Strike-Server keinen solchen Proxy.
JA3- und JA3S-Signaturen können mit Tools wie Zeek/Bro und Suricata verwendet werden. Daten aus diesen Netzwerkerkennungstools können anschließend in ein SIEM wie Splunk eingespeist werden. JA3- und JA3S-Signaturen sind im Github-Konto von Salesforce und aus anderen Quellen verfügbar.
Wie bei der Erkennung anderer Tools wie Metasploit, Powershell oder PsExec, die von Sicherheitsteams oder Administratoren verwendet werden können, sollten Netzwerkverteidiger die gebotene Sorgfalt walten lassen, wenn sie Hinweise auf Verbindungen innerhalb ihres Netzwerks zu einem Cobalt Strike-Server finden, da die Erkennung selbst die Absichten des Benutzers nicht aufdeckt. Die Identifizierung eines Cobalt Strike-Servers als den eines autorisierten Red Teams oder eines echten Gegners kann allein auf Grundlage des erkannten Datenverkehrs unmöglich sein.
Änderungen seit den Berichten von Fox-IT und Knownsec, in denen anomale HTTP-Antworten veröffentlicht wurden
Wir hatten erwartet, dass die Zahl der mit diesen Methoden identifizierten Cobalt-Strike-Server nach der Veröffentlichung von Informationen über die Erkennung von Cobalt-Strike-Servern durch Strategic Cyber LLC, Fox-IT und Knownsec Ende Februar 2019 zurückgehen würde. Darüber hinaus wurden die Betreiber von Cobalt Strike in ihrer im Februar durchgeführten Studie von Strategic Cyber LLC dazu angehalten, einen Apache- oder Nginx-Webserver als „Umleitung“ für die Weiterleitung ihres Datenverkehrs zu verwenden. Dadurch wird eine einfache Erkennung der Cobalt Strike-Server verhindert, indem anomale HTTP-Antworten, standardmäßige Sicherheitszertifikate und andere derartige Kennungen aus der Gleichung entfernt werden. Durch die Aktualisierung legitimer, lizenzierter Server auf Version 3.13 würde sich die Anzahl der mit der Methode des irrelevanten Nullraums gefundenen Server verringern. Da die Betreiber von Cobalt Strike jedoch mit den gut publizierten Erkennungsmethoden vertraut sind, dürfte sich auch die Anzahl der erkennbaren Server verringern.
Durch die Nachahmung der Methodik von Fox-IT zur Erkennung anomaler Nullräume in HTTP-Antworten konnte die Insikt Group einen deutlichen Rückgang der identifizierten Server feststellen. Im Februar 2019 wurden mithilfe der Daten von Rapid7 erstmals 388 Cobalt Strike-Server beobachtet. Die Zahl der erstmals mit dieser Methode entdeckten Cobalt-Strike-Server lag im April 2019 bei nur 90. Dies ist jedoch nur ein Teil der Geschichte; die Zahl älterer Cobalt Strike-Server, die mit dieser Methode sichtbar sind, ist zurückgegangen, allerdings weit weniger signifikant. 441 der in den Daten von Rapid7 beobachteten Server waren im April 2019 noch aktiv, das sind mehr als die 387, die zuletzt im Januar 2019 beobachtet wurden.
Durch die Analyse der Knownsec-Forschung zur Identifizierung von Cobalt Strike mit einer anderen HTTP-Erkennungsmethode hat die Insikt Group ihre Forschung mit denselben Daten der ZoomEye-Suchmaschine repliziert. Die Insikt Group identifizierte 1.580 Server, die im Jahr 2018 aktiv waren, und bis Mai 2019 nur 1.053.
Aktuelle Messwerte der einzelnen Cobalt Strike-Erkennungsparameter. (Januar 2019 bis Mai 2019)
Wie bereits erwähnt, basieren beide HTTP-Erkennungsmethoden auf Anomalien innerhalb von NanoHTTPD und nicht speziell auf Cobalt Strike-Systemen. Nicht für alle mit diesen Methoden erkannten Malware-Angriffe lagen bestätigende Daten vor, wie etwa ein offener Port 50050. Bei der Veränderung der Serveranzahl spielen auch andere Variablen eine Rolle. Cobalt Strike-Server können ihre IPs ändern und bleiben nicht immer für längere Zeit verfügbar. Obwohl es seit Januar 2019 einen Rückgang bei der Zahl neu gesichteter Cobalt Strike-Server gibt, deuten die Daten darauf hin, dass immer noch eine große Anzahl von Servern in Betrieb ist, die mit der HTTP-Nullspace-Anomaliemethode erkannt werden.
Identifizierung von Kobaltvorkommen durch kombinierte Erkennungsmethoden. (Januar 2019 bis Mai 2019)
Die Kombination der drei Erkennungen ermöglichte eine sehr sichere Einschätzung, dass es sich bei den Servern um das Hosten von Cobalt Strike handelt. Tatsächlich wurde bereits früher von allen sechs auf diese Weise identifizierten Servern berichtet, dass sie Cobalt Strike hosten und mit verschiedenen Cobalt Strike-Beacons kommunizieren. Die Verwendung des Standard-Cobalt-Strike stellt die beste Erkennungsmethode dar. Die Überwachung der kombinierten Nutzung von NanoHTTPD und des offenen Ports 50050 kann den Bereich der zu überwachenden IPs jedoch erheblich einschränken.
Bedrohungsanalyse
Durch die Verwendung der Methodik von Fox-IT und die Suche nach der Verwendung des standardmäßigen Cobalt Strike TLS-Zertifikats auf zugänglichen IPs versuchte Recorded Future, ein Profil der Cobalt Strike-Nutzung zu erstellen, nachdem Strategic Cyber LLC einen wichtigen Erkennungsmechanismus gepatcht hatte. Es ist zu beachten, dass die bevorstehende Methodik und Studie sichtbare Cobalt-Strike-Server verfolgt und keine Cobalt-Strike-Server berücksichtigen kann, die selbst durch einfache Änderungen der Erkennung entgehen.
Recorded Future ging bei dieser Untersuchung davon aus, dass die Erkenntnisse von Fox-IT zu einer Verschiebung der Einführung von Cobalt Strike hin zu neueren Versionen führen würden, was bis zu einem gewissen Grad auch geschehen ist. Obwohl Strategic Cyber LLC einen Patch zur Behebung dieser Erkennung und zur Veröffentlichung von IP-Adressen mit dem zusätzlichen Leerzeichen in der HTTP-Antwort bereitgestellt hat, scheinen Cobalt Strike-Bereitstellungen von vor dem Update nicht aktualisiert worden zu sein. Im Monat nach der Aktualisierung des Frameworks kam es zum stärksten Anstieg neu beobachteter Cobalt Strike-Server basierend auf der Erkennungsmethode von Fox-IT, wie sie auf die Datensätze von Rapid7 angewendet wurde. Diese Server waren durchschnittlich 70 Tage online.
Diese Erkennung erwies sich jedoch als unzuverlässig, da die Methode 248 Geräte in aufeinanderfolgenden CIDR-Bereichen auf AS 132839 fand, die NanoHTTPD auf Port 1443 verwendeten, der ausschließlich am 1. Februar 2019 aktiv war. Nach dem Entfernen dieser Anomalie deuten die Daten auf einen starken Rückgang bei der Erkennung neuer Cobalt Strike-Hosts mit NanoHTTPD hin. Dies kann daran liegen, dass es insgesamt weniger neue Cobalt Strike-Bereitstellungen gibt, kann aber auch auf die verwendete aktualisierte Software zurückzuführen sein.
Die zuletzt gesehenen Daten vom April 2019 deuten weitgehend darauf hin, dass zuvor bereitgestellte Cobalt Strike-Instanzen nicht entfernt oder aktualisiert wurden. Darüber hinaus zeigt die Zeit, die die Server online waren (basierend auf demselben Datensatz), keine erkennbare Veränderung bei den Servern, die weiterhin erkannt wurden; sie bewegt sich um den Durchschnitt des Datensatzes von 70 Tagen. Es gab jedoch einen Rückgang bei der Anzahl neuer Cobalt Strike-Server, die mit einem Nullzeichen im HTTP-Header gefunden wurden.
Die fortgesetzte Identifizierung von Cobalt-Strike-Servern, die eine veraltete Version des Frameworks (über das Nullzeichen im HTTP-Header) und die Standardkonfigurationen verwenden, kann darauf hinweisen, dass es sich bei einem großen Teil der Cobalt-Strike-Server um geknackte oder gestohlene Versionen handelt. Es kann auch daran liegen, dass die Betreiber keine Sicherheitspublikationen lesen, aber die Antwort ist möglicherweise einfacher: Die meisten Ziele suchen vermutlich nicht nach Cobalt-Strike-Servern und die Payloads sind nach wie vor wirksam. Warum also sollten sie ihr Verhalten ändern?
Stichproben von Cobalt Strike-Servern
Recorded Future hat eine Stichprobe der IP-Adressen genommen, bei denen wir im April 2019 Aktivität festgestellt haben, um sowohl die festgestellte Aktivität als auch die Erkennungsüberschneidungen zu untersuchen. Diese Server lassen sich in mehrere Kategorien einteilen: bestätigte Cobalt-Strike-Aktivitäten, mit anderer Schadsoftware verbundene Cobalt-Strike-Server, Cobalt-Strike-Server mit Verbindungen zu bekannten Bedrohungsgruppen und nicht gemeldete Cobalt-Strike-Server, die bislang weder in Bedrohungslisten noch in Berichten genannt wurden.
Mithilfe der eingesetzten Forschungsmethoden konnte nicht ermittelt werden, ob die analysierten Systeme lizenziert waren oder nicht. Ebenso wenig ließ sich feststellen, ob auf den Servern autorisierte Sicherheitstests oder illegale Angriffe durchgeführt wurden.
Bei einer Reihe von IP-Adressen kam es zu Überschneidungen in Signalen im Zusammenhang mit Cobalt Strike. Alle drei nutzten das Standardzertifikat, hatten den Cobalt-Strike-Controller-Port 50050 geöffnet und waren zuvor als Host für Cobalt-Strike-Beacons oder Meterpreter-Reverse-Proxys identifiziert worden. Es sollte noch einmal betont werden, dass bei Verwendung bestätigender Erkennungsmethoden eine höhere Genauigkeit der Erkennungen erreicht wird.
Die IP-Adresse 89.105.202.58 verwendete das Standardzertifikat Cobalt Strike. Frühere Ergebnisse von URLscan.io zeigen eine „HTTP 404 Not Found“-Antwort ohne Inhalt und mit reinem Text als Inhaltstyp, und der Shodan-Scan zeigt, dass Port 50050 geöffnet war, der den Cobalt Strike-Controller hosten kann. Der Twitter-Benutzer @Scumbots hat den Server zuvor als Host für einen Meterpreter-Reverse-Proxy identifiziert, der über ein Powershell-Skript kontaktiert wurde, das seit Februar 2019 auf PasteBin gehostet wird.
199.189.108.71 nutzte außerdem das Standardzertifikat von Cobalt Strike, hatte Port 50050 geöffnet und war zuvor vom Twitter-Benutzer @Scumbots als Host eines Meterpreter-Reverse-Proxys identifiziert worden, der außerdem eine base64-codierte Powershell nutzte, um die Ausführung zu verschleiern.
Die IP 31.220.43.11 wurde mithilfe des Basiszertifikats von Cobalt Strike identifiziert und durch die Öffnung des Ports 50050 auf dem Server bestätigt. Es wurde beobachtet, dass ein Meterepreter-Beispiel HTTP-Verkehr in einer Befehls- und Kontrollfunktion an die IP sendet. Den Daten von Shodan zufolge sind bei der IP zahlreiche Ports geöffnet und sie ist anfällig für eine Reihe von Exploits, was darauf hinweisen könnte, dass der Host kompromittiert wurde, um andere Schadsoftware bereitzustellen. Die IP hostet zum Zeitpunkt der Analyse eine einzelne Domäne: cob.ozersk[.]today.
Zahlreiche IPs nutzten das Standardzertifikat Cobalt Strike und waren zuvor mit FIN6-Aktivitäten in Verbindung gebracht worden, sowohl für die Bereitstellung von Ransomware als auch für den anfänglichen Angriffsvektor zur Verbreitung von Point-of-Sale- Malware. Zum Zeitpunkt dieser Analyse waren beide Cobalt Strike Team-Server aktiv, obwohl die Kampagne öffentlich beendet wurde. Dies spricht dafür, dass FIN6 nach seinen Operationen keinen Bedarf an Aufräumarbeiten hatte und auch für die Geschwindigkeit, mit der die Operation abgebrochen wurde.
Interessanterweise war einer der Server zwar mit allen drei Methoden erkennbar, einer der Server war jedoch für den zusätzlichen NanoHTTPD-Speicherplatz gepatcht worden. Dies bedeutet, dass entweder der Standard-Webserver neu konfiguriert wurde oder die Akteure über eine aktualisierte Version von Cobalt Strike verfügten. Die Vielfalt der im selben Vorfall eingesetzten Cobalt-Strike-Server zeigt, dass FIN6 das Standard-Cobalt-Strike-Framework mit geringen Änderungen verwendet.
Der Server unter 185.80.233.166 verwendet das standardmäßige Cobalt Strike-Sicherheitszertifikat. Auf diesem System ist außerdem der Standard-Port 50050/TCP des Cobalt Strike Team-Servers geöffnet. Das System hatte einen MX-Eintrag von mail.sexlove24[.]com, und die Telemetriedaten von Talos zeigen, dass im April 2019 keine E-Mails von oder zu diesem System beobachtet wurden. Diese IP wurde von Morphisec im Februar 2019 als Teil eines koordinierten Angriffs auf Kassensysteme mithilfe von FrameworkPOS identifiziert . Bei der Aktivität wurden die von der FIN6-Gruppe eingesetzten TTPs verwendet, insbesondere WMI/PowerShell zur lateralen Bewegung und Rechteausweitung.
Die IP 176.126.85.207 wurde sowohl durch den anomalen Bereich von Fox-IT als auch durch die Verwendung des Standardzertifikats Cobalt Strike erkannt, wobei die Daten durch das Öffnen des Ports 50050 bestätigt wurden. Es wurde beobachtet, dass die IP eine Reverse-HTTP-Nutzlast von Metasploit Meterpreter in Verbindung mit LockerGoga- und Ryuk-Übermittlung von FIN6 lieferte.
Zwei IPs verwendeten das Standardzertifikat von Cobalt Strike und machten Gebrauch von reflektierenden Cobalt Strike-Ladern. Beim reflektierenden Laden von DLLs (Dynamic Load Library) handelt es sich um eine Methode, bei der eine DLL in den Speicher eines Prozesses eingefügt wird. Dabei wird der Windows-DLL-Loader umgangen und das Speichern der DLL auf einer Festplatte vermieden. Eine auf diese Weise eingefügte DLL kann schwierig zu erkennen sein, da sie nur im Speicher vorhanden ist. Das reflektierende Laden von DLLs, das bekanntermaßen von APT40 (auch bekannt als TEMP.Periscope) und in der Kampagne „Wilted Tulip“ verwendet wird, ist nicht auf Cobalt Strike beschränkt und wird von einer Reihe von Akteuren auf unterschiedliche Weise durchgeführt. Die Verwendung eines Reflective Loaders ist kein Beweis dafür, dass diese Gruppen auf diesen Servern aktiv waren. Zum Zeitpunkt dieser Analyse wurden auf keiner der IP-Adressen Domänen gehostet.
Die IP 89.105.198.18 nutzte ebenfalls das Standardzertifikat Cobalt Strike. Laut @Scumbots wurde die IP zuvor als Befehls- und Kontrollserver identifiziert, der Meterpreter-Daten über HTTP empfing. Frühere Scandaten von Shodan bestätigten die Existenz des Cobalt-Strike-Servers unter der IP-Adresse, indem der Cobalt-Strike-Controller-Port 50050 geöffnet war. Die Sammlungen von Recorded Future identifizierten zwei Dateien, die die IP-Adresse 89.105.198.18 kontaktierten. erstmals beobachtet im März 2019. Die Nutzdaten wurden von VirusTotal inkonsistent erkannt, was wahrscheinlich daran liegt, dass zumindest die erste Datei UPX-gepackt war. Eine Überprüfung der Speicherauszüge aus der Ausführung der Dateien ergab, dass es sich bei beiden um Cobalt Strike Reflective Loader handelte.
3a143d038aae9e4253ed6656beaaae298795a3df20e874544c0122435ef79bc0
9668c17504a0d9471668dac64b3c5c2abfb3b186c25dc28d91afbe95ed341002
Eine andere IP-Adresse im gleichen CIDR-Bereich verwendete ebenfalls das Standardzertifikat von Cobalt Strike:89.105.198.21. Zum Zeitpunkt dieser Analyse hostete die IP-Adresse keine Domänen, aber frühere Scandaten bestätigten die Anwesenheit eines Cobalt Strike-Servers.
Die IP 106.12.204.25 wurde sowohl durch den anomalen Bereich von Fox-IT als auch durch die Verwendung des Standardzertifikats Cobalt Strike erkannt. Für die IP war auch Port 50050 geöffnet und es kam, wie oben erwähnt, zu einer 404-Antwort im Klartext „Nicht gefunden“. Den Berichten zufolge versendet die IP-Adresse über einen Cobalt Strike-Beacon, der von einem VirusTotal-Benutzer auch als ein mit APT40 in Zusammenhang stehender Cobalt Strike-Reflection-Loader erkannt wurde. Recorded Future hat den IP-Betrieb im Zusammenhang mit APT40 nicht beobachtet.
Bei einer anderen allgemeinen Kategorie von IPs, die als Host für Cobalt Strike identifiziert wurden, gab es unkorrelierte Bedrohungsaktivitäten im Zusammenhang mit anderer Malware oder verdächtigen Aktivitäten, die Ergebnisse waren jedoch größtenteils nicht schlüssig.
Die IP-Adresse 91.152.8.14 nutzte Mitte April 2019 das Standardzertifikat Cobalt Strike. Es wurde ein generischer Trojaner gefunden, der per HTTP-Methode über Port 433 mit der IP-Adresse kommuniziert. Die IP hostete zum Zeitpunkt der Analyse keine Domänen, teilte aber ein Zertifikat mit forum.happyhippos[.]org. Der Zertifikatsaussteller gab an, aus Espoo, Uusimaa, Finnland zu stammen, der gleichen relativen Geolokalisierung wie die IP-Adresse. Über den anomalen HTTP-Headerbereich wurde eine andere IP-Adresse im gleichen CIDR-Bereich unter 91.152.8.173 erkannt. Obwohl diese IP ein anderes Zertifikat verwendete, zeigten vorherige Shodan-Scans über Port 443 eine 404-Antwort „Nicht gefunden“ ohne Inhalt und mit dem Content-Type im Klartext, was ein wenig vertrauenswürdiges Signal für einen Cobalt-Strike-Server ist. Ohne weitere Daten konnte Recorded Future zu keiner Schlussfolgerung hinsichtlich dieser IPs gelangen.
Die IP 99.81.122.12 wurde Ende April 2019 anhand der ungewöhnlichen Abstände, der Verwendung des Cobalt Strike-Zertifikats und des geöffneten Controller-Ports 50050 identifiziert. Der Server ist jetzt inaktiv, diente jedoch zuvor als Cobalt Strike-Beacon, auf den über HTTP zugegriffen wurde. Zum Zeitpunkt der Analyse wurden auf dem Server keine Domänen gehostet.
Die IP 72.14.184.90 nutzte auch das generische Cobalt Strike-Zertifikat. Die IP-Adresse wird von einer bösartigen Datei kontaktiert, die über HTTP die URL hxxps://72.14.184[.]90/search/news/ erreicht. Die Datei wird als Cobalt Strike Beacon erkannt . Die IP-Adresse wurde auch im Zusammenhang mit einer Spearphishing-Kampagne Ende Januar 2019 verdächtigt . Shodan-Scandaten zeigen, dass der Server eine Reihe von Schwachstellen aufweist. Dies deutet darauf hin, dass der Server möglicherweise kompromittiert wurde, um den Cobalt Strike-Server zu hosten, und nicht, dass er für einen Penetrationstest gemietet wurde.
06f8004835c5851529403f73ad23168b1127315d02c68e0153e362a73f915c72
Schließlich gab es für viele IPs zwar nur begrenzte Berichte über Bedrohungsaktivitäten, aber es gab Anzeichen dafür, dass in naher Zukunft möglicherweise bösartige Aktivitäten einsetzen würden:
Die IP 172.96.250.199 verwendete das Basiszertifikat Cobalt Strike, war den Telemetriedaten von Recorded Future zufolge jedoch mit keiner Bedrohungsaktivität verbunden. Die IP-Adresse hat seitdem die Zertifikate ausgetauscht und verwendet nun ein Paar LetsEncrypt- Zertifikate, darunter eines, das mit der Domäne haqiu[.]cf verknüpft ist . Zum Zeitpunkt dieser Analyse war die Domäne weder aktiv noch wurde sie auf dieser IP gehostet. Die IP wurde mit dem Hosten einer verdächtigen Domain in Verbindung gebracht, ssss.ppwu[.]xyz, das duale LetsEncrypt-Zertifikate verwendet. Diese Zertifikate sind nur 90 Tage gültig und wurden seitdem auf Cloudflare-Server rotiert. Dies könnte auf einen bevorstehenden Einsatz des Red Teams oder eine zukünftige Bedrohungsaktivität unter Einsatz von Cobalt Strike hinweisen.
Die IP 139.162.18.83 wurde durch die Verwendung des standardmäßigen Cobalt Strike SSL-Zertifikats identifiziert, es wurden jedoch keine Bedrohungsaktivitäten oder andere Auffälligkeiten bei der IP-Adresse beobachtet. Im selben CIDR-Bereich wurde jedoch im anomalen Bereich in der HTTP-Antwort die Nummer 139.162.18.179 identifiziert und es stellte sich heraus, dass das standardmäßige Cobalt Strike SSL-Zertifikat verwendet wurde. Derzeit ist mit dem Server keine Bedrohungsaktivität verbunden, aber auf der IP werden eine Reihe verdächtiger Domänen gehostet.
Die IP 124.156.106.98 nutzte auch das Standardzertifikat von Cobalt Strike und hatte Port 50050 geöffnet, der für das Cobalt Strike-Controller-Panel verwendet werden kann. Die IP wurde als Befehls- und Kontrollzentrum für ein Cobalt Strike-Beacon beobachtet, das im März 2019 beobachtet wurde. Allerdings wurde am 2. Mai 2019 eine seltsame Domain registriert und auf der IP gehostet, kongbu.koubaogangjiao[.]xyz, während die Cobalt Strike-Signale noch aktiv waren. Die Domäne kann künftig für Penetrationstests oder böswillige Infektionen verwendet werden.
Ausblick
Recorded Future hält es für wichtig, Signale bekannter Bedrohungen zu gruppieren, um die Bedrohungsaktivität besser einschätzen zu können und die Identifizierung einzigartiger Bedrohungen zu erleichtern. Das anhaltende Auftauchen von Standardzertifikaten von Cobalt Strike sowie die ungewöhnlichen Abstände in HTTP-Antworten von Versionen vor 3.13 deuten darauf hin, dass die gemeinsame Verwendung mehrerer Signaturen die beste Methode zur Identifizierung aktiver Cobalt Strike-Server sein wird.
Während auf Spionage spezialisierte Akteure oft über umfangreiche Entwicklungszeit und Ressourcen verfügen, haben sie auch ein begründetes Interesse daran, in der Masse unterzugehen. Das Patchen der Cobalt Strike-Server kann auch durch andere Hindernisse als absichtliche Manipulationen verhindert werden. Dazu gehören fehlende Kenntnisse über das Update aufgrund von Sprachbarrieren, mangelnder Bedienkomfort mit aktuell installierten Versionen oder andere Änderungen, die die Installation des Updates verhindern. Die Verwendung geknackter Versionen von Cobalt Strike oder die Bereitstellung von Standardinstanzen von Cobalt Strike führt zu einer Vermischung der Bedrohungen, was die Zuordnung erschwert. Darüber hinaus können sich Akteure durch die Ausführung gecrackter Versionen des Frameworks in ältere Versionen von Cobalt Strike einfügen.
Die fortlaufende Erkennung dieser Server kann den SOC- und IR-Teams Regeln für die Entwicklung von Warn- oder Blockierungsfunktionen liefern und Untersuchungen zu Hosts veranlassen, die mit diesen Servern kommunizieren.
Verwandt