Client configuration
The concrete configuration bounds which infrastructure and runtime claims apply.
Join configuration fields with assembly revision.
Bound to primary researchMalware Analysis / Artefact: GetSystemInfoResponse.cs · SHA-256 45bd354d3741…
Static source review of the archived open C# codebase: protobuf messages, client/server separation, persistence and defensive observation points.
No independent sample, runtime, C2 or campaign verification.
Quasar demonstrates why code lineage and malicious intent are not the same thing. Claims are tied to the archived message class and describe capabilities without labelling every derivative binary as an active RAT operation.
45bd354d3741d30708107aa98372e742f8716e6a4148b5463a3c2c2e7915579e9508779fc0e91afd03775fd3fcc766eb8fb3a393The analysis path for this report. Every node shows what is supported, where detection can start and where the claim stops.
The concrete configuration bounds which infrastructure and runtime claims apply.
Join configuration fields with assembly revision.
Bound to primary researchThe client establishes a protected connection to the configured peer.
Review certificate, destination and retry traits together.
Bound to primary researchStructured packets carry control messages and results.
Bind packet class to subsequent action over time.
Bound to primary researchA named capability is initially code surface, not proof of execution.
Require handler invocation and concrete host effect.
Bound to primary researchImpact is assessed per received task and observed system event.
Join network, process and file telemetry.
Bounded or unresolvedReview pivots derived from the report — not a live configuration or universal family indicator.
Source, validation and limits accompany every rule.
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
}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: mediumDeviceProcessEvents
| where Timestamp > ago(30d) and FileName =~ "cmd.exe"
| where InitiatingProcessFolderPath has_any ("\\AppData\\", "\\Temp\\") and ProcessCommandLine has "/c"
| project Timestamp, DeviceName, ProcessCommandLine, InitiatingProcessSHA256Archived Quasar upstream source and MITRE technique mapping; no campaign or unknown binary. The bounded question is: which architecture and behaviour claims does this specific evidence set support, and which remain attributable only to the source?
45bd354d3741d30708107aa98372e742f8716e6a4148b5463a3c2c2e7915579eProtobuf response contract for system information.
Primary sources, statically inspectable code and runtime observations carry different evidentiary weight. The map keeps those layers separate; missing first-party observation is not replaced by plausibility.
The map separates primary source, reproducible source snapshots and runtime evidence not collected here.
A file reference does not establish runtime behaviour. Recorded processing is not a new execution.
Traceable source with an explicit sample gap.
Published analysis or pinned upstream snapshot.
File, commit and SHA-256 were pinned.
Locally hash-bound source snapshot, read statically only.
File, commit and SHA-256 were pinned.
The review remains static or source-bound.
No first-party runtime, C2 or campaign telemetry.
The review remains static or source-bound.
Limit: A published observation is not an independent reproduction.
QuasarRAT is an openly available remote-access codebase, not one immutable campaign hash. Distribution occurs outside the project and varies by actor. This report therefore starts with the inspectable client/server and message model rather than inventing a universal infection chain.
Shared protobuf contracts define requests and responses for system information, processes, drives, files, registry, desktop and other functions. Separate client and server handlers implement them. This explicit typing enables structural network and memory analysis without establishing an active control connection.
The short excerpt shows only the structure discussed in this chapter. It is not executed and does not contain a complete operational implementation.
SHA-256 45bd354d3741d30708107aa98372e742f8716e6a4148b5463a3c2c2e7915579e [ProtoContract]
public class GetSystemInfoResponse : IMessage
{
[ProtoMember(1)]
public List<Tuple<string, string>> SystemInfos { get; set; }
}
Original source-file lines. Choose a note to highlight its range.
MITRE documents Run-key/startup persistence and variants with additional evasion techniques. Such functionality can be changed or removed in forks. A namespace, certificate or class name is therefore meaningful only with protocol and host behaviour.
The codebase includes remote shell, file management, registry, process, desktop and credential capabilities. This capability list describes possible impact in the reviewed snapshot; it does not prove which function was used in a specific infection.
Defensive models should connect .NET/protobuf structure, persistent client installation, a long-lived outbound connection and subsequent sensitive actions. Forks reduce the value of string- or namespace-only rules; sequences remain stronger. A defensible investigation preserves process GUID and full ancestry, user and session, command line, signer and hash state, file and registry changes, DNS/connection destinations and follow-on access to sensitive data in one timeline. Temporal proximity is an evidence parameter, not mere visualization. Missing sensor coverage is marked per stage so that an unseen event is not falsely treated as an event that did not occur.
Defensive models should connect .NET/protobuf structure, persistent client installation, a long-lived outbound connection and subsequent sensitive actions. Forks reduce the value of string- or namespace-only rules; sequences remain stronger. The following model is deliberately narrow, not engine-validated and must be tested against legitimate administration and software paths.
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
Line numbers refer to this excerpt. Choose a note to highlight its range.
Before assigning the family, each signal used by the model is tested independently against software deployment, administration tools, installers, browser or backup software and known internal scripts. At least one structural anchor and one temporally consistent behaviour chain must align. Open upstream code is architectural evidence, not attribution of a binary or actor. The snapshot is archived; forks can change protocol, persistence and capabilities. A negative countercheck rejects only the tested hypothesis; it is not a general all-clear.
Open upstream code is architectural evidence, not attribution of a binary or actor. The snapshot is archived; forks can change protocol, persistence and capabilities.
The review provides a defensible architecture and detection baseline for the named snapshot. It is not proof of current activity, complete variant coverage or a specific operator.
The Evidence Anchor at the start identifies the binary, file or revision actually used. These links provide context and reported observations; they do not substitute for local sample analysis.
Quasar archived upstream source ↗MITRE ATT&CK — QuasarRAT S0262 ↗The greatest defensive value comes from connecting entry, internal architecture, persistence, impact and telemetry. Individual names, hashes or IOCs remain supporting evidence, not the conclusion.
Start a conversation