Builder-Profil
Konfiguration und konkrete Fork müssen vor jeder Verhaltensaussage zugeordnet werden.
Assemblymerkmale und Konfigurationsfelder versionieren.
PrimärquellengebundenMalware Analysis / Artefakt: MessagePack/MsgPack.cs · SHA-256 4482252b1a6d…
Statische Prüfung der offenen C#-Codebasis: komprimiertes MessagePack, Handler, Plugins, Persistenz und Variantenrisiko.
Keine unabhängige Sample-, Laufzeit-, C2- oder Kampagnenverifikation.
Bei AsyncRAT liegt die interessante Grenze zwischen offenem Code und konkretem Missbrauch. Der Bericht liest deshalb Nachrichtenparser und Pluginpfade als Protokollfläche – nicht als Beweis für eine bestimmte Kampagne.
4482252b1a6de7070336649c58cb3329eed68d92d0be2ed9fe12e15845cdeeb00f0cba4ec3985c38082c6abb3e1e01895120ffb6Der Analysepfad dieses Berichts. Jeder Knoten zeigt, was belegt ist, wo Detection ansetzen kann und wo die Aussage endet.
Konfiguration und konkrete Fork müssen vor jeder Verhaltensaussage zugeordnet werden.
Assemblymerkmale und Konfigurationsfelder versionieren.
PrimärquellengebundenDer Client baut den dokumentierten Transport zum konfigurierten Gegenpunkt auf.
Zielrolle, TLS-Merkmale und Wiederholungsmuster trennen.
PrimärquellengebundenNachrichten werden in einer strukturierten MessagePack-Schicht übertragen.
Paketform und Befehlsbezeichner nur im Kontext nutzen.
PrimärquellengebundenFunktionen können als zusätzliche Module nachgeladen werden; Basiskern und Plugin bleiben getrennt.
Assembly-Laden und neue Befehlsflächen korrelieren.
PrimärquellengebundenDie mögliche Fernwirkung hängt von Fork, Plugin und empfangenem Auftrag ab.
Netzwerknachricht mit nachfolgender Hostaktion verbinden.
Begrenzt oder offenAnalyseachsen aus dem Bericht – keine Live-Konfiguration und kein universeller Familienindikator.
Quelle, Validierung und Grenze gehören zu jeder Regel.
rule DotNet_RAT_AsyncRAT_Project_Identifiers {
meta:
author = "Ruhrdigital Studio"
scope = "project lineage indicator; dual-use caveat"
strings:
$family = "AsyncRAT" ascii wide
$client = "AsyncClient" ascii wide
$msgpack = "AsyncRAT.MessagePack" ascii wide
$settings = "AsyncRAT.Properties.Settings" ascii wide
condition:
uint16(0) == 0x5a4d and filesize < 25MB and 3 of them
}title: AsyncRAT hidden-task candidate
status: experimental
logsource:
product: windows
category: process_creation
detection:
selection:
Image|endswith: '\\schtasks.exe'
CommandLine|contains|all:
- '/create'
- '/sc'
- 'onlogon'
ParentImage|contains: '\\AppData\\'
condition: selection
falsepositives:
- Legitimate administrative or software activity with the same isolated pattern
level: mediumDeviceProcessEvents
| where Timestamp > ago(30d)
| where FileName =~ "schtasks.exe" and ProcessCommandLine has_all ("/create", "onlogon")
| where InitiatingProcessFolderPath has "\\AppData\\"
| project Timestamp, DeviceName, ProcessCommandLine, InitiatingProcessSHA256Öffentliche AsyncRAT-Codebasis und MITRE-Technikzuordnung; keine Ausführung, kein Build und kein Kampagnensample. Die Leitfrage lautet: Welche Architektur- und Verhaltensaussagen trägt dieser konkrete Prüfstand, und welche bleiben ausschließlich der Quelle zugeschrieben?
4482252b1a6de7070336649c58cb3329eed68d92d0be2ed9fe12e15845cdeeb0MessagePack-Decoder mit vorgelagerter Dekompression.
Primärquellen, statisch prüfbarer Code und Laufzeitbeobachtungen haben unterschiedliche Aussagekraft. Die Karte hält diese Ebenen auseinander; fehlende Eigenbeobachtung wird nicht durch Plausibilität ersetzt.
Die Karte trennt Primärquelle, reproduzierbaren Quellstand und nicht selbst erhobene Laufzeitevidenz.
Eine Dateireferenz belegt kein Laufzeitverhalten. Dokumentierte Aufbereitung ist keine erneute Ausführung.
Nachvollziehbare Quelle mit expliziter Sample-Lücke.
Veröffentlichte Analyse beziehungsweise gepinnter Upstream-Stand.
Datei, Commit und SHA-256 wurden fixiert.
Lokal hashgebundener, nur statisch gelesener Quellstand.
Datei, Commit und SHA-256 wurden fixiert.
Die Prüfung bleibt statisch beziehungsweise quellengebunden.
Keine eigene Laufzeit-, C2- oder Kampagnentelemetrie.
Die Prüfung bleibt statisch beziehungsweise quellengebunden.
Grenze: Eine veröffentlichte Beobachtung ist keine eigene Reproduktion.
AsyncRAT ist eine offene Remote-Access-Codebasis, die in unterschiedlichen Phishing- und Loaderketten eingesetzt wurde. Der Upstream definiert nicht den Initialzugang. Eine Analyse muss deshalb Builderkonfiguration, konkreten Fork und Verteilungsartefakt getrennt behandeln.
Der Client dekodiert nach Dekompression MessagePack-Strukturen; Serverhandler ordnen Nachrichten Funktionen wie Shell, Dateien, Prozesse, Desktop, Webcam oder Wiederherstellung zu. Plugins erweitern den Funktionsumfang. Diese Trennung erzeugt gute Grenzen für Protokoll- und Modulbeobachtung.
Der kurze Auszug zeigt nur die im Kapitel benannte Struktur. Er wird nicht ausgeführt und enthält keine vollständige operative Implementierung.
SHA-256 4482252b1a6de7070336649c58cb3329eed68d92d0be2ed9fe12e15845cdeeb0483 public void DecodeFromBytes(byte[] bytes)
484 {
485 using (MemoryStream ms = new MemoryStream())
486 {
487 bytes = Zip.Decompress(bytes);
488 ms.Write(bytes, 0, bytes.Length);
489 ms.Position = 0;
490 DecodeFromStream(ms);
Originalzeilen der Quelldatei. Erklärung wählen, um den Bereich zu markieren.
MITRE führt Debugger- und VM-Prüfungen, versteckte Fenster, dynamische Auflösung und geplante Tasks auf. Je nach Builder und Fork können diese Optionen fehlen. Ein stabileres Modell verbindet Konfigurationsmerkmale mit tatsächlicher Task-, Prozess- und Netzwerkaktivität.
Der offene Funktionsumfang reicht von Systemaufklärung und Dateiübertragung bis zu Shell, Bildschirm-, Kamera- und Tastatureingaben. Das beschreibt Angriffsfläche und mögliche Folgen, nicht automatisch beobachtete Nutzung jeder Funktion.
Hilfreich sind .NET-Artefakte, MessagePack-/Kompressionsmuster, ungewöhnliche Task-Persistenz und langlaufende ausgehende Verbindungen eines benutzerbeschreibbaren Clients. Alte YARA-Strings sollten gegen Fork-Drift und legitime MessagePack-Nutzung gegengeprüft werden. Für eine belastbare Untersuchung werden Prozess-GUID und vollständige Elternkette, Nutzer und Sitzung, Befehlszeile, Signatur- und Hashstatus, Datei- und Registryänderungen, DNS-/Verbindungsziele sowie nachgelagerte Zugriffe auf sensible Daten in einer gemeinsamen Zeitleiste erhalten. Zeitnähe ist dabei ein Belegparameter, keine bloße Visualisierung. Fehlende Sensorabdeckung wird pro Stufe markiert, damit ein nicht sichtbares Ereignis nicht fälschlich als nicht erfolgt gilt.
Hilfreich sind .NET-Artefakte, MessagePack-/Kompressionsmuster, ungewöhnliche Task-Persistenz und langlaufende ausgehende Verbindungen eines benutzerbeschreibbaren Clients. Alte YARA-Strings sollten gegen Fork-Drift und legitime MessagePack-Nutzung gegengeprüft werden. Das folgende Modell ist bewusst eng, nicht engine-validiert und muss gegen legitime Administrations- und Softwarepfade getestet werden.
1title: AsyncRAT hidden-task candidate
2status: experimental
3logsource:
4 product: windows
5 category: process_creation
6detection:
7 selection:
8 Image|endswith: '\\schtasks.exe'
9 CommandLine|contains|all:
10 - '/create'
11 - '/sc'
12 - 'onlogon'
13 ParentImage|contains: '\\AppData\\'
14 condition: selection
15falsepositives:
16 - Legitimate administrative or software activity with the same isolated pattern
17level: medium
Zeilennummern gelten für diesen Ausschnitt. Erklärung wählen, um den Bereich zu markieren.
Vor einer Familienzuordnung werden die im Modell verwendeten Einzelmerkmale getrennt gegen Softwareverteilung, Administratorwerkzeuge, Installer, Browser- oder Backupsoftware und bekannte interne Skripte geprüft. Mindestens ein struktureller Anker und eine zeitlich passende Verhaltenskette müssen zusammenpassen. Quellcodefunktionen belegen Möglichkeiten des gepinnten Stands, nicht die Ausstattung jeder Kampagnenvariante. Es wurde nichts gebaut, gestartet oder mit einem Server verbunden. Ein negativer Gegencheck verwirft nur die geprüfte Hypothese; er ist keine allgemeine Entwarnung.
Quellcodefunktionen belegen Möglichkeiten des gepinnten Stands, nicht die Ausstattung jeder Kampagnenvariante. Es wurde nichts gebaut, gestartet oder mit einem Server verbunden.
Die Analyse liefert eine belastbare Architektur- und Detektionsgrundlage für den benannten Stand. Sie ist kein Beweis für aktuelle Aktivität, vollständige Variantenabdeckung oder einen bestimmten Betreiber.
Der Evidence Anchor am Anfang nennt den tatsächlich verwendeten Binär-, Datei- oder Revisionsbezug. Diese Links liefern Einordnung und berichtete Beobachtungen; sie ersetzen keine lokale Sample-Analyse.
AsyncRAT upstream source ↗MITRE ATT&CK — AsyncRAT S1087 ↗Der höchste defensive Wert entsteht aus der Verbindung von Eintritt, interner Architektur, Persistenz, Wirkung und Telemetrie. Einzelne Namen, Hashes oder IOCs bleiben Hilfsbelege, nicht das Urteil.
Gespräch starten