TW / Independent
← Research-Audits

Malware Analysis / Artefakt: GetSystemInfoResponse.cs · SHA-256 45bd354d3741…

QuasarRAT: Nachrichtenverträge, Fernzugriff und Kampagnengrenzen

Statische Quellcodeprüfung der archivierten offenen C#-Codebasis: protobuf-Nachrichten, Client/Server-Trennung, Persistenz und defensive Beobachtungspunkte.

Prüfumfang
Archivierte Upstream-Codebasis von Quasar und MITRE-Technikzuordnung; keine Kampagne oder unbekannte Binärdatei.
Vorgehen
Statische Quellen- und Architekturprüfung; keine Malware beschafft, gebaut oder ausgeführt.
Material
Archivierte Upstream-Quelldatei mit lokal geprüftem Hash.
Befund

Nachrichtenverträge und Funktionsgrenzen sind im Quellcode prüfbar; Forks und kampagnenspezifische Umbauten bleiben außerhalb des Scopes.

Keine unabhängige Sample-, Laufzeit-, C2- oder Kampagnenverifikation.

Analystennotiz

Was der Prüfbestand wirklich hergibt.

Quasar zeigt, warum Code-Herkunft und bösartige Absicht nicht dasselbe sind. Wir binden Aussagen an die archivierte Nachrichtenklasse und beschreiben Fähigkeiten, ohne jede abgeleitete Binärdatei automatisch als aktive RAT-Operation zu etikettieren.

Evidence AnchorQuellstand geprüft
Artefakt
GetSystemInfoResponse.cs
SHA-256
45bd354d3741d30708107aa98372e742f8716e6a4148b5463a3c2c2e7915579e
Revision
9508779fc0e91afd03775fd3fcc766eb8fb3a393
Analysegrundlage
Archivierte Upstream-Quelldatei mit lokal geprüftem Hash.
Malware / Evidence Atlas

Client-Konfiguration → Hostwirkung

Der Analysepfad dieses Berichts. Jeder Knoten zeigt, was belegt ist, wo Detection ansetzen kann und wo die Aussage endet.

5Ablaufknoten 3Detection-Artefakte 3Regelformate
Aussage

Client-Konfiguration

Die konkrete Konfiguration begrenzt, welche Infrastruktur- und Laufzeitaussagen gelten.

Detection-Schwerpunkt

Konfigurationsfelder mit Assemblyrevision verbinden.

Primärquellengebunden
Config Surface

Konfigurations-Fingerabdruck

Analyseachsen aus dem Bericht – keine Live-Konfiguration und kein universeller Familienindikator.

01
TransportTLS socket
Kernspur
02
Nachrichtenprotobuf
Kernspur
03
Installationconfigurable
Stütze
04
Pluginflächecapability map
Stütze
MODEL / 10E4CAC6Kernspur, Stütze und Grenze – keine Risikowerte
Detection Pack

Defensive Artefakte

Quelle, Validierung und Grenze gehören zu jeder Regel.

QuelleEigene Ableitung aus der im Bericht beschriebenen Struktur.Validierungyara-python kompiliert; synthetische Truth-Table 3/3.GrenzeYARA zeigt offene Code-Linie, nicht bösartige Absicht oder aktives C2.
YARARegel öffnen
Defensives Modell
rule DotNet_RAT_Quasar_Project_Identifiers {
 meta:
  author = "Ruhrdigital Studio"
  scope = "project lineage indicator; dual-use caveat"
 strings:
  $client = "Quasar.Client" ascii wide
  $common = "Quasar.Common" ascii wide
  $messages = "Quasar.Common.Messages" ascii wide
  $config = "Quasar.Client.Config" ascii wide
 condition:
  uint16(0) == 0x5a4d and filesize < 25MB and 3 of them
}

Evidenzstatus Im Prüfbestand belegtPrimärquellengebundenBegrenzt oder offen

Prüfauftrag, Stand und Beleggrenze

Archivierte Upstream-Codebasis von Quasar und MITRE-Technikzuordnung; keine Kampagne oder unbekannte Binärdatei. Die Leitfrage lautet: Welche Architektur- und Verhaltensaussagen trägt dieser konkrete Prüfstand, und welche bleiben ausschließlich der Quelle zugeschrieben?

