Share
Beitragsbild zu AdaptixC2: Neues Open-Source-C2-Framework von Angreifern eingesetzt

AdaptixC2: Neues Open-Source-C2-Framework von Angreifern eingesetzt

17. September 2025

Anfang Mai 2025 beobachteten Forscher von Unit 42, dass Angreifer das Open-Source-Framework AdaptixC2 zur Kompromittierung mehrerer Systeme nutzten. AdaptixC2, ursprünglich als Post-Exploitation- und gegnerisches Emulations-Tool für Penetrationstester entwickelt, wird inzwischen offenbar in realen Kampagnen eingesetzt. Im Unterschied zu vielen bekannten C2-Frameworks blieb AdaptixC2 bislang weitgehend unentdeckt; öffentlich verfügbare Hinweise auf seinen praktischen Einsatz sind rar. Unsere Untersuchung zielt darauf ab, das Fähigkeitsspektrum von AdaptixC2 zu beleuchten, um Sicherheitsteams bei der Abwehr zu unterstützen.

AdaptixC2 erlaubt eine breite Palette post-exploitation-typischer Aktivitäten: Angreifer können Befehle ausführen, Dateien übertragen und Daten aus kompromittierten Systemen exfiltrieren. Als Open-Source-Projekt lässt es sich leicht an individuelle Angriffsziele anpassen, was das Framework besonders flexibel — und potenziell gefährlich — macht. Sein Einsatz in der Praxis bestätigt einen wachsenden Trend: Bedrohungsakteure setzen zunehmend anpassbare Frameworks ein, um Erkennung zu erschweren.

Technische Analyse des Frameworks

AdaptixC2 ist modular konzipiert und wurde in mehreren realen Angriffen identifiziert — es konnten zwei Infektionen nachweisen. In einem Fall wurden Social-Engineering-Techniken verwendet; beim anderen gehen die Forscher mit hoher Sicherheit davon aus, dass KI-gestützte Tools zur Codegenerierung zum Einsatz kamen.

Funktionalität

Als Red-Teaming-Werkzeug bietet AdaptixC2 Angreifern umfangreiche Kontrolle über kompromittierte Systeme. Zu den beobachteten Funktionen zählen:

  • Manipulation des Dateisystems (Verzeichnisse auflisten, Dateien und Ordner erstellen/ändern/löschen)

  • Prozessmanagement (laufende Prozesse auflisten, Anwendungen beenden, Programme starten)

Angreifer nutzen diese Funktionen, um sich in Umgebungen zu verankern, Systeme weiter zu erkunden und laterale Bewegungen im Netzwerk durchzuführen.

Zur Umgehung von Netzwerkrestriktionen und für verdeckte Kommunikation unterstützt das Framework Tunneling-Funktionen wie SOCKS4/5-Proxy und Port-Forwarding, wodurch auch in stark geschützten Netzwerken Kommunikationskanäle aufrechterhalten werden können.

AdaptixC2 arbeitet mit sogenannten „Extendern“ — pluginartigen Erweiterungen für Listener und Agenten — die die Erstellung maßgeschneiderter Payloads und Erkennungsumgehungen erlauben. Es unterstützt zudem Beacon Object Files (BOFs), mit denen kleine, in C geschriebene Programme direkt im Prozess des Agenten ausgeführt werden können, um Detektion zu erschweren.

Die Beacon-Agenten bieten spezielle Befehle für schnelle und unauffällige Datenübertragung und sind für x86- sowie x64-Architekturen verfügbar. Generierbare Formate umfassen Standalone-EXEs, DLLs, dienstfähige Dateien und Roh-Shellcode. Für die Exfiltration ermöglicht das Framework das Konfigurieren von Chunk-Größen bei Datei-Downloads und -Uploads, da kleinere Datensegmente als weniger auffällig gelten können.

Die AdaptixC2-Oberfläche visualisiert verknüpfte Agenten und Sitzungen grafisch und zeigt Angreifern den Fortschritt mehrstufiger Angriffe sowie mögliche Wege zur lateralen Bewegung innerhalb eines Zielnetzwerks.

AdaptixC2 bietet Angreifern auch Funktionen zur Aufrechterhaltung ihrer Betriebssicherheit (OpSec). Dazu zählen Parameter, die den Beacon in den normalen Netzwerkverkehr einbetten sollen: KillDate legt ein Datum fest, an dem der Beacon seine Tätigkeit einstellt; WorkingTime begrenzt die Aktivität des Beacons auf vordefinierte Zeitfenster. Zudem lassen sich Agenten durch maßgeschneiderte Verschleierungs-, Anti-Analyse- und Umgehungstechniken anpassen und kontinuierlich weiterentwickeln, was das Framework zu einer dynamischen Bedrohung macht.

