PamStealer macOS Variant Uses Live C2 Key Exchange and Multiple Persistence Methods

· Original article ↗

Summary

A new PamStealer macOS variant uses a fake Wavel wallet site, server-assisted payload decryption, and multiple persistence methods. Its Swift stealer targets passwords, keychain items, browser credentials, and system data.

Key points

  • A fake Wavel wallet site directs victims to download Wavel.dmg, which launches a JXA carrier that passes execution to a zsh dropper.
  • The dropper downloads the pkgunpack utility from wavel[.]apple03cloudstore[.]com and uses an X25519 key exchange with the server to decrypt and stage the payload.
  • Researchers say the payload cannot be recovered statically without server cooperation; each execution generates an ephemeral keypair.
  • Persistence includes a LaunchAgent, a repair script, a shell hook, and Git hooks that trigger the repair script during checkout or commit actions.
  • The Swift stealer collects passwords, keychain items, browser credentials, system metadata, user files, process lists, and installed applications.
  • The malware can upload the staging directory as a ZIP archive and suppress notifications about new background login items.

Article Details

Attack Vectors
  • A fake Wavel cryptocurrency-wallet website distributes the Wavel.dmg disk image, which contains a compiled AppleScript file that launches a JXA dropper.
  • The JXA carrier decodes a base64 string and pipes it to /bin/zsh -s for execution.
  • The zsh dropper downloads and invokes the pkgunpack decryption utility from wavel.apple03cloudstore[.]com, exchanges X25519 keys with the server, and decrypts and stages the payload.
  • The malware establishes persistence through a LaunchAgent, a repair zsh script, and a shell hook in ~/.zshrc; it also places repair scripts in Git hook directories and sets core.hooksPath so Git checkout or commit actions trigger the repair script.
  • The Swift stealer collects passwords, keychain items, browser credentials, system metadata, user files, and a ZIP archive of the staging directory for upload.
Defensive Notes
  • The article reports that payload decryption requires cooperation from the live C2 server; static recovery is not possible without the server-held private key.
  • A fresh ephemeral keypair is generated for each execution, preventing a captured DEK from being replayed to decrypt the payload.
  • Review unexpected LaunchAgents, zsh startup files, Git hook paths, and files under ~/Library/Application Support/System/.githooks/ for persistence described in the article.

Indicators of compromise

TypeIndicatorContext
DOMAINwavel[.]appFake Wavel wallet site used to lure victims and deliver the malicious Wavel.dmg disk image.
DOMAINwavel[.]apple03cloudstore[.]comHost from which the zsh dropper downloads the pkgunpack decryption utility.

MITRE ATT&CK

People

Malware

Products

Tools

Related Articles