YARA · Mandiant red team tool countermeasures
FIREEYE_RT_APT_Loader_MSIL_PGF_2
base.js, ./lib/payload/techniques/jscriptdotnet/jscriptdotnet_payload.py
- Author
- FireEye
- Date
- 2020-11-25
- Modified
- 2020-12-09
- Score / Quality
- 75 / 75
What this rule detects
base.js, ./lib/payload/techniques/jscriptdotnet/jscriptdotnet_payload.py
Targets: Windows PE.
It defines 4 patterns (3 text, 1 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule FIREEYE_RT_APT_Loader_MSIL_PGF_2 : FILE
{
meta:
= "base.js, ./lib/payload/techniques/jscriptdotnet/jscriptdotnet_payload.py"
= "FireEye"
= "c5f2ec90-cd9b-53ce-893b-e44192fcd507"
= "2020-11-25"
= "2020-11-25"
= "2020-12-09"
= "https://github.com/mandiant/red_team_tool_countermeasures/"
= "https://github.com/mandiant/red_team_tool_countermeasures//blob/3561b71724dbfa3e2bb78106aaa2d7f8b892c43b/rules/PGF/production/yara/APT_Loader_MSIL_PGF_2.yar#L4-L20"
= "https://github.com/mandiant/red_team_tool_countermeasures//blob/3561b71724dbfa3e2bb78106aaa2d7f8b892c43b/LICENSE.txt"
= "7c2a06ceb29cdb25f24c06f2a8892fba"
= "b962ea30c063009c0383e25edda3a65202bea4496d0d6228549dcea82bba0d03"
= 75
= 75
= "FILE"
= 1
strings:
$sb1 = { 2? 00 10 00 00 0A 1? 40 0? 72 [4] 0? 0? 28 [2] 00 0A 0? 03 28 [2] 00 0A 74 [2] 00 01 6F [2] 00 0A 03 1? 0? 74 [2] 00 01 28 [2] 00 0A 6? 0? 0? 28 [2] 00 06 D0 [2] 00 01 28 [2] 00 0A 1? 28 [2] 00 0A 79 [2] 00 01 71 [2] 00 01 13 ?? 0? 1? 11 ?? 0? 74 [2] 00 01 28 [2] 00 0A 28 [2] 00 0A 7E [2] 00 0A 13 ?? 1? 13 ?? 7E [2] 00 0A 13 ?? 03 28 [2] 00 0A 74 [2] 00 01 6F [2] 00 0A 03 1? 1? 11 ?? 11 ?? 1? 11 ?? 28 [2] 00 06 }
$ss1 = "\x00CreateThread\x00"
$ss2 = "\x00ScriptObjectStackTop\x00"
$ss3 = "\x00Microsoft.JScript\x00"
condition:
( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and all of them
}
Strings (4 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $sb1 | hex | { 2? 00 10 00 00 0A 1? 40 0? 72 [4] 0? 0? 28 [2] 00 0A 0? 03 28 [2] 00 0A 74 [2] 00 01 6F [2] 00 0A 03 1? 0? 74 [2] 00 01 28 [2] 00 0A 6? 0? 0? 28 [2] 00 06 D0 … | |
| $ss1 | text | "\x00CreateThread\x00" | |
| $ss2 | text | "\x00ScriptObjectStackTop\x00" | |
| $ss3 | text | "\x00Microsoft.JScript\x00" |
Condition
( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and all of themIn plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- 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.
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- 7c2a06ceb29cdb25f24c06f2a8892fba
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
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: c5f2ec90-cd9b-53ce-893b-e44192fcd507
Metadata
| rev | 1 |
|---|
Tags:FILE
Related rules
- APT / threat actorMandiant red team tool countermeasures· FireEye· 2020-12-08
- APT / threat actorMandiant red team tool countermeasures· FireEye· 2020-12-08
- APT / threat actorMandiant red team tool countermeasures· FireEye· 2020-12-02
- APT / threat actorMandiant red team tool countermeasures· FireEye· 2020-12-02
- APT / threat actorMandiant red team tool countermeasures· FireEye· 2020-11-27
- APT / threat actorMandiant red team tool countermeasures· FireEye· 2020-12-02
- APT / threat actorMandiant red team tool countermeasures· FireEye· 2020-12-02
- APT / threat actorMandiant red team tool countermeasures· FireEye· 2020-11-27