SEO Poisoning Campaign Uses Fake Chocolatey and MAS Sites to Deliver Armorsteal

· Original article ↗

Summary

Zscaler details a September 2026 SEO poisoning campaign using fake Chocolatey and Microsoft Activation Scripts sites to deliver Armorsteal, a Python malware family with remote-access, surveillance, and information-stealing modules.

Key points

  • Fake sites at choclatey[.]org and massgravel[.]net targeted searches for Chocolatey and Microsoft Activation Scripts installation instructions; both delivered Armorsteal.
  • Installers requested elevated privileges, placed Python 3.11 components under C:\Windows\SystemHealth\Update\, and created scheduled tasks for persistence.
  • The remote-access module polls C2 every 60 seconds, verifies task signatures with an embedded RSA-2048 public key, and can update itself after checking a downloaded file’s SHA-256 hash.
  • The surveillance module records keystrokes and window titles, monitors the clipboard, can replace cryptocurrency wallet addresses, and captures screenshots when configured keywords appear.
  • The stealer targets browser data, passwords, Discord tokens, cryptocurrency wallets and seed phrases, SSH keys, Steam data, and password-manager files.
  • Zscaler reported that the fake Massgrave site went down on September 25, 2026, and the fake Chocolatey site around October 1; the team said it continues to monitor the campaign.

Article Details

Attack Vectors
  • SEO-poisoned websites impersonating Chocolatey and Microsoft Activation Scripts displayed PowerShell commands that users could run to download and execute the Armorsteal installer.
  • The installers requested elevated privileges, hid the PowerShell console, and downloaded ZIP archives containing a Python runtime and Armorsteal modules.
  • Armorsteal persisted through the SysCheck2 user-logon and SysCheckX system-boot scheduled tasks.
  • The remote access module downloaded and launched surveillance and information-stealing modules, and communicated with C2 servers over HTTPS.
  • The malware collected keystrokes, clipboard contents, screenshots, browser data, Discord tokens, cryptocurrency wallet data, passwords, SSH keys, and Steam data.
Defensive Notes
  • Hunt for SysCheck2 and SysCheckX scheduled tasks and unexpected files under C:\Windows\SystemHealth\Update\.
  • Review endpoint and network telemetry for PowerShell installers, Python processes, and connections to the listed C2 domains and IP addresses.
  • Zscaler reports detections named PS.Dropper.Armorsteal, Python.PWS.Armorsteal, WIN-CONHOST-HEADLESS-CMD, WIN-SCHTASKS-CREATE-SHELL, and WIN-PYTHON-CHROMIUM-HEADLESS.

Indicators of compromise

TypeIndicatorContext
DOMAINchoclatey[.]orgTyposquatted domain used for the fake Chocolatey website distributing Armorsteal.
DOMAINdatamons[.]orgArmorsteal C2 domain initially used as standby and later observed active.
DOMAINmassgravel[.]netFake Massgrave website used to distribute Armorsteal.
DOMAINniceer[.]netDomain listed as an Armorsteal standby C2 server.
DOMAINpymons[.]isDomain listed as an Armorsteal C2 server.
DOMAINsupertrap[.]netDomain listed as an Armorsteal standby C2 server.
DOMAINworkerstats[.]netArmorsteal C2 domain used to send system information and upload stolen data.
IPV4186[.]2[.]163[.]185IP address identified as an Armorsteal C2 server.
IPV4186[.]2[.]175[.]183IP address identified as an Armorsteal C2 server.
IPV4190[.]115[.]31[.]69IP address identified as an Armorsteal C2 server.
IPV4209[.]99[.]186[.]187Payload host identified in the Armorsteal network indicators.
IPV482[.]153[.]135[.]80Payload host identified in the Armorsteal network indicators.
SHA25604d2828155ed2a276cfd3c97d4f966d328391dd818e04e773212cd601e49fa74SHA-256 of an older Armorsteal stealer module archive.
SHA2560ea99fbbe29af6f797e3866ed5f822c7a5d3e9cdb990a8c382a715069f156499SHA-256 of the Armorsteal remote access module.
SHA256237ba698d7dc8936c43e0e78e7644002375e51e8baf9b3a7d4e18683f871ee31SHA-256 of the Armorsteal surveillance module archive.
SHA2563e3b62a9836697d978cbb620dc8af8f6eefdf8cb73fc30d16bb394d1c58f4c97SHA-256 of the Armorsteal remote access module archive.
SHA2565410c2f239c3649928383c4478dea182f90b21f5b258081fec07e9d297ae4b1cSHA-256 of the Armorsteal stealer module.
SHA25656f05c4fb1c25c04e0dde60e2e5e41ac164a6dc53688d0f9eb52a55f82106389SHA-256 of an older Armorsteal stealer module archive.
SHA2568fb7aaf2b9270b8b75f6844aaefd5242b4f926fb89cba10fff3d9b908a769788SHA-256 of the Armorsteal surveillance module.
SHA256be0329d0795dd62ae587faf97e704bb36413e5c98ddd8fe575f5077db3c84e5fSHA-256 of the Armorsteal stealer module archive.
SHA256f3846ec2a6ff0a27d9ef2b9bf7908743b81d295ef29344acfb96ff83fff994f9SHA-256 of the install.ps1 installer for the fake MAS lure.
SHA256fb1181160e9f10ce1eb5e5dc9bc23e1498a39110ee9ea361fd150454cb01b292SHA-256 of the install.ps1 installer for the fake Chocolatey lure.

MITRE ATT&CK

T1027 · Obfuscated Files or InformationArmorsteal's Python scripts were protected with Pyarmor, which encrypts Python bytecode and string constants.T1041 · Exfiltration Over C2 ChannelArmorsteal uploaded collected system information, keystroke logs, screenshots, and stolen data to its C2 endpoints.T1053.005 · Scheduled TaskArmorsteal created SysCheck2 and SysCheckX scheduled tasks for user-logon and system-boot persistence.T1056.001 · KeyloggingThe surveillance module logged keystrokes and recorded active-window titles.T1059.001 · PowerShellThe lure pages presented PowerShell installation commands that downloaded and executed the installer.T1059.006 · PythonArmorsteal used Python-based modules and executed signed Python task code in memory.T1071.001 · Web ProtocolsThe remote access module used HTTPS requests to communicate with C2 endpoints and retrieve tasks.T1105 · Ingress Tool TransferThe remote access module downloaded the surveillance and stealer modules, updates, and other files from C2.T1113 · Screen CaptureThe surveillance module captured screenshots when configured keywords appeared in window titles or captured keystrokes.T1115 · Clipboard DataThe surveillance module monitored clipboard contents and replaced copied cryptocurrency wallet addresses.T1497.001 · System ChecksThe remote access module checked public IP and organization information and exited when it detected certain cloud providers, hindering some cloud-based analysis.T1539 · Steal Web Session CookieThe stealer collected browser cookies, including through the Chrome DevTools Protocol.T1552.004 · Private KeysThe stealer collected SSH keys from infected systems.T1555.003 · Credentials from Web BrowsersThe stealer collected saved browser passwords and browser wallet data.T1555.005 · Password ManagersThe stealer targeted data from password managers including KeePass, 1Password, Bitwarden, and Dashlane.

Malware

Products

Tools

Related Articles