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
A primary issue for incident response and security operations analysts today is determining which security events or alerts are a priority to review. Fortunately, applying accurate threat intelligence to a SIEM workflow, such as Splunk, can be valuable for identifying credible threats, and can even reveal crucial additional context to enable security teams to take more proactive measures. For example, an alert comes across your SIEM — it’s an IP address, 89.105.198[.]28, that has been contacted by one of your endpoints. Now what?
Recorded Future-Browsererweiterung.
Upon opening the Recorded Future browser extension on the Splunk alerts page, the IP 89.105.198[.]28 jumps to the top with a risk score of 93 (this finding was made on May 6, 2019, and the risk score will decay on May 17, 2019 if no further malicious activity is observed). This investigation reveals that the IP address was previously reported by Sophos as part of the MegaCortex ransomware campaign, using a Cobalt Strike reverse shell.
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-Verwendung über einen längeren Zeitraum hinweg. (Quelle: Recorded Future)
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 Softwarelizenzierung streng kontrolliert wurde, gibt es bestätigte Fälle von raubkopierten Versionen von Cobalt Strike, bei denen es sich oft um geknackte Testversionen handelt, und eine Vielzahl von Akteuren im kriminellen Untergrund wurde dabei beobachtet, wie sie versuchten, sie zu erwerben oder mit ihnen zu handeln. Die geknackten Versionen können jedoch ihre eigenen zusätzlichen „Funktionen“ wie Hintertüren enthalten oder in irgendeiner Weise unzulänglich sein. Ein Mitglied von Raid Forums hat am 5. April 2019 einen Link zu einer geknackten Kopie von Cobalt Strike 3.13 (der neuesten Version) gepostet, andere Mitglieder haben jedoch 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.
Returning to our investigation of 89.105.198[.]28, this IP address was used as a command-and-control server for a Cobalt Strike reverse shell on a victim domain controller during a MegaCortex incident. The ransomware was then distributed across the environment via PSExec. The MegaCortex ransomware campaign was active at the time of this analysis. Further investigation of the IP address reveals that it makes use of the Cobalt Strike server default security certificate to encrypt traffic.
This case involving 89.105.198[.]28 prompted Recorded Future to investigate this specific Cobalt Strike activity. This further encouraged larger-scale Cobalt Strike research, in the wake of security firm Fox-IT’s findings around the anomalous space included in Cobalt Strike HTTP responses and other public detections, including common use of the standard, pre-configured, self-signed SSL/TLS certificate on Cobalt Strike servers. Servers that deploy this certificate can be detected via Shodan or Censys by the SHA256 hash or the serial number of the certificate.
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
Serial Number: 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.
The IP address 89.105.202.58 made use of the standard Cobalt Strike certificate. Previous URLscan.io results show an HTTP 404 Not Found response, with no content and plain text Content-Type, and Shodan scanning indicates that port 50050 was open, which can host the Cobalt Strike controller. Twitter user @Scumbots has previously identified the server as hosting a Meterpreter reverse proxy, which was contacted via Powershell script that has been hosted on PasteBin since February 2019.
199.189.108.71 also made use of the default Cobalt Strike certificate, had port 50050 open, and had previously been identified by Twitter user @Scumbots for hosting a Meterpreter reverse proxy, which also made use of base64-encoded Powershell to obfuscate execution.
The IP 31.220.43.11 was identified using the baseline Cobalt Strike certificate, corroborated by port 50050 being open on the server. A Meterepreter sample has been observed sending HTTP traffic to the IP in a command-and-control capacity. According to Shodan data, The IP has a number of ports open and is vulnerable to a number of exploits, which may indicate that the host is compromised to serve other malware. The IP hosts a single domain at the time of analysis: 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.
The server at 185.80.233.166 uses the default Cobalt Strike security certificate. This system also has the default Cobalt Strike Team Server port 50050/TCP open. The system had an MX record of mail.sexlove24[.]com, and Talos telemetry data indicates that no mail has been observed to or from this system in the month of April 2019. This IP was identified by Morphisec in February 2019 as part of a coordinated attack on point-of-sale systems using FrameworkPOS. The activity made use of TTPs used by the FIN6 group, specifically the use of WMI/PowerShell for lateral movement and privilege escalation.
The IP 176.126.85.207 was detected both by Fox-IT’s anomalous space and the use of the default Cobalt Strike certificate, with data corroborated by having port 50050 open. The IP has been observed delivering a Metasploit Meterpreter reverse HTTP payload in conjunction with LockerGoga and Ryuk delivery from FIN6.
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.
The IP 89.105.198.18 made use of the default Cobalt Strike certificate as well. The IP previously was identified as a command-and-control server, receiving Meterpreter data over HTTP, according to @Scumbots. Previous scan data from Shodan corroborated the Cobalt Strike server existing on the IP address by having the Cobalt Strike controller port 50050 open. Recorded Future’s collections identified two files which contacted the IP address 89.105.198.18, first observed in March 2019. The payloads had inconsistent detections on VirusTotal, likely due to at least the first file being UPX-packed. An inspection of the memory dumps from executing the files found that both were Cobalt Strike reflective loaders.
3a143d038aae9e4253ed6656beaaae298795a3df20e874544c0122435ef79bc0
9668c17504a0d9471668dac64b3c5c2abfb3b186c25dc28d91afbe95ed341002
Another IP address on the same CIDR range also made use of the default Cobalt Strike certificate:89.105.198.21. The IP address did not host domains at the time of this analysis, but previous scan data corroborated the presence of a Cobalt Strike server.
The IP 106.12.204.25 was detected both by Fox-IT’s anomalous space and the use of the default Cobalt Strike certificate. The IP also had port 50050 open, and had a plaintext 404 Not Found response, as mentioned above. The IP has been reported as delivering with a Cobalt Strike beacon, which was also detected by a VirusTotal user as a Cobalt Strike reflective loader related to APT40. Recorded Future has not observed the IP operating in connection with APT40.
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.
The IP address 91.152.8.14 made use of the standard Cobalt Strike certificate in mid-April 2019. A generic trojan was found to communicate with the IP address via HTTP methods over port 433. The IP hosted no domains at the time of analysis, but shared a certificate with forum.happyhippos[.]org. The certificate issuer claimed to be from Espoo, Uusimaa, Finland, the same relative geolocation of the IP address. Another IP address on the same CIDR range was detected via the anomalous HTTP header space, on 91.152.8.173. While this IP made use of a different certificate, previous Shodan scans over port 443 show a 404 Not Found response with no content and plain text Content-Type, which is a low-confidence signal of a Cobalt Strike server. Without further data, Recorded Future could not come to a conclusion about these IPs.
The IP 99.81.122.12 was identified in late April 2019, from the anomalous spacing, use of the Cobalt Strike certificate, and having the controller port 50050 open. The server is now inactive, but previously served as a Cobalt Strike beacon, accessed via HTTP. The server did not host domains at the time of analysis.
The IP 72.14.184.90 also made use of the generic Cobalt Strike certificate. The IP address is contacted by a malicious file, reaching out over HTTP to the URL hxxps://72.14.184[.]90/search/news/. The file is detected as a Cobalt Strike beacon. The IP address was also implicated for being involved in a spearphishing campaign in late January 2019. Shodan scan data indicates the server has a number of vulnerabilities, which points to the server potentially being compromised to host the Cobalt Strike server, rather than the server being rented for a pen-testing engagement.
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:
The IP 172.96.250.199 used the baseline Cobalt Strike certificate, but has not had any threat activity associated with it, according to Recorded Future telemetry. The IP address has since swapped certificates to use a pair of LetsEncrypt certificates, including one linked to the domain haqiu[.]cf. The domain was neither active nor hosted on this IP at the time of this analysis. The IP has been associated with hosting a suspicious domain, ssss.ppwu[.]xyz, which has made use of dual LetsEncrypt certificates. These certificates are good for only 90 days and have since been rotated onto Cloudflare servers. This may indicate a forthcoming red-team engagement, or future threat activity using Cobalt Strike.
The IP 139.162.18.83 was identified from the use of the default Cobalt Strike SSL certificate, but no threat activity or other oddities, have been observed on the IP address. However, on the same CIDR range, 139.162.18.179 was identified from the anomalous space included in the HTTP response, and it was found to be using the default Cobalt Strike SSL certificate. There is no threat activity currently associated with the server, but a number of suspicious domains are hosted on the IP.
The IP 124.156.106.98 also made use of the default Cobalt Strike certificate, and had port 50050 open which can be used for the Cobalt Strike controller panel. The IP has been observed as the command and control for a Cobalt Strike beacon, observed in March 2019. However, an odd domain was registered and hosted on the IP as of May 2, 2019, kongbu.koubaogangjiao[.]xyz, while the Cobalt Strike signals were still live. The domain may be used going forward for penetration testing or malicious infections.
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.
Verwandte Nachrichten & Forschung