Skip to content

YARA · Mandiant red team tool countermeasures

FIREEYE_RT_APT_Backdoor_Win_GORAT_1

This detects if a sample is less than 50KB and has a number of strings found in the Gorat shellcode (stage0 loader). The loader contains an embedded DLL (stage0.dll) that contains a number of unique strings. The 'Cookie' string found in this loader is important as this cookie is needed by the C2 server to download the Gorat implant (stage1 payload).

APT / threat actorMandiant red team tool countermeasuresBSD 2-Clause LicenseCompiles with YARA-X
Author
FireEye
Date
2020-12-08
Modified
2020-12-09
Score / Quality
75 / 75

What this rule detects

This detects if a sample is less than 50KB and has a number of strings found in the Gorat shellcode (stage0 loader). The loader contains an embedded DLL (stage0.dll) that contains a number of unique strings. The 'Cookie' string found in this loader is important as this cookie is needed by the C2 server to download the Gorat implant (stage1 payload).

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

Summary generated from the rule's metadata and condition.

Rule source

apt-backdoor-win-gorat-1.yarBSD 2-Clause License
rule FIREEYE_RT_APT_Backdoor_Win_GORAT_1 : FILE
{
	meta:
		description = "This detects if a sample is less than 50KB and has a number of strings found in the Gorat shellcode (stage0 loader). The loader contains an embedded DLL (stage0.dll) that contains a number of unique strings. The 'Cookie' string found in this loader is important as this cookie is needed by the C2 server to download the Gorat implant (stage1 payload)."
		author = "FireEye"
		id = "5ac84cf1-49fb-533d-b211-b1a92239063b"
		date = "2020-12-08"
		modified = "2020-12-09"
		reference = "https://github.com/mandiant/red_team_tool_countermeasures/"
		source_url = "https://github.com/mandiant/red_team_tool_countermeasures//blob/3561b71724dbfa3e2bb78106aaa2d7f8b892c43b/rules/REDFLARE (Gorat)/production/yara/APT_Backdoor_Win_GORAT_1.yar#L4-L23"
		license_url = "https://github.com/mandiant/red_team_tool_countermeasures//blob/3561b71724dbfa3e2bb78106aaa2d7f8b892c43b/LICENSE.txt"
		hash = "66cdaa156e4d372cfa3dea0137850d20"
		logic_hash = "f6a0a923f64375e7ffdc080aec41db19a9e162405f1290ed0bbcce5a342bdadb"
		score = 75
		quality = 75
		tags = "FILE"
		rev = 4

	strings:
		$s1 = "httpComms.dll" ascii wide
		$s2 = "Cookie: SID1=%s" ascii wide
		$s3 = "Global\\" ascii wide
		$s4 = "stage0.dll" ascii wide
		$s5 = "runCommand" ascii wide
		$s6 = "getData" ascii wide
		$s7 = "initialize" ascii wide
		$s8 = "Windows NT %d.%d;" ascii wide
		$s9 = "!This program cannot be run in DOS mode." ascii wide

	condition:
		filesize < 50KB and all of them
}

Strings (9 patterns)

IdentifierTypeValueModifiers
$s1text"httpComms.dll"ascii wide
$s2text"Cookie: SID1=%s"ascii wide
$s3text"Global\\"ascii wide
$s4text"stage0.dll"ascii wide
$s5text"runCommand"ascii wide
$s6text"getData"ascii wide
$s7text"initialize"ascii wide
$s8text"Windows NT %d.%d;"ascii wide
$s9text"!This program cannot be run in DOS mode."ascii wide

Condition

filesize < 50KB and all of them

In plain words (Heuristic)

  • The file must be smaller than 50KB (a cheap guard that skips large files).
  • 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).

  • 66cdaa156e4d372cfa3dea0137850d20

Licence & attribution

Author: FireEye

Source repository: Mandiant red team tool countermeasures @ 3561b71724

Licence: BSD 2-Clause License (repository licence)

Copyright notice: Copyright (c) 2023, MANDIANT

Original rule

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

Rule id: 5ac84cf1-49fb-533d-b211-b1a92239063b

Metadata

rev4

Tags:FILE