Kaspersky identified two previously undocumented cross-platform RAT families, NodeRabbit and PollCat, used by Mirage Kitten in trojanized coding challenges delivered through recruiter lures on LinkedIn and other job platforms. The campaign targets Windows, Linux, and macOS, with infrastructure and lures tied to domains and services including Amazon S3, Azure Websites, Cloudflare, and the domains oracle-challenge.s3[.]us-east-1.amazonaws[.]com, plugplay.azurewebsites[.]net, and lifespotify[.]com. #MirageKitten #NodeRabbit #PollCat #LinkedIn #AmazonS3 #AzureWebsites #Cloudflare
Keypoints
- Mirage Kitten used fake recruiter outreach on job platforms to lure victims into running trojanized coding challenge archives.
- Two undocumented malware families were identified: NodeRabbit, a Node.js-based RAT, and PollCat, an obfuscated JavaScript RAT.
- NodeRabbit was found in Afghanistan, Egypt, and Ethiopia, with multiple variants sharing related code and delivery methods.
- PollCat was embedded in a separate React-based coding challenge and could start before OTP authentication completed.
- Both malware families support cross-platform persistence and C2 communication on Windows, Linux, and macOS.
- NodeRabbit introduced developer-centric persistence methods, including a fake VS Code extension and Git hook injection.
- The infrastructure relied on Amazon S3, Azure Websites, Cloudflare-backed domains, and attacker-controlled domains such as lifespotify[.]com.
MITRE Techniques
- [T1566.002 ] Phishing: Spearphishing Link â Victims were contacted through job-search platforms and pushed to download a malicious coding challenge archive (âfake recruiter accounts contacting prospective targets on a job search platformâ).
- [T1189 ] Drive-by Compromise â The trojanized project archive from legitimate cloud infrastructure delivered the payload when the target downloaded and ran it (âhosted on Amazon S3â and âdownload and run the project immediatelyâ).
- [T1059.007 ] Command and Scripting Interpreter: JavaScript â PollCat was written in obfuscated JavaScript and NodeRabbit used Node.js scripts for execution (âPollCat ⌠written in obfuscated JavaScriptâ and âNodeRabbit ⌠built with Node.jsâ).
- [T1059.003 ] Command and Scripting Interpreter: Windows Command Shell â NodeRabbit and PollCat executed shell commands through their process execution features (âproc:start Execute an arbitrary shell commandâ and âproc:exec Execute a processâ).
- [T1105 ] Ingress Tool Transfer â PollCat could retrieve hosted files from the C2 and write them to the victim machine (âGET /vault/ Retrieve a hosted file and write it to the victim machineâ).
- [T1071.001 ] Application Layer Protocol: Web Protocols â Both families used HTTP(S) endpoints for beaconing, polling, and results submission (âPOST /api/rabbit/checkinâ, âGET /gate/fetch?token=â).
- [T1573.001 ] Symmetric Cryptography: AES â NodeRabbit wrapped C2 request objects with AES-256-GCM (âwraps it with AES-256-GCMâ).
- [T1041 ] Exfiltration Over C2 Channel â PollCat uploaded command results and local file chunks through C2 endpoints (âSubmit a Base64-encoded command-result structureâ and âUpload a local file or file chunk to the C2â).
- [T1027 ] Obfuscated Files or Information â PollCat was delivered in obfuscated JavaScript and used hidden/misleading packaging to evade detection (âwritten in obfuscated JavaScriptâ and âfake extension displayed as GitHub Copilot Helperâ).
- [T1547.001 ] Registry Run Keys / Startup Folder â NodeRabbit persisted via HKCU Run registry keys on Windows (âcreates HKCUSoftwareMicrosoftWindowsCurrentVersionRunâ).
- [T1053.005 ] Scheduled Task/Job: Scheduled Task â Multiple variants created scheduled tasks for persistence (âcreates a scheduled task named IntelDriverSupportUpdateâ and âdaily 10AM taskâ).
- [T1053.003 ] Scheduled Task/Job: Cron â Linux and macOS variants established persistence with cron â@reboot cron entryâ and âdaily 09AM cron lineâ.
- [T1543.001 ] Create or Modify System Process: Launch Agent â macOS variants used LaunchAgents for startup persistence (âcreates ⌠LaunchAgents/com.microsoft.edgeupdate.plistâ and âcom.intel.dsa.helperâ).
- [T1204.002 ] User Execution: Malicious File â Execution depended on the victim running the downloaded assessment project (âdownload and run the project immediatelyâ).
- [T1518.001 ] Software Discovery â PollCatâs SYSTEM_CHECK enumerated installed software directories and vendor-named folders (âsearches for folders matching ⌠security software vendor namesâ).
- [T1082 ] System Information Discovery â NodeRabbit and PollCat gathered host, OS, username, domain, MAC, and process information (âReturn hostname, domain user informationâ and âSubmit host, user, domain, OS informationâ).
Indicators of Compromise
- [MD5 hashes ] trojanized challenge archives and related samples â 1EA83E4E4592B01E4ACAB63EB867BEE5, CBAAF0900A13F28E380F49ADECEC932C, and 10 more hashes
- [Domains ] C2, lure, and validation infrastructure â oracle-challenge.s3[.]us-east-1.amazonaws[.]com, plugplay.azurewebsites[.]net, and other 20+ domains
- [URLs ] archive download and OTP validation endpoints â https://oracle-challenge.s3[.]us-east-1.amazonaws[.]com/Front-Technical-Challenge.zip, https://lifespotify[.]com/api/users/b879746e-fed9-4211-a6da-4d8223681267/otp/validate
- [File names ] trojanized archives and dropped components â Front-Technical-Challenge.zip, RankChallenge-react-6uJSX3-main.zip, and other archive names
- [File paths ] malware staging and persistence locations â node_modules/.cache/.320697f1/index.js, %APPDATA%MicrosoftEdgeUpdatemsedge_update.js, and other dropped-path variants
- [Registry keys ] Windows persistence â HKCUSoftwareMicrosoftWindowsCurrentVersionRunMicrosoftEdgeUpdate
- [TCP/loopback port ] single-instance listener for NodeRabbit Variant 1 â 127.0.0.1:48739
Read more: https://securelist.com/mirage-kitten-new-backdoors-noderabbit-pollcat/121244/