Operation | Purpose |
base64_decode() | Converts encoded text back into binary or textual content |
gzinflate() | Decompresses DEFLATE-compressed content |
XOR transformation | Reconstructs data through a reversible byte-level operation |
eval() | Executes the reconstructed PHP source as code |
ATT&CK ID | Technique | Application to this loader |
T1505.003 | Server Software Component: Web Shell | The PHP entry point provides a mechanism for continued unauthorized server access |
T1059 | Command and Scripting Interpreter | The PHP interpreter executes attacker-supplied code |
T1027 | Obfuscated Files or Information | Archive compression, encoded strings, and fragmented function names conceal code |
T1140 | Deobfuscate/Decode Files or Information | Base64, decompression, and XOR recover the payload before execution |
T1071.001 | Application Layer Protocol: Web Protocols | HTTP(S) is used to retrieve remote content |
T1102 | Web Service | A public paste service is used to host remotely retrievable content |
Indicator | Value | Investigative relevance |
Default remote endpoint | https://pastebin[.]com/raw/E5pYQG1x | Reported default payload source |
Authentication parameter | pd | Candidate operator password |
C2 override parameter | url | Remote payload-source reconfiguration |
Reset parameter | ts_reset | Restores default routing |
Routing cookie | ts_url | Stores a client-side payload-source preference |
Additional reported parameters | ts, tj | Require verification against the complete sample |
rule Quttera_PHP_ZipStream_Entry
{
meta:
description = "Hunts for PHP ZIP-stream entry loaders"
author = "Quttera Security Team"
confidence = "medium"
strings:
$require1 = "require(" ascii
$require2 = "require " ascii
$zip_literal = "zip://" ascii
$zip_split = "zi'.'p:/" ascii
condition:
filesize < 256KB and
(1 of ($require*)) and
(1 of ($zip*))
}
rule Quttera_PHP_ZipStream_C2_Controller
{
meta:
description = "Hunts for the reported cookie-routed PHP controller"
author = "Quttera Security Team"
confidence = "medium"
strings:
$cookie = "ts_url" ascii
$reset = "ts_reset" ascii
$c2 = "pastebin.com/raw/" ascii nocase
$pdf = "%PDF-0-1" ascii
$auth = "password_verify(" ascii
$eval = "eval(" ascii
$hash = "$2y$10$pbZlRFVfrK.yepPrtIsHeOm7pEYOTlaCQ16Vhc1hYchl2iJM8AoKq" ascii
condition:
filesize < 2MB and
(
($hash and $cookie) or
(
$cookie and
(2 of ($reset, $c2, $pdf, $auth, $eval))
)
)
}
Use Quttera’s Website Security and Risk Intelligence API to automate malware detection, blacklist intelligence, integrity analysis, compliance evidence, and machine-readable website assessment across digital assets.