Konfiguration

Die Konfiguration von AdaptixC2 ist verschlüsselt. Drei Haupt-Beacon-Typen werden über spezifische Profilstrukturen unterstützt: BEACON_HTTP (webbasierte Kommunikation), BEACON_SMB (Named-Pipe-Kommunikation) und BEACON_TCP (direkte TCP-Verbindungen).

Das HTTP-Profil ist die am häufigsten genutzte Variante und enthält typische Webkommunikationsparameter wie Server, Ports, SSL-Einstellungen, HTTP-Methoden, URIs, Header und User-Agent-Strings. Das SMB-Profil nutzt Windows Named Pipes, wenn HTTP blockiert oder überwacht wird. Das TCP-Profil stellt direkte Socket-Verbindungen her und erlaubt das Voranstellen von Daten zur einfachen Protokollverschleierung.

AdaptixC2 liefert eine integrierte Standardkonfiguration als Bereitstellungsbeispiel: Das Standard-HTTP-Profil zielt auf 172.16.196.1:4443 und nutzt HTTPS mit einer POST-Anfrage zum Endpunkt /uri.php, wobei der Parameter X-Beacon-Id zur Identifikation des Beacons verwendet wird. Eine grafische Darstellung zeigt, wie der Beacon entsprechend konfiguriert wird.

Nach dem Klicken auf „Erstellen“ verschlüsselt der Beacon Builder die Konfiguration mit RC4 und bettet sie anschließend in den kompilierten Beacon ein. Die verschlüsselte Konfiguration wird wie folgt gespeichert:

  • 4 Bytes: Konfigurationsgröße (32-Bit-Ganzzahl)
  • N Bytes: RC4-verschlüsselte Konfigurationsdaten
  • 16 Bytes: RC4-Verschlüsselungsschlüssel

Extrahieren der Konfiguration aus bösartigen Samples

Da die Verschlüsselung einfach und vorhersehbar ist, können Verteidiger einen Extraktor entwickeln, der Konfigurationen automatisch aus Samples extrahiert. Dieses Extraktionstool sollte genauso funktionieren wie das Beacon, das seine eigenen Konfigurationen lädt.

Der Extraktor lokalisiert die Konfiguration im Abschnitt „.rdata“ der PE-Datei. Anschließend extrahiert er die Größe (die ersten vier Bytes), den verschlüsselten Datenblock und den RC4-Schlüssel (die letzten 16 Bytes). Nachdem die Daten mit dem eingebetteten RC4-Schlüssel entschlüsselt wurden, analysiert er die Klartextkonfiguration, indem er die folgenden Felder entpackt:

  • Agententyp
  • SSL-Flag
  • Anzahl der Server
  • Server/Ports
  • HTTP-Parameter
  • Timing-Einstellungen

Mit dieser Methode wurde ein Tool erstellt, das AdaptixC2-Beispiele verarbeiten und deren eingebettete Konfigurationen abrufen kann. Der vollständige Extraktionscode unterstützt die Variante BEACON_HTTP. Dieses Tool wird im Abschnitt Beispiel für einen Konfigurations-Extractor bereitgestellt. Forscher können diesen Extractor verwenden, um AdaptixC2-Beispiele zu analysieren oder den Code für andere Varianten anzupassen.

Unit 42 berichtet: AdaptixC2-Szenarien

Szenario 1: Gefälschter Helpdesk-Support führt zu AdaptixC2-Infektion

Im Mai 2025 untersuchten wir mehrere Vorfälle, in denen Angreifer AdaptixC2-Beacons installierten. In mehreren Fällen nutzten die Täter denselben Angriffsweg, wie in Abbildung 3 dargestellt.

Anfängliche Kompromittierung

Die Angreifer machten sich das Vertrauen in Microsoft Teams zunutze, um Mitarbeiter dazu zu bringen, ihnen Zugang zu Unternehmenssystemen zu gewähren. Teilweise gaben sich die Angreifer per Phishing als IT-Support aus (betreffzeilen wie „Helpdesk (extern) | Microsoft Teams“) und veranlassten Opfer, legitime Fernsupport-Tools wie Quick Assist (ein Remote-Monitoring-and-Management-Tool) zu starten. Solche Vorfälle zeigen, wie Bedrohungsakteure legitime Produkte für böswillige Zwecke missbrauchen — was nicht zwingend auf ein Fehlverhalten des jeweiligen Produkts schließen lässt.