ARTIFACT MANIFEST

Dateien und Prüfsummen

quasar/Quasar.Common/Messages/GetSystemInfoResponse.cs
45bd354d3741d30708107aa98372e742f8716e6a4148b5463a3c2c2e7915579e

Protobuf-Antwortvertrag für Systeminformationen.

Was belegt ist — und was fehlt

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.

FILE / EVIDENCE MAP

Belegkette und offene Laufzeitlücke

Die Karte trennt Primärquelle, reproduzierbaren Quellstand und nicht selbst erhobene Laufzeitevidenz.

Eine Dateireferenz belegt kein Laufzeitverhalten. Dokumentierte Aufbereitung ist keine erneute Ausführung.

QuelleWerkzeugAbleitungBelegFehlendReferenz geprüftDokumentiertUngeklärt

Beleglage

Nachvollziehbare Quelle mit expliziter Sample-Lücke.

Primärquelle

Veröffentlichte Analyse beziehungsweise gepinnter Upstream-Stand.

  • Primärquelle → GetSystemInfoResponse.cstechnisch gegengeprüft · Referenz geprüft

    Datei, Commit und SHA-256 wurden fixiert.

Zugehöriges Berichtskapitel →
GetSystemInfoResponse.cs

Lokal hashgebundener, nur statisch gelesener Quellstand.

Datei
quasar/Quasar.Common/Messages/GetSystemInfoResponse.cs
SHA-256
45bd354d3741d30708107aa98372e742f8716e6a4148b5463a3c2c2e7915579e
Fundstelle
1-13
  • Primärquelle → GetSystemInfoResponse.cstechnisch gegengeprüft · Referenz geprüft

    Datei, Commit und SHA-256 wurden fixiert.

  • GetSystemInfoResponse.cs → Kein lokales Malware-SampleLaufzeit offen · Ungeklärt

    Die Prüfung bleibt statisch beziehungsweise quellengebunden.

Zugehöriges Berichtskapitel →
Kein lokales Malware-Sample

Keine eigene Laufzeit-, C2- oder Kampagnentelemetrie.

  • GetSystemInfoResponse.cs → Kein lokales Malware-SampleLaufzeit offen · Ungeklärt

    Die Prüfung bleibt statisch beziehungsweise quellengebunden.

Zugehöriges Berichtskapitel →

Grenze: Eine veröffentlichte Beobachtung ist keine eigene Reproduktion.

Eintritt und Lieferkette

QuasarRAT ist eine offen verfügbare Fernzugriffscodebasis und kein einzelner unveränderlicher Kampagnen-Hash. Verteilung geschieht außerhalb des Projekts und variiert nach Akteur. Dieser Bericht beginnt deshalb beim prüfbaren Client/Server- und Nachrichtenmodell, nicht bei einer erfundenen universellen Infektionskette.

Architektur und Datenfluss

Gemeinsame protobuf-Verträge definieren Anfragen und Antworten für Systeminformationen, Prozesse, Laufwerke, Dateien, Registry, Desktop und weitere Funktionen. Separate Handler auf Client und Server setzen sie um. Diese explizite Typisierung erlaubt strukturelle Netzwerk- und Speicheranalyse, ohne eine aktive Steuerverbindung aufzubauen.

Originalcode als Architekturbeleg

Der kurze Auszug zeigt nur die im Kapitel benannte Struktur. Er wird nicht ausgeführt und enthält keine vollständige operative Implementierung.

csharpKleiner protobuf-Vertrag für SysteminformationenAnalysewerkzeug-Auszug
quasar/Quasar.Common/Messages/GetSystemInfoResponse.cs · Zeilen 7-12
Datei-Hash anzeigenSHA-256 45bd354d3741d30708107aa98372e742f8716e6a4148b5463a3c2c2e7915579e
    [ProtoContract]
    public class GetSystemInfoResponse : IMessage
    {
        [ProtoMember(1)]
        public List<Tuple<string, string>> SystemInfos { get; set; }
    }
Code lesen

Analyseabwehr und Persistenz

