Security companies have identified more than 20 malicious PyPI packages designed to steal passwords and other sensitive information from the victims’ machines.
Kaspersky is warning of two such packages – ‘ultrarequests’ and ‘pyquest’ – that were masquerading as ‘requests’, a highly popular open source package. The malicious repositories copied the description from the legitimate package and contained fake statistics.
The malicious packages contained nearly identical code as ‘requests’, but were designed to write to a temporary file a one-liner Python script designed to fetch a next-stage script that in turn downloads and executes the final payload.
Called ‘W4SP Stealer’, the final payload is a Python trojan that collects saved cookies and passwords from browsers and Discord tokens, and sends them to the threat actor via a Discord webhook.
“The stealer also creates and sends a list of saved browser credentials for the URLs containing keywords ‘mail’, ‘card’, ‘bank’, ‘buy’, ‘sell’, etc. Apart from that, it gathers data from the MetaMask, Atomic and Exodus wallets, as well as Steam and Minecraft credentials,” Kaspersky explains.
Snyk says they found twelve PyPI malware samples, all belonging to the same threat actor: hackerfilelol, hackerfileloll, stealthpy, plutos, testpipper, testpipperz, pippytest, pippytests, cyphers, rblxtools, rbxtools, and rbxtool.
“These malicious packages attempted to avoid detection while infiltrating Windows machines and executing malicious executable files downloaded from the Discord content delivery network (CDN) onto the host,” Snyk explains.
Once installed on the victim’s machine, the malware attempts to steal data from the Chrome browser – including passwords, cookies, browsing and search histories, and bookmarks – as well as tokens from Discord. It also injects a persistent malicious agent into Discord’s process.
According to Snyk, the malware is also abusing Discord resources for the distribution of executables. The ‘cyphers’ package also has a component designed to steal Roblox cookies and user data.
Kaspersky’s and Snyk’s reports come one week after Check Point warned of ten malicious PyPI packages it had discovered: Ascii2text, Pyg-utils, Pymocks, PyProto2, Test-async, Free-net-vpn, Free-net-vpn2, Zlibsrc, Browserdiv, and WINRPCexploit.
Just as previously described malware, these packages were designed to harvest victims’ credentials and to download and execute code from the internet.
Related: New OpenSSF Project Hunts for Malicious Packages in Open Source Repositories
Related: PyPI Served Malicious Version of Popular ‘Ctx’ Python Package