Der Unit 42 Global Incident Response Report 2025: Social Engineering Edition kam zu dem Ergebnis, dass Social-Engineering-Techniken wie diese der häufigste initiale Angriffsvektor sind. Ein erfolgreicher erster Zugriff verschafft Angreifern Zugriff auf Zielsysteme, ohne dass sie zunächst Perimeter-Kontrollen wie Firewalls oder Intrusion-Detection umgehen müssen.

AdaptixC2-Bereitstellung und Persistenz durch Shellcode-Ausführung

Die Täter setzten den AdaptixC2-Beacon über einen mehrstufigen PowerShell-Loader ein, der eine verschlüsselte Nutzlast von einem Link auf einem legitimen Dienst herunterlädt. Nach dem Download entschlüsselt das PowerShell-Skript die Nutzlast mit einem einfachen XOR-Schlüssel. Anstatt die entschlüsselte Nutzlast auf die Festplatte zu schreiben, weist das Skript Speicher im laufenden PowerShell-Prozess zu und kopiert den Shellcode dort hinein. Dieser dateilose Ansatz hinterlässt deutlich weniger Spuren auf dem System.

Zur Ausführung des Shellcodes verwendet das Skript eine Technik des „dynamischen Aufrufs“: Mittels GetDelegateForFunctionPointer erzeugt es zur Laufzeit einen Delegaten, der auf den Anfang des Shellcodes zeigt, und ruft diesen wie eine normale Funktion auf — somit läuft der Shellcode direkt aus dem Speicher, ohne eine ausführbare Datei zu erzeugen. Für Persistenz erzeugt das Skript zusätzlich eine Verknüpfung im Startordner, damit der bösartige Prozess nach einem Neustart erneut startet.

Aktivitäten nach der Exploitation und Eindämmung

Nach erfolgreicher Bereitstellung führten die Angreifer Erkundungsmaßnahmen durch und setzten Befehlszeilentools ein, um Informationen über kompromittierte Systeme und das Netzwerk zu sammeln — beispielsweise nltest.exe, whoami.exe und ipconfig.exe. Anschließend verband sich der Beacon mit einem Remote-Server, wodurch den Angreifern ein C2-Zugang zum infizierten Rechner ermöglicht wurde.

Szenario 2: Infektion durch ein KI-generiertes Skript

In einem weiteren Vorfall setzten Angreifer ein PowerShell-Skript ein, das zur Ausbringung von AdaptixC2-Beacons entwickelt wurde. „Wir schätzen mit hoher Wahrscheinlichkeit, dass dieses Skript von einer KI generiert wurde. Die Bereitstellung erfolgte sowohl durch In-Memory-Shellcode-Injektion als auch mittels eines dateibasierten DLL-Hijacking-Persistenzmechanismus. Das in Abbildung 5 gezeigte Skript ist darauf ausgelegt, auf dem kompromittierten Rechner verborgen zu bleiben und den Angreifern dauerhaften Zugriff zu verschaffen.“ – Unit 42

Detaillierte Analyse des KI-generierten PowerShell-Skripts

  • Herunterladen und Dekodieren von Shellcode: Das Skript lädt eine Base64-kodierte Shellcode-Nutzlast von einem Remote-Server mithilfe von Invoke-RestMethod herunter und dekodiert den Inhalt.

  • Speicherzuweisung, Shellcode-Kopie und Speicherschutz ändern: Es reserviert einen nicht verwalteten Speicherbereich, kopiert den AdaptixC2-Shellcode dort hinein und setzt mit VirtualProtect die Schutzattribute des Speichers auf 0x40 (PAGE_EXECUTE_READWRITE), sodass Ausführung möglich wird.

  • Ausführung des Shellcodes via dynamischem Aufruf: Wie im vorherigen Fall verwendet das Skript GetDelegateForFunctionPointer, um zur Laufzeit einen Delegaten zu erzeugen, der auf den Anfang des Shellcodes im Speicher zeigt; dieser Delegat wird dann mit Invoke() ausgeführt, wodurch der Beacon im Speicher gestartet wird.

  • DLL-Hijacking-Persistenz: Zur Persistenz zielt das Skript auf das Verzeichnis APPDATA\Microsoft\Windows\Templates und nutzt msimg32.dll für DLL-Hijacking; die eingesetzte DLL enthält ebenfalls eine Beacon-Variante.

  • Persistenz über den Run-Registrierungsschlüssel: Zusätzlich legt das Skript im Run-Schlüssel einen Eintrag namens „Updater“ an, der einen PowerShell-Befehl zum Ausführen der Datei loader.ps1 enthält, sodass sich der Loader bei jeder Benutzeranmeldung startet.

