Phishing Campaign Deploys JavaScript-Driven PureLogs Variant to Steal Sensitive Data

Phishing Campaign Deploys JavaScript-Driven PureLogs Variant to Steal Sensitive Data

FortiGuard Labs identified a phishing campaign that delivers a PureLogs variant through a fake purchase-order email carrying a malicious RAR archive and JavaScript file. The attack chain uses PowerShell, process hollowing, and a downloader to load an in-memory plugin that steals browser, Discord, crypto wallet, and application data from Windows systems. #PureLogs #FortiGuardLabs #MsBuild.exe #Discord #MicrosoftEdge #FileZilla

Keypoints

  • The campaign starts with a phishing email disguised as a purchase order and blocked by FortiMail as “virus detected.”
  • The attached RAR archive contains a malicious JavaScript file named kpankocrs.js.
  • The JavaScript drops and executes an obfuscated PowerShell script from C:Temp.
  • The PowerShell stage uses process hollowing to inject a .NET module into MsBuild.exe.
  • A downloader module fetches a fileless PureLogs plugin from a C2 server and loads it in memory.
  • The malware collects system data, browser credentials, Discord tokens, crypto wallet information, and application credentials.
  • Collected data is compressed, encrypted, and exfiltrated to the attacker’s server via HTTP POST requests.

MITRE Techniques

  • [T1566.001 ] Phishing: Spearphishing Attachment – The campaign delivers a malicious RAR attachment through a fake purchase-order email (‘disguised as purchase orders’ and ‘an attached RAR archive’).
  • [T1059.007 ] JavaScript – The attachment contains and runs a malicious JavaScript file (‘a malicious JavaScript file named kpankocrs.js is present’).
  • [T1059.001 ] PowerShell – The JavaScript decrypts and launches a PowerShell script (‘executes the PowerShell file’ and ‘powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden’).
  • [T1027 ] Obfuscated Files or Information – Multiple stages are obfuscated and encoded (‘obfuscated JavaScript code’, ‘Base64-encoded data’, and ‘decrypted using an XOR-with-rotation method’).
  • [T1027.013 ] Embedded Payloads – The malware stores and extracts payloads from resources (‘extracts and executes two .NET modules in memory’ and ‘loads data from the resource named “Eqxcpvgf.Ybrgdoxas”’).
  • [T1055.012 ] Process Hollowing – The malware injects a .NET module into a suspended trusted process (‘conduct the process hollowing’ and target process ‘MsBuild.exe’).
  • [T1106 ] Native API – The process hollowing chain uses Windows APIs to manipulate the target process (‘CreateProcessA(), ZwUnmapViewOfSection(), ReadProcessMemory(), WriteProcessMemory(), VirtualAllocEx(), GetThreadContext(), SetThreadContext(), and ResumeThread()’).
  • [T1105 ] Ingress Tool Transfer – The downloader retrieves plugin modules from the C2 server (‘download additional plugin modules from its C2 server’).
  • [T1027.015 ] Compressed Files and Information – The malware uses GZip compression on payloads and stolen data (‘compresses it with GZip’ and ‘gunzips the DES-decrypted data’).
  • [T1041 ] Exfiltration Over C2 Channel – Stolen data is sent back to the attacker via HTTP POST requests (‘transmitting it to the C2 server’ and ‘POST /browser’, ‘POST /discord’, ‘POST /crypto’).
  • [T1119 ] Automated Collection – The malware gathers large sets of data from the victim system (‘collect sensitive data’ including browser, Discord, wallet, and application data).

Indicators of Compromise

  • [URL ] C2 endpoint and API paths used for checking in, downloading plugins, and exfiltrating data – hxxps://77[.]83.39.211:8443/ping, hxxps://77[.]83.39.211:8443/plugin, and other related endpoints
  • [IP:Port ] C2 server used by the downloader and plugin modules – 77[.]83[.]39[.]211:8443, 192[.]168[.]10[.]1:8443
  • [File names ] Malicious attachment and dropped scripts/modules – PO 2026-P0803.rar, kpankocrs.js, ps_qnSEGUkU0LIY_1777592585573.ps1, Rmiyj.dll, zgSGkYYzqVe.dll
  • [SHA-256 ] Associated sample hashes – 3D510977D60A44322F88100B515F06CB5ED83BABC64247068D1A489595FAA6C5, 670384FAFB23140D96F2F8FE04A13FC8CC8E2A6E5E8C973E39B58D103C5FEA92, and 3 more hashes
  • [File path ] Locations used to store or steal data – C:Temp, %LocalAppData%MicrosoftEdgeUser DataDefaultLogin Data, %AppData%DiscordLocal Storageleveldb, and 4 more paths
  • [Resource names ] Embedded resource names used to load payloads and configuration – Eqxcpvgf.Ybrgdoxas


Read more: https://feeds.fortinet.com/~/957300263/0/fortinet/blog/threat-research~Phishing-Campaign-Deploys-JavaScriptDriven-PureLogs-Variant-to-Steal-Sensitive-Data