Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_MAL_G_APT_Backdoor_BRICKSTORM_3

Detects BRICKSTORM backdoor used by APT group UNC5221 (China Nexus)

MalwareSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
Google Threat Intelligence Group (GTIG) (modified by Florian Roth)
Date
2025-09-25
Modified
2026-05-15
Score / Quality
75 / 85

What this rule detects

Detects BRICKSTORM backdoor used by APT group UNC5221 (China Nexus)

It defines 5 patterns (4 text, 1 hex, 0 regex).

Summary generated from the rule's metadata and condition.

Rule source

mal-g-apt-backdoor-brickstorm-3.yarDetection Rule License 1.1
rule SIGNATURE_BASE_MAL_G_APT_Backdoor_BRICKSTORM_3 : FILE
{
	meta:
		description = "Detects BRICKSTORM backdoor used by APT group UNC5221 (China Nexus)"
		author = "Google Threat Intelligence Group (GTIG) (modified by Florian Roth)"
		id = "d50d60ec-0238-569e-911a-696b994416f9"
		date = "2025-09-25"
		modified = "2026-05-15"
		reference = "https://cloud.google.com/blog/topics/threat-intelligence/brickstorm-espionage-campaign"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_cn_brickstorm_sep25.yar#L1-L18"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		hash = "931eacd7e5250d29903924c31f41b7e5"
		logic_hash = "168bc2bdfff6a135f4ec89f8cf79051e6dcd242b314e3238553d67929995a9ea"
		score = 75
		quality = 85
		tags = "FILE"

	strings:
		$str1 = { 48 8B 05 ?? ?? ?? ?? 48 89 04 24 E8 ?? ?? ?? ?? 48 B8 ?? ?? ?? ?? ?? ?? ?? ?? 48 89 04 24 [0-5] E8 ?? ?? ?? ?? EB ?? }
		$str4 = "decompress" ascii
		$str5 = "MIMEHeader" ascii
		$str6 = "ResolveReference" ascii
		$str7 = "115792089210356248762697446949407573529996955224135760342422259061068512044369115792089210356248762697446949407573530086143415290314195533631308867097853951" ascii

	condition:
		uint16( 0 ) == 0x457F and all of them
}

Strings (5 patterns)

IdentifierTypeValueModifiers
$str1hex{ 48 8B 05 ?? ?? ?? ?? 48 89 04 24 E8 ?? ?? ?? ?? 48 B8 ?? ?? ?? ?? ?? ?? ?? ?? 48 89 04 24 [0-5] E8 ?? ?? ?? ?? EB ?? }
$str4text"decompress"ascii
$str5text"MIMEHeader"ascii
$str6text"ResolveReference"ascii
$str7text"115792089210356248762697446949407573529996955224135760342422259061068512044369115792089210356248762697446949407573530086143415290314195533631308867097853951"ascii

Condition

uint16( 0 ) == 0x457F and all of them

In plain words (Heuristic)

  • All patterns in the rule must match.

Test this rule in your browser

Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.

Drop a file here or click to chooseScanned locally with YARA-X. Files up to 200 MB.

Open in editor

References

Sample hashes

Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).

  • 931eacd7e5250d29903924c31f41b7e5

Licence & attribution

Author: Google Threat Intelligence Group (GTIG) (modified by Florian Roth)

Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Licence: Detection Rule License 1.1 (repository licence)

Original rule

Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.

Rule id: d50d60ec-0238-569e-911a-696b994416f9

Tags:FILE