Elastic Details Contagious Interview Campaign Using SVG Steganography to Target Developers

· Original article ↗

Summary

Elastic details REF9403, a Contagious Interview campaign using fake coding challenges and SVG steganography to target developers. Startup-triggered payloads steal credentials, wallet data, files and clipboard contents and provide a Socket.IO RAT.

Key points

  • Elastic Security Labs traced the activity to fake job offers and coding challenges sent to developers, including direct messages in its community Slack workspace.
  • Trojanized but functional-looking repositories hid Base64 payload fragments in SVG flag-image comments; JavaScript reassembled and evaluated them when the server started.
  • The four payload modules steal browser credentials and wallet data, sweep local files, provide a Socket.IO RAT with interactive shell access, and capture clipboard contents.
  • The file stealer targets documents, source code, configuration files and shell histories; on Windows it scans mounted drives, while macOS and Linux scans focus on home directories.
  • Elastic linked the samples to Contagious Interview and OTTERCOOKIE based on code, behavior and infrastructure similarities; it noted that the distinction between OTTERCOOKIE and BEAVERTAIL is unclear.
  • The reported C2 infrastructure included rightwidth[.]dev and related subdomains. Some users reported suspicious behavior after running challenges, and some unknowingly published trojanized repositories.
  • The C2 host for three Windows binaries was unavailable during analysis, so Elastic could not retrieve them; their capabilities remain unconfirmed.

Article Details

Attack Vectors
  • Fake job offers and coding challenges were sent to developers through open forums and Slack direct messages.
  • Trojanized, functional e-commerce repositories executed malicious JavaScript when victims started the server with npm scripts.
  • Payload fragments were Base64-encoded in comments within SVG flag images, reassembled by repository JavaScript, decoded, and executed with eval().
  • The malware stole browser credentials, wallet data, local files, and clipboard contents, and provided interactive shell access through a Socket.IO RAT.
  • On Windows, the malware downloaded second-stage binaries from file.rightwidth[.]dev disguised as .txt files, renamed them to .exe, and attempted to execute them.
Defensive Notes
  • Treat coding challenge repositories received through unsolicited job offers as untrusted, even when their application code appears functional.
  • Review repository startup scripts and server-side JavaScript for unexpected execution, and inspect SVG files for encoded data in comments.
  • Investigate connections to the reported rightwidth[.]dev infrastructure and look for unexpected credential, wallet, file, or clipboard data uploads.
  • The article reports that some victims unknowingly published the trojanized repositories; review repositories shared after running such challenges.

Indicators of compromise

TypeIndicatorContext
DOMAINcontroller[.]rightwidth[.]devReported Socket.IO RAT command-and-control host used for victim registration and interactive shell access.
DOMAINfile[.]rightwidth[.]devReported host used to deliver Windows second-stage binaries.
DOMAINldb[.]rightwidth[.]devReported C2 host used to exfiltrate browser credentials and cryptocurrency wallet data.
DOMAINrightwidth[.]devReported C2 infrastructure used for clipboard-data exfiltration and associated with the OTTERCOOKIE-aligned malware.
DOMAINupload[.]rightwidth[.]devReported file-stealer host used to upload files from victim systems.
IPV4188[.]40[.]64[.]61Identified in the article's indicators as OTTERCOOKIE C2 infrastructure.
IPV4195[.]26[.]248[.]212Identified in the article's indicators as OTTERCOOKIE C2 infrastructure.
SHA2563e6360f83a95540aa2176d279ca4694513afb1e5116a7ffe591c6b5bcf3b9c3cSHA-256 of the trojanized next-ecommerce-private-main.zip repository sample.
SHA2564e7639045b4a64de60bfb6312951a5c3dffbd3fb04b84837663242ed27f09864SHA-256 of the trojanized shopping-platform-main.zip repository sample.
SHA25654bf36910d81ab516037cb3d69d7c85190f90aa0da9e58617799c1fc738dc5a9SHA-256 of the trojanized ecommerce-platform.zip repository sample.
SHA2568e571d58794b9b44ae53c2c67bedef72c500e8adbb80aab7a5c263adcba55b1eSHA-256 of the trojanized ecommerce-main.zip repository sample.
SHA25696357529d17c4690826d5d4c74deac51743a5388733b3f04004d898f0635ef20SHA-256 of the trojanized shop-main.zip repository sample.
SHA2569df01d242ef46adfedf8c35cb7cc67b1d27d7dc4a1ce74ab32e984090d579886SHA-256 of the trojanized ecommerce-platform-main.zip repository sample.
SHA256c5aed4c063d4970a03250778da8041da9e0c83d8f22d2f1994da0ad72567ebd9SHA-256 of a trojanized shopping-platform.rar repository sample.
SHA256cc97517f80f567977300450de11e9a0be53f52657525a20b1091c99fe9e45730SHA-256 of a trojanized shopping-platform.rar repository sample.
SHA256fb94b2caee2c40635448a98ba0118421e19a400e74ccff73315f8fa42351f53fSHA-256 of a trojanized shop-main.zip repository sample.

MITRE ATT&CK

T1005 · Data from Local SystemThe file-stealing module scans drives or home directories for documents, source files, configuration data, and shell histories.T1027 · Obfuscated Files or InformationThe malware uses obfuscator.io and encoded payload fragments to make its JavaScript harder to analyze.T1027.003 · SteganographyBase64 malware fragments are concealed in comments inside SVG flag images and reassembled by repository code.T1036 · MasqueradingThe browser and wallet stealer sets its process title to npm-cache to appear like benign npm activity.T1041 · Exfiltration Over C2 ChannelThe malware sends stolen browser data, files, wallet databases, and clipboard contents to its C2 infrastructure.T1059.001 · PowerShellOn Windows, the malware launches PowerShell with Get-Clipboard to retrieve clipboard contents.T1059.007 · JavaScriptRepository JavaScript reconstructs and decodes the hidden payload, then executes it with eval() when the server starts.T1071.001 · Web ProtocolsThe RAT maintains a Socket.IO command-and-control channel over HTTPS to controller.rightwidth[.]dev.T1082 · System Information DiscoveryThe RAT collects host information using system-specific commands and queries.T1105 · Ingress Tool TransferThe Windows component downloads three second-stage binaries from file.rightwidth[.]dev before renaming and executing them.T1115 · Clipboard DataThe malware polls victim clipboards every 500 milliseconds and sends changed contents to its C2 infrastructure.T1204.002 · Malicious FileVictims who ran the trojanized coding-challenge repositories triggered the embedded malware.T1497.001 · System ChecksThe malware checks system details for VMware, VirtualBox, QEMU, and other virtualization indicators, then tags C2 responses when a match is found.T1555.001 · KeychainOn macOS, the malware exfiltrates the system login keychain database.T1555.003 · Credentials from Web BrowsersThe malware collects saved browser credentials from browser profile databases.

Threat Actors

Malware

Products

Tools

Countries

Related Articles