YARA · Mandiant red team tool countermeasures
FIREEYE_RT_Hacktool_MSIL_Puppyhound_1
This is a modification of an existing FireEye detection for SharpHound. However, it looks for the string 'PuppyHound' instead of 'SharpHound' as this is all that was needed to detect the PuppyHound variant of SharpHound.
- Author
- FireEye
- Date
- 2020-12-08
- Modified
- 2020-12-09
- Score / Quality
- 75 / 75
What this rule detects
This is a modification of an existing FireEye detection for SharpHound. However, it looks for the string 'PuppyHound' instead of 'SharpHound' as this is all that was needed to detect the PuppyHound variant of SharpHound.
Targets: Windows PE.
It defines 5 patterns (3 text, 1 hex, 1 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule FIREEYE_RT_Hacktool_MSIL_Puppyhound_1 : FILE
{
meta:
= "This is a modification of an existing FireEye detection for SharpHound. However, it looks for the string 'PuppyHound' instead of 'SharpHound' as this is all that was needed to detect the PuppyHound variant of SharpHound."
= "FireEye"
= "1155f959-c8bc-597a-8a80-abee8d95b6ec"
= "2020-12-08"
= "2020-12-09"
= "https://github.com/mandiant/red_team_tool_countermeasures/"
= "https://github.com/mandiant/red_team_tool_countermeasures//blob/3561b71724dbfa3e2bb78106aaa2d7f8b892c43b/rules/PUPPYHOUND/production/yara/HackTool_MSIL_PuppyHound_1.yar#L4-L19"
= "https://github.com/mandiant/red_team_tool_countermeasures//blob/3561b71724dbfa3e2bb78106aaa2d7f8b892c43b/LICENSE.txt"
= "eeedc09570324767a3de8205f66a5295"
= "39073bbfef15ecd28c1772e5d01e54c3d5774ecb4c90f0076bda5dc400abacba"
= 75
= 75
= "FILE"
= 6
strings:
$1 = "PuppyHound"
$2 = "UserDomainKey"
$3 = "LdapBuilder"
$init = { 28 [2] 00 0A 0A 72 [2] 00 70 1? ?? 28 [2] 00 0A 72 [2] 00 70 1? ?? 28 [2] 00 0A 28 [2] 00 0A 0B 1F 2D }
$msil = /\x00_Cor(Exe|Dll)Main\x00/
condition:
( uint16( 0 ) == 0x5A4D and uint32( uint32( 0x3C ) ) == 0x00004550 ) and all of them
}
Strings (5 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $1 | text | "PuppyHound" | |
| $2 | text | "UserDomainKey" | |
| $3 | text | "LdapBuilder" | |
| $init | hex | { 28 [2] 00 0A 0A 72 [2] 00 70 1? ?? 28 [2] 00 0A 72 [2] 00 70 1? ?? 28 [2] 00 0A 28 [2] 00 0A 0B 1F 2D } | |
| $msil | regex | /\x00_Cor(Exe|Dll)Main\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).
- eeedc09570324767a3de8205f66a5295
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: 1155f959-c8bc-597a-8a80-abee8d95b6ec
Metadata
| rev | 6 |
|---|
Tags:FILE
Related rules
- Hack toolMandiant red team tool countermeasures· FireEye· 2020-12-08
- Hack toolMandiant red team tool countermeasures· FireEye· 2020-11-25
- Hack toolMandiant red team tool countermeasures· FireEye· 2020-12-08
- Hack toolMandiant red team tool countermeasures· FireEye· 2020-12-01
- Hack toolMandiant red team tool countermeasures· FireEye· 2020-12-01
- Hack toolMandiant red team tool countermeasures· FireEye· 2020-11-25
- Hack toolMandiant red team tool countermeasures· FireEye· 2020-11-25
- Hack toolMandiant red team tool countermeasures· FireEye· 2020-12-08