YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_WEBSHELL_SECRETSAUCE_Jul23_1
Detects SECRETSAUCE PHP webshells (found after an exploitation of Citrix NetScaler ADC CVE-2023-3519)
- Author
- Florian Roth
- Date
- 2023-07-24
- Modified
- 2023-12-05
- Score / Quality
- 85 / 85
What this rule detects
Detects SECRETSAUCE PHP webshells (found after an exploitation of Citrix NetScaler ADC CVE-2023-3519)
It defines 6 patterns (6 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule SIGNATURE_BASE_WEBSHELL_SECRETSAUCE_Jul23_1 : CVE_2023_3519 FILE
{
meta:
= "Detects SECRETSAUCE PHP webshells (found after an exploitation of Citrix NetScaler ADC CVE-2023-3519)"
= "Florian Roth"
= "db0542e7-648e-5f60-9838-e07498f58b51"
= "2023-07-24"
= "2023-12-05"
= "https://www.mandiant.com/resources/blog/citrix-zero-day-espionage"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/expl_citrix_netscaler_adc_exploitation_cve_2023_3519.yar#L79-L100"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "c762d46ae43a3e10453c2ee17039812a06086ac85bdb000cf8308f5196a9dee2"
= 85
= 85
= "CVE-2023-3519, FILE"
strings:
$sa1 = "for ($x=0; $x<=1; $x++) {" ascii
$sa2 = "$_REQUEST[" ascii
$sa3 = "@eval" ascii
$sb1 = "public $cmd;" ascii
$sb2 = "return @eval($a);" ascii
$sb3 = "$z->run($z->get('openssl_public_decrypt'));"
condition:
filesize < 100KB and ( all of ( $sa* ) or 2 of ( $sb* ) )
}
Strings (6 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $sa1 | text | "for ($x=0; $x<=1; $x++) {" | ascii |
| $sa2 | text | "$_REQUEST[" | ascii |
| $sa3 | text | "@eval" | ascii |
| $sb1 | text | "public $cmd;" | ascii |
| $sb2 | text | "return @eval($a);" | ascii |
| $sb3 | text | "$z->run($z->get('openssl_public_decrypt'));" |
Condition
filesize < 100KB and ( all of ( $sa* ) or 2 of ( $sb* ) )In plain words (Heuristic)
- The file must be smaller than 100KB (a cheap guard that skips large files).
- All patterns in ( $sa* ) must match.
- At least 2 patterns in ( $sb* ) 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.
Licence & attribution
Author: Florian Roth
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: db0542e7-648e-5f60-9838-e07498f58b51
Tags:CVE_2023_3519FILE
Related rules
- WebshellSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-06-01
- WebshellSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-06-01
- WebshellSignature Base (Florian Roth / Nextron)· Florian Roth· 2025-07-20
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-07-21
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-07-24
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-07-27
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2023-04-15
- MalwareSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-02-23