[Closed] GootLoader-Like Variant on Win11: Obfuscated JS w/ PS Persistence & Boot Crashes – Seeking Analysis

Status
Not open for further replies.

MichaelKaplan

New Member
Thread author
Jul 13, 2025
6
13
5
Hello,

Looking into what appears to be a GootLoader variant on my Win11 machine—obfuscated JS payload with PS persistence that's dodging Defender and Malwarebytes. I've handled initial cleanup, but seeking confirmation on remnants or IOCs, especially given its evasion tactics. Vector unclear, possibly from a banking cert tool download (CIC-related), but no direct tie.

Breakdown:

1. **Behavior & Indicators**:
- Boot-time flashes of cmd/PS windows, plus nodemon crashes (attached screenshot: InvalidCharacterError in atob during eval on Node v22.9.0). Crash likely from faulty string in obfuscation, possibly duplication artifact during persistence.
- ProcMon shows PS (e.g., PID 48232) chaining to cmd exe -> nodemon.cmd -> index.js in C:\Users\[Username]\AppData\Roaming\xlPIA\.
- index.js core: eval(atob(...)) base64 decode, then Node crypto AES-256-CBC (key: "jj28As8T9hj2EL120/aPqrV2bEHpwyYt", IV base64 "4Gfa2FFbAWouWa3b9YtM4A==") before eval. Fits loader pattern for recon/drops.

2. **Artifacts**:
- PS scripts in C:\Users\[Username]\AppData\Local\xlPIA\ (CItMSTGVU.ps1 & MlvpEtxVW.ps1):
- Console hiding via WinAPI (Kernel32/user32).
- Node proc management (kill/restart), Chrome .lnk mods adding "--remote-debugging-port=9222" for potential session hijack.
- Persistence: Startup .lnk ("Update.lnk") & sched task "reload node.js" (every 60 min, PS relaunch of index.js).
- Post-deletion, it recopied to another Roaming dir with new name—resilient recreation loop.
- Clean scans from Defender full/offline & MBAM, highlighting script/evasion focus.

3. **Cleanup**:
- Removed "reload node.js" task via Scheduler.
- Wiped xlPIA/node dirs from AppData\Local/Roaming (multiple rounds due to recreation).
- Stripped "--remote-debugging-port=9222" from Chrome shortcuts.
- Defender hardened: All ASR rules Blocked, real-time/cloud enabled, auto-samples on.
- PS exec set to Restricted machine-wide.

Could the PS crashes stem from env-specific issues (Node version mismatch), or indicate broader incompatibility making some systems less viable for this variant? Has data exfil (e.g., creds via Chrome port) likely occurred already? What's the best next step—Autoruns for hidden hooks, or VT submission for the JS? Can't upload full index.js/.ps1 due to perms—can share via VT/pastebin (w/ pw) or preferred method.

Appreciate the analysis—thanks.
 
Last edited:
  • Like
Reactions: Khushal
uploaded to malshare the main index.js as well as the 2 ps1 files.
Index.js
SHA256 : fe096d0380bf1c602663f51c9986183db1634b5bb5471eec773cca8b844cf6e4
CItMSTGVU.ps1
SHA256 : 43d05ac50e4cb1b2bcfd8ab55c8771b5f72b7f25df78d50ce146883a407716b1
MlvpEtxVW.ps1
SHA256 : c7d19eaedb7e26cde41758c01946b4edc5260827204bd4fdc76adc399fb392e2
 
Hello,

Looking into what appears to be a GootLoader variant on my Win11 machine—obfuscated JS payload with PS persistence that's dodging Defender and Malwarebytes. I've handled initial cleanup, but seeking confirmation on remnants or IOCs, especially given its evasion tactics. Vector unclear, possibly from a banking cert tool download (CIC-related), but no direct tie.

Breakdown:

1. **Behavior & Indicators**:
- Boot-time flashes of cmd/PS windows, plus nodemon crashes (attached screenshot: InvalidCharacterError in atob during eval on Node v22.9.0). Crash likely from faulty string in obfuscation, possibly duplication artifact during persistence.
- ProcMon shows PS (e.g., PID 48232) chaining to cmd exe -> nodemon.cmd -> index.js in C:\Users\[Username]\AppData\Roaming\xlPIA\.
- index.js core: eval(atob(...)) base64 decode, then Node crypto AES-256-CBC (key: "jj28As8T9hj2EL120/aPqrV2bEHpwyYt", IV base64 "4Gfa2FFbAWouWa3b9YtM4A==") before eval. Fits loader pattern for recon/drops.

2. **Artifacts**:
- PS scripts in C:\Users\[Username]\AppData\Local\xlPIA\ (CItMSTGVU.ps1 & MlvpEtxVW.ps1):
- Console hiding via WinAPI (Kernel32/user32).
- Node proc management (kill/restart), Chrome .lnk mods adding "--remote-debugging-port=9222" for potential session hijack.
- Persistence: Startup .lnk ("Update.lnk") & sched task "reload node.js" (every 60 min, PS relaunch of index.js).
- Post-deletion, it recopied to another Roaming dir with new name—resilient recreation loop.
- Clean scans from Defender full/offline & MBAM, highlighting script/evasion focus.

3. **Cleanup**:
- Removed "reload node.js" task via Scheduler.
- Wiped xlPIA/node dirs from AppData\Local/Roaming (multiple rounds due to recreation).
- Stripped "--remote-debugging-port=9222" from Chrome shortcuts.
- Defender hardened: All ASR rules Blocked, real-time/cloud enabled, auto-samples on.
- PS exec set to Restricted machine-wide.

Could the PS crashes stem from env-specific issues (Node version mismatch), or indicate broader incompatibility making some systems less viable for this variant? Has data exfil (e.g., creds via Chrome port) likely occurred already? What's the best next step—Autoruns for hidden hooks, or VT submission for the JS? Can't upload full index.js/.ps1 due to perms—can share via VT/pastebin (w/ pw) or preferred method.

Appreciate the analysis—thanks.
will have a look later today.
 
  • Like
Reactions: MichaelKaplan
Turns out that index.js was just a tiny Node stub that AES-decrypts and runs an obfuscated engine.io-client/ws bundle—not malware. The PowerShell scripts in xlPIA merely added Chrome’s --remote-debugging-port=9222 flag, and a nodemon-style watcher kept relaunching it on login. Uninstalling the global watcher and deleting the .ps1 scripts stopped the pop-ups—no virus, just a misconfigured dev tool.
 
Hello..! Welcome to the Windows Malware Removal Help section. :)

 
  • Like
Reactions: harlan4096
Turns out that index.js was just a tiny Node stub that AES-decrypts and runs an obfuscated engine.io-client/ws bundle—not malware. The PowerShell scripts in xlPIA merely added Chrome’s --remote-debugging-port=9222 flag, and a nodemon-style watcher kept relaunching it on login. Uninstalling the global watcher and deleting the .ps1 scripts stopped the pop-ups—no virus, just a misconfigured dev tool.

Do I understand that they are not needed for further action .. for analysis of your system ..?
 
  • Like
Reactions: MichaelKaplan
Status
Not open for further replies.