YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_APT_Backdoor_SUNBURST_2
The SUNBURST backdoor uses a domain generation algorithm (DGA) as part of C2 communications. This rule is looking for each branch of the code that checks for which HTTP method is being used. This is in one large conjunction, and all branches are then tied together via disjunction. The grouping is intentionally designed so that if any part of the DGA is re-used in another sample, this signature should match that re-used portion. SUNBURST is a backdoor that has the ability to spawn and kill processes, write and delete files, set and create registry keys, gather system information, and disable a set of forensic analysis tools and services.
- Author
- FireEye
- Date
- 2020-12-14
- Modified
- 2023-12-05
- Score / Quality
- 85 / 83
What this rule detects
The SUNBURST backdoor uses a domain generation algorithm (DGA) as part of C2 communications. This rule is looking for each branch of the code that checks for which HTTP method is being used. This is in one large conjunction, and all branches are then tied together via disjunction. The grouping is intentionally designed so that if any part of the DGA is re-used in another sample, this signature should match that re-used portion. SUNBURST is a backdoor that has the ability to spawn and kill processes, write and delete files, set and create registry keys, gather system information, and disable a set of forensic analysis tools and services.
It defines 39 patterns (39 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_APT_Backdoor_SUNBURST_2
{
meta:
= "The SUNBURST backdoor uses a domain generation algorithm (DGA) as part of C2 communications. This rule is looking for each branch of the code that checks for which HTTP method is being used. This is in one large conjunction, and all branches are then tied together via disjunction. The grouping is intentionally designed so that if any part of the DGA is re-used in another sample, this signature should match that re-used portion. SUNBURST is a backdoor that has the ability to spawn and kill processes, write and delete files, set and create registry keys, gather system information, and disable a set of forensic analysis tools and services."
= "FireEye"
= "329071d5-c9c6-5ae1-a514-aea9f4037bac"
= "2020-12-14"
= "2023-12-05"
= "https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor.html"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_solarwinds_sunburst.yar#L28-L79"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "2bf0697b110bca88f712cbccaf0d2ba614d6093d6d9595659aefe088848d3826"
= 85
= 83
= ""
strings:
$a = "0y3Kzy8BAA==" wide
$aa = "S8vPKynWL89PS9OvNqjVrTYEYqNa3fLUpDSgTLVxrR5IzggA" wide
$ab = "S8vPKynWL89PS9OvNqjVrTYEYqPaauNaPZCYEQA=" wide
$ac = "C88sSs1JLS4GAA==" wide
$ad = "C/UEAA==" wide
$ae = "C89MSU8tKQYA" wide
$af = "8wvwBQA=" wide
$ag = "cyzIz8nJBwA=" wide
$ah = "c87JL03xzc/LLMkvysxLBwA=" wide
$ai = "88tPSS0GAA==" wide
$aj = "C8vPKc1NLQYA" wide
$ak = "88wrSS1KS0xOLQYA" wide
$al = "c87PLcjPS80rKQYA" wide
$am = "Ky7PLNAvLUjRBwA=" wide
$an = "06vIzQEA" wide
$b = "0y3NyyxLLSpOzIlPTgQA" wide
$c = "001OBAA=" wide
$d = "0y0oysxNLKqMT04EAA==" wide
$e = "0y3JzE0tLknMLQAA" wide
$f = "003PyU9KzAEA" wide
$h = "0y1OTS4tSk1OBAA=" wide
$i = "K8jO1E8uytGvNqitNqytNqrVA/IA" wide
$j = "c8rPSQEA" wide
$k = "c8rPSfEsSczJTAYA" wide
$l = "c60oKUp0ys9JAQA=" wide
$m = "c60oKUp0ys9J8SxJzMlMBgA=" wide
$n = "8yxJzMlMBgA=" wide
$o = "88lMzygBAA==" wide
$p = "88lMzyjxLEnMyUwGAA==" wide
$q = "C0pNL81JLAIA" wide
$r = "C07NzXTKz0kBAA==" wide
$s = "C07NzXTKz0nxLEnMyUwGAA==" wide
$t = "yy9IzStOzCsGAA==" wide
$u = "y8svyQcA" wide
$v = "SytKTU3LzysBAA==" wide
$w = "C84vLUpOdc5PSQ0oygcA" wide
$x = "C84vLUpODU4tykwLKMoHAA==" wide
$y = "C84vLUpO9UjMC07MKwYA" wide
$z = "C84vLUpO9UjMC04tykwDAA==" wide
condition:
($a and $b and $c and $d and $e and $f and $h and $i ) or ( $j and $k and $l and $m and $n and $o and $p and $q and $r and $s and ( $aa or $ab ) ) or ( $t and $u and $v and $w and $x and $y and $z and ( $aa or $ab ) ) or ( $ac and $ad and $ae and $af and $ag and $ah and ( $am or $an ) ) or ( $ai and $aj and $ak and $al and ( $am or $an ) )
}
Strings (39 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $a | text | "0y3Kzy8BAA==" | wide |
| $aa | text | "S8vPKynWL89PS9OvNqjVrTYEYqNa3fLUpDSgTLVxrR5IzggA" | wide |
| $ab | text | "S8vPKynWL89PS9OvNqjVrTYEYqPaauNaPZCYEQA=" | wide |
| $ac | text | "C88sSs1JLS4GAA==" | wide |
| $ad | text | "C/UEAA==" | wide |
| $ae | text | "C89MSU8tKQYA" | wide |
| $af | text | "8wvwBQA=" | wide |
| $ag | text | "cyzIz8nJBwA=" | wide |
| $ah | text | "c87JL03xzc/LLMkvysxLBwA=" | wide |
| $ai | text | "88tPSS0GAA==" | wide |
| $aj | text | "C8vPKc1NLQYA" | wide |
| $ak | text | "88wrSS1KS0xOLQYA" | wide |
| $al | text | "c87PLcjPS80rKQYA" | wide |
| $am | text | "Ky7PLNAvLUjRBwA=" | wide |
| $an | text | "06vIzQEA" | wide |
| $b | text | "0y3NyyxLLSpOzIlPTgQA" | wide |
| $c | text | "001OBAA=" | wide |
| $d | text | "0y0oysxNLKqMT04EAA==" | wide |
| $e | text | "0y3JzE0tLknMLQAA" | wide |
| $f | text | "003PyU9KzAEA" | wide |
| $h | text | "0y1OTS4tSk1OBAA=" | wide |
| $i | text | "K8jO1E8uytGvNqitNqytNqrVA/IA" | wide |
| $j | text | "c8rPSQEA" | wide |
| $k | text | "c8rPSfEsSczJTAYA" | wide |
| $l | text | "c60oKUp0ys9JAQA=" | wide |
| $m | text | "c60oKUp0ys9J8SxJzMlMBgA=" | wide |
| $n | text | "8yxJzMlMBgA=" | wide |
| $o | text | "88lMzygBAA==" | wide |
| $p | text | "88lMzyjxLEnMyUwGAA==" | wide |
| $q | text | "C0pNL81JLAIA" | wide |
| $r | text | "C07NzXTKz0kBAA==" | wide |
| $s | text | "C07NzXTKz0nxLEnMyUwGAA==" | wide |
| $t | text | "yy9IzStOzCsGAA==" | wide |
| $u | text | "y8svyQcA" | wide |
| $v | text | "SytKTU3LzysBAA==" | wide |
| $w | text | "C84vLUpOdc5PSQ0oygcA" | wide |
| $x | text | "C84vLUpODU4tykwLKMoHAA==" | wide |
| $y | text | "C84vLUpO9UjMC07MKwYA" | wide |
| $z | text | "C84vLUpO9UjMC04tykwDAA==" | wide |
Condition
($a and $b and $c and $d and $e and $f and $h and $i ) or ( $j and $k and $l and $m and $n and $o and $p and $q and $r and $s and ( $aa or $ab ) ) or ( $t and $u and $v and $w and $x and $y and $z and ( $aa or $ab ) ) or ( $ac and $ad and $ae and $af and $ag and $ah and ( $am or $an ) ) or ( $ai and $aj and $ak and $al and ( $am or $an ) )In plain words (Heuristic)
- Pattern $a must be present.
- Pattern $b must be present.
- Pattern $c must be present.
- Pattern $d must be present.
- Pattern $e must be present.
- Pattern $f must be present.
- Pattern $h must be present.
- Pattern $i must be present.
- Pattern $j must be present.
- Pattern $k must be present.
- Pattern $l must be present.
- Pattern $m must be present.
- Pattern $n must be present.
- Pattern $o must be present.
- Pattern $p must be present.
- Pattern $q must be present.
- Pattern $r must be present.
- Pattern $s must be present.
- Pattern $aa must be present.
- Pattern $ab must be present.
- Pattern $t must be present.
- Pattern $u must be present.
- Pattern $v must be present.
- Pattern $w must be present.
- Pattern $x must be present.
- Pattern $y must be present.
- Pattern $z must be present.
- Pattern $ac must be present.
- Pattern $ad must be present.
- Pattern $ae must be present.
- Pattern $af must be present.
- Pattern $ag must be present.
- Pattern $ah must be present.
- Pattern $am must be present.
- Pattern $an must be present.
- Pattern $ai must be present.
- Pattern $aj must be present.
- Pattern $ak must be present.
- Pattern $al must be present.
Test this rule in your browser
Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.
Licence & attribution
Author: FireEye
Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Licence: Detection Rule License 1.1 (repository licence)
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: 329071d5-c9c6-5ae1-a514-aea9f4037bac
Related rules
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-08
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-01
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-08