Anzeichen für KI-Generierung
Die Struktur und stilistischen Merkmale des PowerShell-Skripts sprechen stark für eine KI-gestützte Erstellung. Kennzeichen sind ausführliche, nummerierte Kommentare wie # === [1] Shellcode herunterladen und dekodieren === sowie Häkchen-Symbole in Ausgabemeldungen (Write-Output "[✔] Persistenz über Run-Schlüssel und DLL-Hijack festgelegt DLL in $templatesPath abgelegt"). Diese Beobachtungen, ergänzt durch Ableitungen aus Serverdaten und Erkenntnisse zweier separater KI-Detektoren, stützen die Einschätzung, dass das Skript mithilfe von KI generiert wurde. Unzureichend gesicherte KI-Tools können Angreifern die schnelle Entwicklung von Schadcode erleichtern und damit Operationen in kompromittierten Netzwerken beschleunigen.

Ähnlichkeiten zwischen den Vorfällen
Zwischen den untersuchten Fällen zeigen sich klare Parallelen: beide nutzten PowerShell-basierte Loader zur Implementierung des AdaptixC2-Beacons mit Schwerpunkt auf Tarnung und dauerhaften Zugriff; beide luden Nutzlasten von Remote-Servern herunter und führten diese im Speicher aus, um Spuren auf der Festplatte zu minimieren; beide setzten .NET-Funktionen wie GetDelegateForFunctionPointer für Speicherzuweisung und dynamische Aufrufe ein; und beide verwendeten Persistenzmechanismen — im ersten Fall über eine Startordner-Verknüpfung, im zweiten zusätzlich über DLL-Hijacking. Zudem verwendeten die Angreifer ähnliche Namenskonventionen: einmal update.ps1 als Skriptname, einmal Updater als Run-Key, um sich in legitime Prozesse und Einträge einzufügen.

Zusammenfassung: Gemeinsame Merkmale der Fälle

Bei beiden untersuchten Vorfällen trat ein klares Muster zutage:

PowerShell-basierte Loader

Die Angreifer setzten PowerShell-Loader ein, um den AdaptixC2-Beacon zu installieren. Dabei lag der Fokus auf Tarnung und dauerhaftem Zugriff.

Herunterladen und Ausführen der Nutzlast im Speicher

Die Angreifer luden Nutzlasten von Remote-Servern und führten diese im Speicher aus. Durch die Nutzung legitimer Ressourcen konnten sie Spuren auf der Festplatte minimieren und unentdeckt bleiben.

Einsatz von .NET-Funktionen für Speicher und dynamische Aufrufe

Zur Ausführung des Shellcodes nutzten die Täter systemeigene .NET-Funktionen wie GetDelegateForFunctionPointer, um Effizienz und Verschleierung zu steigern.

Persistenzmechanismen verhindern Entfernung des Beacons

Zur Sicherung des dauerhaften Zutritts verwendete das erste Skript eine Verknüpfung im Startordner; das zweite ergänzte dies um DLL-Hijacking. Dadurch erhalten Angreifer zusätzliche Wege, auf kompromittierten Systemen präsent zu bleiben.

Ähnliche Namenskonventionen

In einem Fall trug das bösartige Skript den Namen update.ps1, im anderen lautete der Run-Key „Updater“ — Benennungen, die helfen, sich in legitime Prozesse einzufügen.

Zunehmende Verbreitung von AdaptixC2

Telemetrie- und Bedrohungsdaten zeigen eine steigende Nutzung von AdaptixC2; laufend werden neue AdaptixC2-Server identifiziert, was auf eine wachsende Verbreitung unter Bedrohungsakteuren hindeutet. Der Trend reicht über klassische Post-Exploitation-Szenarien hinaus: Bei einem kürzlichen Angriff auf ein Finanzinstitut in Asien wurde AdaptixC2 etwa gemeinsam mit der Ransomware Fog eingesetzt, was seine Vielseitigkeit im Zusammenspiel mit anderen bösartigen Werkzeugen unterstreicht.

Fazit

AdaptixC2 stellt eine anpassungsfähige Bedrohung dar. Seine Modularität und das Potenzial für KI-gestützte Codegenerierung ermöglichen Angreifern schnelle Weiterentwicklungen ihrer Taktiken. Sicherheitsteams sollten die Fähigkeiten des Frameworks kennen und ihre Abwehrmaßnahmen proaktiv anpassen.

Vielleicht auch spannend für Sie


Bild/Quelle: https://depositphotos.com/de/home.html

Folgen Sie uns auf X

Folgen Sie uns auf Bluesky