Skip to content

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_M_APT_Downloader_BOOMMIC

Rule looking for BOOMMIC malware

APT / threat actorSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
Author
Mandiant
Date
2022-04-28
Modified
2023-12-05
Score / Quality
75 / 85

What this rule detects

Rule looking for BOOMMIC malware

Targets: Windows PE.

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

Summary generated from the rule's metadata and condition.

Rule source

m-apt-downloader-boommic.yarDetection Rule License 1.1
rule SIGNATURE_BASE_M_APT_Downloader_BOOMMIC : FILE
{
	meta:
		description = "Rule looking for BOOMMIC malware"
		author = "Mandiant"
		id = "34ea08a6-5d6f-5cdd-a629-fa36313c98f7"
		date = "2022-04-28"
		modified = "2023-12-05"
		reference = "https://www.mandiant.com/resources/tracking-apt29-phishing-campaigns"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_apt29_nobelium_apr22.yar#L19-L38"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "c561b19464597f896d31307c0383fbc639cf4211600513e1251a3f59405bfed6"
		score = 75
		quality = 85
		tags = "FILE"

	strings:
		$loc_10001000 = { 55 8B EC 8D 45 0C 50 8B 4D 08 51 6A 02 FF 15 [4] 85 C0 74 09 B8 01 00 00 00 EB 04 EB 02 33 C0 5D C3 }
		$loc_100012fd = {6A 00 8D 55 EC 52 8B 45 D4 50 6A 05 8B 4D E4 51 FF 15 }
		$func1 = "GetComputerNameExA" ascii
		$func2 = "HttpQueryInfoA" ascii

	condition:
		uint16( 0 ) == 0x5a4d and uint32( uint32( 0x3C ) ) == 0x00004550 and filesize < 1MB and ( ( $loc_10001000 and $func1 ) or ( $loc_100012fd and $func2 ) )
}

Strings (4 patterns)

IdentifierTypeValueModifiers
$loc_10001000hex{ 55 8B EC 8D 45 0C 50 8B 4D 08 51 6A 02 FF 15 [4] 85 C0 74 09 B8 01 00 00 00 EB 04 EB 02 33 C0 5D C3 }
$loc_100012fdhex{6A 00 8D 55 EC 52 8B 45 D4 50 6A 05 8B 4D E4 51 FF 15 }
$func1text"GetComputerNameExA"ascii
$func2text"HttpQueryInfoA"ascii

Condition

uint16( 0 ) == 0x5a4d and uint32( uint32( 0x3C ) ) == 0x00004550 and filesize < 1MB and ( ( $loc_10001000 and $func1 ) or ( $loc_100012fd and $func2 ) )

In plain words (Heuristic)

  • The file must start with “MZ” — a Windows executable (PE).
  • The file must be smaller than 1MB (a cheap guard that skips large files).
  • Pattern $loc_10001000 must be present.
  • Pattern $func1 must be present.
  • Pattern $loc_100012fd must be present.
  • Pattern $func2 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.

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

Open in editor

References

Licence & attribution

Author: Mandiant

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: 34ea08a6-5d6f-5cdd-a629-fa36313c98f7

Tags:FILE