Skip to content

YARA · Google Cloud Threat Intelligence (GCTI)

GCTI_Cobaltstrike_Resources_Dnsstager_Bin_V1_47_Through_V4_X

Cobalt Strike's resources/dnsstager.bin signature for versions 1.47 to 4.x

Hack toolCobalt StrikeGoogle Cloud Threat Intelligence (GCTI)Apache License 2.0Compiles with YARA-X (with warnings)
Author
gssincla@google.com
Date
2022-11-18
Modified
2022-11-19
Score / Quality
75 / 83

What this rule detects

Cobalt Strike's resources/dnsstager.bin signature for versions 1.47 to 4.x

Associated malware family: Cobalt Strike.

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

YARA-X says: warning[text_as_hex]: hex pattern could be written as text literal

Summary generated from the rule's metadata and condition.

Rule source

cobaltstrike-resources-dnsstager-bin-v1-47-through-v4-x.yarApache License 2.0
rule GCTI_Cobaltstrike_Resources_Dnsstager_Bin_V1_47_Through_V4_X
{
	meta:
		description = "Cobalt Strike's resources/dnsstager.bin signature for versions 1.47 to 4.x"
		author = "gssincla@google.com"
		id = "e1b0e368-9bcf-5d9b-b2b3-8414742f213e"
		date = "2022-11-18"
		modified = "2022-11-19"
		reference = "https://cloud.google.com/blog/products/identity-security/making-cobalt-strike-harder-for-threat-actors-to-abuse"
		source_url = "https://github.com/chronicle/GCTI/blob/1c5fd42b1895098527fde00c2d9757edf6b303bb/YARA/CobaltStrike/CobaltStrike__Resources_Dnsstager_Bin_v1_47_through_v4_x.yara#L17-L78"
		license_url = "https://github.com/chronicle/GCTI/blob/1c5fd42b1895098527fde00c2d9757edf6b303bb/LICENSE"
		hash = "10f946b88486b690305b87c14c244d7bc741015c3fef1c4625fa7f64917897f1"
		logic_hash = "d4500d8a83a821e1df9e808b17a87c1207d78ea0e03886544a632176fe93ccd0"
		score = 75
		quality = 83
		tags = ""

	strings:
		$apiLocator = {
			31 ?? 
			AC
			C1 ?? 0D 
			01 ?? 
			38 ?? 
			75 ?? 
			03 [2]
			3B [2]
			75 ?? 
			5? 
			8B ?? 24 
			01 ?? 
			66 8B [2]
			8B ?? 1C 
			01 ?? 
			8B ?? 8B 
			01 ?? 
			89 [3]
			5? 
			5? 
		}
		$dnsapi = { 68 64 6E 73 61 }

	condition:
		$apiLocator and $dnsapi
}

Strings (2 patterns)

IdentifierTypeValueModifiers
$apiLocatorhex{ 31 ?? AC C1 ?? 0D 01 ?? 38 ?? 75 ?? 03 [2] 3B [2] 75 ?? 5? 8B ?? 24 01 ?? 66 8B [2] 8B ?? 1C 01 ?? …
$dnsapihex{ 68 64 6E 73 61 }

Condition

$apiLocator and $dnsapi

In plain words (Heuristic)

  • Pattern $apiLocator must be present.
  • Pattern $dnsapi 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

Sample hashes

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

  • 10f946b88486b690305b87c14c244d7bc741015c3fef1c4625fa7f64917897f1

Licence & attribution

Author: gssincla@google.com

Source repository: Google Cloud Threat Intelligence (GCTI) @ 1c5fd42b18

Licence: Apache License 2.0 (repository licence)

Original rule

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

Rule id: e1b0e368-9bcf-5d9b-b2b3-8414742f213e

More Cobalt Strike rules