MITRE dokumentiert unter anderem Run-Key-/Startup-Persistenz und Varianten mit zusätzlichen Umgehungstechniken. Solche Funktionen können in Forks verändert oder entfernt sein. Ein Namespace, Zertifikat oder Klassenname ist deshalb nur zusammen mit Protokoll- und Hostverhalten aussagekräftig.

Fähigkeiten, Ziel und Wirkung

Die Codebasis umfasst Fernshell, Dateiverwaltung, Registry-, Prozess-, Desktop- und Zugangsdatenfunktionen. Diese Capability-Liste beschreibt mögliche Wirkung des geprüften Stands; sie beweist nicht, welche Funktion in einer konkreten Infektion benutzt wurde.

Telemetrieplan und Beweiskette

Defensive Modelle sollten .NET-/protobuf-Struktur, persistente Clientinstallation, ausgehende langlebige Verbindung und nachfolgende sensitive Aktionen verbinden. Forks reduzieren den Wert reiner String- oder Namespace-Regeln; Sequenzen bleiben robuster. 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.

Detection Engineering und Gegenprüfung

Defensive Modelle sollten .NET-/protobuf-Struktur, persistente Clientinstallation, ausgehende langlebige Verbindung und nachfolgende sensitive Aktionen verbinden. Forks reduzieren den Wert reiner String- oder Namespace-Regeln; Sequenzen bleiben robuster. Das folgende Modell ist bewusst eng, nicht engine-validiert und muss gegen legitime Administrations- und Softwarepfade getestet werden.

yamlDefensives Modell, nicht engine-validiertDefensives Modell
title: QuasarRAT remote-shell sequence candidate
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    Image|endswith: '\\cmd.exe'
    ParentImage|contains:
      - '\\AppData\\'
      - '\\Temp\\'
    CommandLine|contains: '/c'
  condition: selection
falsepositives:
  - Legitimate administrative or software activity with the same isolated pattern
level: medium
Code lesen

Alternativhypothesen und Negativtests

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. Offener Upstream-Code ist Architekturbeleg, aber keine Zuordnung einer Binärdatei oder eines Akteurs. Der Stand ist archiviert; Forks können Protokoll, Persistenz und Fähigkeiten verändern. Ein negativer Gegencheck verwirft nur die geprüfte Hypothese; er ist keine allgemeine Entwarnung.

Attribution und Variantenrisiko

Offener Upstream-Code ist Architekturbeleg, aber keine Zuordnung einer Binärdatei oder eines Akteurs. Der Stand ist archiviert; Forks können Protokoll, Persistenz und Fähigkeiten verändern.

Abschließende Bewertung

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.

Befunde im Überblick

  • Protobuf-Verträge machen die Client/Server-Funktionsgrenzen explizit.
  • Offene Codebasis und kampagnenspezifischer Fork müssen getrennt werden.
  • Capability beweist Möglichkeit, nicht Nutzung in einem konkreten Vorfall.

Grenzen der Prüfung

  • Keine unabhängige Sample-, Laufzeit-, C2- oder Kampagnenverifikation.
  • Offener Upstream-Code ist Architekturbeleg, aber keine Zuordnung einer Binärdatei oder eines Akteurs. Der Stand ist archiviert; Forks können Protokoll, Persistenz und Fähigkeiten verändern.
  • Defensive Modelle sind nicht mit einer Zielengine validiert.

Kontext, nicht Beleg

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.

Quasar archived upstream source ↗MITRE ATT&CK — QuasarRAT S0262 ↗
Abschließendes Urteil

Fazit

Fazit: Struktur vor Signatur

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.

Nächste Schritte

  • Modelle gegen synthetische Positivfälle und legitime Negativfälle prüfen.
  • Version und Evidenzstand bei jeder Aktualisierung neu binden.
  • Laufzeitbehauptungen erst nach eigener, rechtmäßig verfügbarer Telemetrie erweitern.
Worauf dieses Urteil beruhtHoch für direkt prüfbare Struktur; begrenzt für nicht selbst reproduzierte Laufzeit- und Kampagnenaussagen.
Archivierte Upstream-Codebasis von Quasar und MITRE-Technikzuordnung; keine Kampagne oder unbekannte Binärdatei.
← Alle Research-Audits

Gespräch starten

Projekt besprechen.

Gespräch starten