YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_FE_APT_Trojan_Linux32_PACEMAKER
Detects samples mentioned in PulseSecure report
- Author
- Mandiant
- Date
- 2021-04-16
- Modified
- 2023-12-05
- Score / Quality
- 75 / 85
What this rule detects
Detects samples mentioned in PulseSecure report
Targets: Linux ELF.
It defines 5 patterns (3 text, 2 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_FE_APT_Trojan_Linux32_PACEMAKER : FILE
{
meta:
= "Detects samples mentioned in PulseSecure report"
= "Mandiant"
= "459e26f1-4ea9-56dd-ad71-0ed2c7499aea"
= "2021-04-16"
= "2023-12-05"
= "https://www.fireeye.com/blog/threat-research/2021/04/suspected-apt-actors-leverage-bypass-techniques-pulse-secure-zero-day.html"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_pulsesecure.yar#L81-L98"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "d7881c4de4d57828f7e1cab15687274b"
= "f3f89744ce558179f36da3b412ba4afb3798684e6d976ef59de565b5a3323ad6"
= 75
= 85
= "FILE"
strings:
$s1 = "\x00/proc/%d/mem\x00"
$s2 = "\x00/proc/%s/maps\x00"
$s3 = "\x00/proc/%s/cmdline\x00"
$sb1 = { C7 44 24 08 10 00 00 00 C7 44 24 04 00 00 00 00 8D 45 E0 89 04 24 E8 [4] 8B 45 F4 83 C0 0B C7 44 24 08 10 00 00 00 89 44 24 04 8D 45 E0 89 04 24 E8 [4] 8D 45 E0 89 04 24 E8 [4] 85 C0 74 ?? 8D 45 E0 89 04 24 E8 [4] 85 C0 74 ?? 8D 45 E0 89 04 24 E8 [4] EB }
$sb2 = { 8B 95 [4] B8 [4] 8D 8D [4] 89 4C 24 10 8D 8D [4] 89 4C 24 0C 89 54 24 08 89 44 24 04 8D 85 [4] 89 04 24 E8 [4] C7 44 24 08 02 00 00 00 C7 44 24 04 00 00 00 00 8B 45 ?? 89 04 24 E8 [4] 89 45 ?? 8D 85 [4] 89 04 24 E8 [4] 89 44 24 08 8D 85 [4] 89 44 24 04 8B 45 ?? 89 04 24 E8 [4] 8B 45 ?? 89 45 ?? C7 45 ?? 00 00 00 00 [0-16] 83 45 ?? 01 8B 45 ?? 3B 45 0C }
condition:
(( uint32( 0 ) == 0x464c457f ) and ( uint8( 4 ) == 1 ) ) and all of them
}
Strings (5 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $s1 | text | "\x00/proc/%d/mem\x00" | |
| $s2 | text | "\x00/proc/%s/maps\x00" | |
| $s3 | text | "\x00/proc/%s/cmdline\x00" | |
| $sb1 | hex | { C7 44 24 08 10 00 00 00 C7 44 24 04 00 00 00 00 8D 45 E0 89 04 24 E8 [4] 8B 45 F4 83 C0 0B C7 44 24 08 10 00 00 00 89 44 24 04 8D 45 E0 89 04 24 E8 [4] 8D 45 … | |
| $sb2 | hex | { 8B 95 [4] B8 [4] 8D 8D [4] 89 4C 24 10 8D 8D [4] 89 4C 24 0C 89 54 24 08 89 44 24 04 8D 85 [4] 89 04 24 E8 [4] C7 44 24 08 02 00 00 00 C7 44 24 04 00 00 00 00 … |
Condition
(( uint32( 0 ) == 0x464c457f ) and ( uint8( 4 ) == 1 ) ) and all of themIn plain words (Heuristic)
- The file must start with the ELF header — a Linux/Unix executable.
- 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).
- d7881c4de4d57828f7e1cab15687274b
Licence & attribution
Author: Mandiant
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: 459e26f1-4ea9-56dd-ad71-0ed2c7499aea
Tags:FILE
Related rules
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2022-04-28
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-04-20
- APT / threat actorSignature Base (Florian Roth / Nextron)· Mandiant· 2023-03-04