WScript LNK PowerShell Cradle
A multi-stage execution chain observed in invoice-themed JavaScript droppers:
- Victim double-clicks a
.jsfile (often named to look like a PDF). - The JScript/WScript stage downloads a remote
.ps1payload viaWinHttpRequest/XMLHttp. - The script drops a
.lnkshortcut (usually targeting a Startup SpecialFolder) pointing at the staged payload, settingTargetPathandHiddenattributes for persistence. - The script spawns
powershell.exe -nop -ep bypass -file <path>to execute the second-stage PowerShell payload.
Obfuscation Layers
Samples in this category are typically heavily obfuscated with javascript-obfuscator self-defend options, making static de-obfuscation a prerequisite for recovering the exact download URL and LNK target path.
Defensive Notes
- Block
.jsexecution outside of corporate script paths (AppLocker / WSH restrictions). - Monitor
powershell.exespawned bywscript.exe/cscript.exe. - Alert on
.lnkcreation in%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startupby non-standard processes.
Related
- itegroup-sbs-dropper — Invoice-themed JS dropper using this chain
- unclassified-js-dropper — Brazilian Portuguese variant with additional .NET reflective-loading stage
- spamita — Italian three-stage JS→RC4-PS→XOR→.NET dropper
- javascript-obfuscator — Underlying obfuscation tooling