YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_FE_APT_Webshell_PL_HARDPULSE
Detects samples mentioned in PulseSecure report
APT / threat actorSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Compiles with YARA-X
- Author
- Mandiant
- Date
- 2021-04-16
- Modified
- 2023-12-05
- Score / Quality
- 75 / 83
What this rule detects
Detects samples mentioned in PulseSecure report
It defines 7 patterns (4 text, 0 hex, 3 regex).
Summary generated from the rule's metadata and condition.
Rule source
fe-apt-webshell-pl-hardpulse.yarDetection Rule License 1.1
rule SIGNATURE_BASE_FE_APT_Webshell_PL_HARDPULSE
{
meta:
= "Detects samples mentioned in PulseSecure report"
= "Mandiant"
= "f9a2922e-6b8e-5f92-a947-3215ee8883ac"
= "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#L46-L65"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "980cba9e82faf194edb6f3cc20dc73ff"
= "37fc40fd998d3294edb05707170bc2deec524fc6451bff212901f9ac3e34bb35"
= 75
= 83
= ""
strings:
$r1 = /if[\x09\x20]{0,32}\(\$\w{1,64}[\x09\x20]{1,32}eq[\x09\x20]{1,32}[\x22\x27]\w{1,64}[\x22\x27]\)\s{0,128}\{\s{1,128}my[\x09\x20]{1,32}\$\w{1,64}[\x09\x20]{0,32}\x3b\s{1,128}unless[\x09\x20]{0,32}\(open\(\$\w{1,64},[\x09\x20]{0,32}\$\w{1,64}\)\)\s{0,128}\{\s{1,128}goto[\x09\x20]{1,32}\w{1,64}[\x09\x20]{0,32}\x3b\s{1,128}return[\x09\x20]{1,32}0[\x09\x20]{0,32}\x3b\s{0,128}\}/
$r2 = /open[\x09\x20]{0,32}\(\*\w{1,64}[\x09\x20]{0,32},[\x09\x20]{0,32}[\x22\x27]>/
$r3 = /if[\x09\x20]{0,32}\(\$\w{1,64}[\x09\x20]{1,32}eq[\x09\x20]{1,32}[\x22\x27]\w{1,64}[\x22\x27]\)\s{0,128}\{\s{1,128}print[\x09\x20]{0,32}[\x22\x27]Content-type/
$s1 = "CGI::request_method()"
$s2 = "CGI::param("
$s3 = "syswrite("
$s4 = "print $_"
condition:
all of them
}
Strings (7 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $r1 | regex | /if[\x09\x20]{0,32}\(\$\w{1,64}[\x09\x20]{1,32}eq[\x09\x20]{1,32}[\x22\x27]\w{1,64}[\x22\x27]\)\s{0,128}\{\s{1,128}my[\x09\x20]{1,32}\$\w{1,64}[\x09\x20]{0,32}\ … | |
| $r2 | regex | /open[\x09\x20]{0,32}\(\*\w{1,64}[\x09\x20]{0,32},[\x09\x20]{0,32}[\x22\x27]>/ | |
| $r3 | regex | /if[\x09\x20]{0,32}\(\$\w{1,64}[\x09\x20]{1,32}eq[\x09\x20]{1,32}[\x22\x27]\w{1,64}[\x22\x27]\)\s{0,128}\{\s{1,128}print[\x09\x20]{0,32}[\x22\x27]Content-type/ | |
| $s1 | text | "CGI::request_method()" | |
| $s2 | text | "CGI::param(" | |
| $s3 | text | "syswrite(" | |
| $s4 | text | "print $_" |
Condition
all of themIn plain words (Heuristic)
- 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.
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- 980cba9e82faf194edb6f3cc20dc73ff
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: f9a2922e-6b8e-5f92-a947-3215ee8883ac
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