The Odyssey and trojans again: MovieReaper attacks users in multiple countries via compromised torrents
MovieReaper malware spreads via compromised torrent files, using a modular framework and Solana blockchain for resilient C2 to execute file management commands. The campaign distributes a loader via compromised torrent files from itorrents.org. The loader downloads shellcode from a first-stage C2, which then queries the Solana blockchain to retrieve a second-stage C2 address. The final implant provides 21 filesystem commands for remote access and exfiltration.
Detection / Hunteropenrouter
Immediate Actions
- Block network connections to deadhub.org and 193.23.118.155
- Block the Solana account 6pnDGAiHgyPdmckM5Qt1YbanGzrX43WLEU159nRaNLDm
- Quarantine hosts with files matching published MD5 hashes
- Block second-stage C2 IPs 208.64.33.90 and 208.94.246.53
Key Takeaways
- Compromised public torrent repository itorrents.org to distribute malicious torrents across multiple trackers.
- Loader avoids standard API calls by traversing PEB and manually parsing DLLs for function addresses.
- Uses Solana blockchain account to store encrypted second-stage C2 address for resilience.
- Final 'file manager' module exposes 21 commands for remote filesystem access and data exfiltration.
- Masquerades as C:\ProgramData\Microsoft\Windows\Telemetry\msedge.exe for persistence.
Attack Chain
- Initial Access: Malicious torrent files from compromised itorrents.org deliver loader EXE disguised as movies
- Execution: Loader avoids standard APIs, downloads shellcode from first-stage C2 (deadhub.org or 193.23.118.155)
- C2: Shellcode queries Solana blockchain to retrieve encrypted second-stage C2 address
- Persistence: UAC bypass module masquerades as C:\ProgramData\Microsoft\Windows\Telemetry\msedge.exe and restarts
- Exfiltration: Final 'file manager' module provides 21 filesystem commands for remote access and data theft
Affected Systems
- Windows systems downloading torrents from affected trackers
- Users of itorrents.org-dependent torrent trackers
Detection Availability
No detection rules or queries are published in the source article.
Detection Engineering Assessment
Hypotheses are starting points derived from the article, not findings about your environment; validate against your own telemetry.
| Dimension | Rating | Rationale |
|---|---|---|
| EDR Visibility | Medium | In-memory execution and API resolution via PEB traversal reduce standard API hook visibility. Process masquerading is detectable. |
| Network Visibility | Medium | First-stage C2 uses plain HTTP; second-stage uses TLS-pinned HTTPS. Solana blockchain queries to api.mainnet.solana.com appear legitimate. |
| Detection Difficulty | Moderate | Behavioral indicators like PEB traversal and blockchain C2 resolution require custom detection logic. Masquerading and mutex patterns are easier to detect. |
Hunting Hypotheses
| Hypothesis | Telemetry | Stage | FP Risk |
|---|---|---|---|
| Process executing from C:\ProgramData\Microsoft\Windows\Telemetry\ with msedge.exe name (T1036.005) | Process creation and image path events | Defense Evasion | Low — legitimate Edge does not run from ProgramData Telemetry path |
| Network connections to Solana RPC endpoint followed by new C2 connection (T1071.001) | DNS and network connection logs | Command and Control | Medium — Solana API usage may be legitimate on developer machines |
| Process making HTTP requests to deadhub.org or 193.23.118.155 with image-like paths (T1105) | Network connection and HTTP proxy logs | Command and Control | Low — domain and IP are specific to this campaign |
| Loader binary creating global mutex with random string pattern then downloading shellcode (T1059) | Mutex creation and network connection correlation | Execution | Low — mutex pattern combined with network activity is rare |
Required Log Sources
- Process creation logs (Event ID 4688)
- Network connection logs
- DNS resolution logs
- File creation events in ProgramData
- Mutex creation events
Key Behavioral Indicators
- msedge.exe executing from C:\ProgramData\Microsoft\Windows\Telemetry\
- Global mutex with random alphanumeric string pattern
- HTTP requests to deadhub.org or 193.23.118.155 with image file paths
- Process creating RWX memory and registering vectored exception handler
- Solana blockchain API query followed by new HTTPS connection
- Long filename with .exe extension masquerading as media file
Control Gaps
- Standard AV signatures may miss fileless shellcode execution
- TLS pinning prevents SSL inspection of second-stage C2
- Solana blockchain queries appear as legitimate API traffic
- PEB-based API resolution bypasses API hooking defenses
False Positive Assessment
Low — IOCs are specific to this campaign. Solana API queries may generate false positives on developer machines.
Recommendations
Suggestions to evaluate against your own environment, tooling, and incident-response procedures — not directives.
Infrastructure Hardening
- Block traffic to itorrents.org on corporate networks
- Monitor and alert on connections to api.mainnet.solana.com from non-developer hosts
- Enable TLS inspection where possible to detect second-stage C2
User Protection
- Warn users about downloading content from torrent trackers
- Ensure endpoint protection is active and not disabled by users
- Deploy EDR rules for msedge.exe running from ProgramData\Telemetry path
Security Awareness
- Educate users that pirated software and media are common malware vectors
- Reinforce policy against disabling antivirus or endpoint protection
- Advise users to verify file extensions before opening downloaded media files
MITRE ATT&CK Mapping
Execution
Persistence
Privilege Escalation
Stealth
Collection
Plain-Language Summary
Attackers compromised a public torrent file repository to spread malware disguised as popular movies. When users download these torrents, they receive a malicious program that connects to attacker servers using the Solana blockchain to hide its tracks. The malware gives attackers remote access to files on the victim's computer. Users should avoid downloading pirated content and ensure their antivirus is active.
Additional IOCs
- File Hashes:
A0B13781EDD7CFDAB13D79AFFF3C83C1(MD5) - Primary loader executable distributed via torrents4334BBAEA8DE33BF9D45E9B4E4E3BC2(MD5) - Malware sample hash4843F9FAFCAE492F11E2D4D33DBB4CDD(MD5) - Malware sample hash5310CABAE3FBE6DB8742849B588093F9(MD5) - Malware sample hash70060341CAF3338697A7DDFE0FB62875(MD5) - Malware sample hashAD4643EEA15AC286FA47D1131F9EF756(MD5) - Malware sample hashD0B967571AC8A3863C7F324BF5BDE99C(MD5) - Malware sample hashD88D550D0FB8E60CFFFF3EA61FF7A067(MD5) - Malware sample hash
- File Paths:
%ProgramData%\Microsoft\Windows\Telemetry\msedge.exe- Persistence path for masqueraded loader binary
- Command Lines:
- Purpose: Loader restarts with special argument to skip anti-sandbox checks | Tools:
msedge.exe| Stage: Persistence |msedge.exe <special_argument>
- Purpose: Loader restarts with special argument to skip anti-sandbox checks | Tools:
- Other:
6pnDGAiHgyPdmckM5Qt1YbanGzrX43WLEU159nRaNLDm- Solana blockchain account storing encrypted second-stage C2 addressCSiY8bQLBYPdfPWkwipBzH6sijTVQVVsA279JQdvwHtL- Solana program used by attackers for C2 address storage
- domaindeadhub[.]orgFirst-stage C2 server for shellcode download
- filenamemsedge.exeMasqueraded binary in Telemetry folder for persistence
- file_path%ProgramData%\Microsoft\Windows\Telemetry\msedge.exePersistence path for masqueraded loader binary
- ip193[.]23[.]118[.]155Fallback first-stage C2 over plain HTTP
- ip208[.]64[.]33[.]90Second-stage C2 server
- ip208[.]94[.]246[.]53Second-stage C2 server
- md54843f9fafcae492f11e2d4d33dbb4cddMalware sample hash
- md55310cabae3fbe6db8742849b588093f9Malware sample hash
- md570060341caf3338697a7ddfe0fb62875Malware sample hash
- md5a0b13781edd7cfdab13d79afff3c83c1Primary loader executable distributed via torrents
- md5ad4643eea15ac286fa47d1131f9ef756Malware sample hash
- md5d0b967571ac8a3863c7f324bf5bde99cMalware sample hash
- md5d88d550d0fb8e60cffff3ea61ff7a067Malware sample hash
- mutexGlobal\E4AyDKzvEhe2hgArLoader mutex to prevent multiple instances
- mutexGlobal\fnulSktzSqvVLXHULoader mutex to prevent multiple instances