YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_Hacktool_MSIL_Sharpivot_3_1
This rule looks for .NET PE files that have the strings of various method names in the SharPivot code.
- Author
- FireEye
- Date
- 2020-12-08
- Modified
- 2025-02-12
- Score / Quality
- 75 / 85
What this rule detects
This rule looks for .NET PE files that have the strings of various method names in the SharPivot code.
Targets: Windows PE.
It defines 18 patterns (18 text, 0 hex, 0 regex).
YARA-X says: warning[duplicate_pattern_value]: duplicate pattern value
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_Hacktool_MSIL_Sharpivot_3_1 : FILE
{
meta:
= "This rule looks for .NET PE files that have the strings of various method names in the SharPivot code."
= "FireEye"
= "956ba026-c2fa-55fd-be53-0cfaa345f27a"
= "2020-12-08"
= "2025-02-12"
= "https://www.fireeye.com/blog/products-and-services/2020/12/fireeye-shares-details-of-recent-cyber-attack-actions-to-protect-community.html"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/gen_fireeye_redteam_tools.yar#L1145-L1174"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "e4efa759d425e2f26fbc29943a30f5bd"
= "f51ac9637f47a98beee1b3c37b594e292aab0e1d3f9e49c41b1f3c3ce02e17de"
= 75
= 85
= "FILE"
strings:
$msil = "_CorExeMain" ascii wide
$str1 = "SharPivot" ascii wide
$str2 = "ParseArgs" ascii wide
$str3 = "GenRandomString" ascii wide
$str4 = "ScheduledTaskExists" ascii wide
$str5 = "ServiceExists" ascii wide
$str6 = "lpPassword" ascii wide
$str7 = "execute" ascii wide
$str8 = "WinRM" ascii wide
$str9 = "SchtaskMod" ascii wide
$str10 = "PoisonHandler" ascii wide
$str11 = "SCShell" ascii wide
$str12 = "SchtaskMod" ascii wide
$str13 = "ServiceHijack" ascii wide
$str14 = "ServiceHijack" ascii wide
$str15 = "commandArg" ascii wide
$str16 = "payloadPath" ascii wide
$str17 = "Schtask" ascii wide
condition:
( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and $msil and all of ( $str* )
}
Strings (18 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $msil | text | "_CorExeMain" | ascii wide |
| $str1 | text | "SharPivot" | ascii wide |
| $str2 | text | "ParseArgs" | ascii wide |
| $str3 | text | "GenRandomString" | ascii wide |
| $str4 | text | "ScheduledTaskExists" | ascii wide |
| $str5 | text | "ServiceExists" | ascii wide |
| $str6 | text | "lpPassword" | ascii wide |
| $str7 | text | "execute" | ascii wide |
| $str8 | text | "WinRM" | ascii wide |
| $str9 | text | "SchtaskMod" | ascii wide |
| $str10 | text | "PoisonHandler" | ascii wide |
| $str11 | text | "SCShell" | ascii wide |
| $str12 | text | "SchtaskMod" | ascii wide |
| $str13 | text | "ServiceHijack" | ascii wide |
| $str14 | text | "ServiceHijack" | ascii wide |
| $str15 | text | "commandArg" | ascii wide |
| $str16 | text | "payloadPath" | ascii wide |
| $str17 | text | "Schtask" | ascii wide |
Condition
( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and $msil and all of ( $str* )In plain words (Heuristic)
- The file must start with “MZ” — a Windows executable (PE).
- All patterns in ( $str* ) must match.
- Pattern $msil 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.
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- e4efa759d425e2f26fbc29943a30f5bd
Licence & attribution
Author: FireEye
Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Licence: Detection Rule License 1.1 (repository licence)
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: 956ba026-c2fa-55fd-be53-0cfaa345f27a
Tags:FILE
Related rules
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- MalwareSignature Base (Florian Roth / Nextron)· FireEye· 2021-03-22
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-08
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-01
- APT / threat actorSignature Base (Florian Roth / Nextron)· FireEye· 2020-12-14