The Odyssey and trojans again: MovieReaper attacks users in multiple countries via compromised torrents《奥德赛》和木马病毒再次来袭:MovieReaper 通过被入侵的种子文件攻击多个国家的用户
Kaspersky experts have discovered a new MovieReaper campaign. The multi-stage Trojan spreads through movie torrents, such as “The Odyssey,” and uses the Solana blockchain to hide its C2 infrastructure.

Initial infection and spreading
Step 3: UAC Bypass and persistence
Step 4: The final implant
Indicators of compromise
Torrent trackers have long been abused for distributing malicious software, disguised as popular films, games, and other content. Our previous research has shown that cybercriminals repeatedly turn torrents as an initial infection vector, using trojanized cracks and installers to reach a large number of users. Installation guides for pirated software routinely instruct users to disable their antivirus, conditioning them to ignore potential threats they are inviting onto their computers.
During our analysis of malware that leverages blockchain networks for its C2 infrastructure, we have discovered a previously unknown modular, multi-stage framework that we dubbed MovieReaper. This report details the new crimeware campaign that began with the mass infection of users via compromised torrent tracker file storage. We have identified several hundred victims, including both individual users and organizations in a multitude of countries, such as Russia, Türkiye, Japan, Kenya, Uganda, and Colombia, as well as in several European countries like Spain, the Netherlands, Belgium, Germany. We analyze the techniques used to evade detection by security and sandbox solutions, examine the capabilities of the modular framework.
Kaspersky products detect this threat as HEUR:Trojan.Win64.Agent.gen.
In mid‑August 2026, during our threat‑hunting efforts, we identified a large‑scale infection campaign involving previously unknown malware disguised as popular movies. The campaign affected both individuals and organizations across multiple countries. Our initial analysis revealed a common factor among the victims: all had used torrent trackers. This finding prompted us to investigate the campaign further and analyze its distribution mechanism, overall scope, and unknown malware implants.
Compromised torrent trackers are the primary vector used to distribute malware. During our investigation, we identified multiple user reports describing suspicious files being downloaded instead of the intended content.
For example, a user of a popular movie torrent tracker reported the following case on Reddit:
Further analysis of the attack revealed that the threat actors did not compromise the torrent trackers themselves. Instead, they compromised a widely used public repository of torrent files — itorrents[.]org . As a result, torrent trackers that relied on this repository began inadvertently distributing malicious torrent files to their users. This approach is particularly powerful because the threat actors can reach users of multiple tracчkers without compromising each platform individually.
As of the publication date of this report, the archive remains compromised. When a user attempts to download a torrent using a magnet link, the legitimate torrent archive instead returns a different torrent file. This malicious torrent leads to the download of the malware loader. It is used to deploy a framework that we dubbed MovieReaper.
The loader initiates the infection chain, which is illustrated in the diagram below. Each stage of the infection chain is described in detail in the following sections.
The infection chain consists of several steps, where only the initial one is dropped on the disk before its execution to avoid detection. The malware itself is not heavily obfuscated, apart from the fact that strings are encrypted with a custom stream cipher. Most of the countermeasures were aimed at avoiding detection by AV sandboxes.
The most popular initial executable was distributed through torrent trackers under many different names (for example, the odyssey (2026) [1080p] [webrip] [5.1].exe ), but the file hash (MD5: A0B13781EDD7CFDAB13D79AFFF3C83C1 ) was identical across all downloads. We have seen multiple different loaders, where the executable file disguises itself with a long filename and an icon of some well-known application. Most of the filenames are rather large, presumably, to hide the “.exe” extension at the end.
After the user manually starts the application, it establishes a global mutex to ensure that only one loader is executed at a time. We have seen several variations of a mutex in our samples, which contain a randomly generated string (in example Global\fnulSktzSqvVLXHU ). Then this executable performs the series of operations in order to avoid detection by the AV sandbox solutions.
While performing those operations, the malware avoids making LoadLibrary and GetProcAddress calls in order to acquire addresses of required functions. Instead, it searches for loaded libraries by traversing the double-linked list taken from the Ldr field of PEB and then performs manual parsing of loaded DLL to calculate the address of function.
After all the initial checks have passed, this binary prepares to perform network connection to a C2 web-server to download the shellcode, map it into the RWX memory and execute. While doing it, loader decodes https://deadhub[.]org domain name and if connection to it has failed, then it uses the IP address http://193.23.118[.]155 as a fallback and connects to it using plain HTTP. Malware chooses a random group of strings and uses them as a path in the HTTP request to download parts of a shellcode.
/cloud/v192.4/ui/sync-status-icons.png /cloud/v192.4/onboarding/welcome-bg.jpg /cloud/v192.4/ui/file-preview-placeholder.png /cloud/v192.4/shared/link-banner.jpg
While mapping the address space and executing the shellcode, the loader registers a vectored exception handler and rewrites the handler address in memory in order to perform a debug break, which will not crash the program, but instead redirect control-flow into the function that actually makes raw NtProtectVirtualMemory syscall (via previously located “0x0F 0x05” syscall instruction inside ntdll ). Then it calls an undocumented ntdll function EtwpCreateEtwThread, which is a popular alternative to a CreateThread to perform code execution and executes the shellcode.
The second stage of this malware performs an HTTPS request to the Solana blockchain at the /getAccountInfo endpoint for the 6pnDGAiHgyPdmckM5Qt1YbanGzrX43WLEU159nRaNLDm account. The data field of the response contains the base64‑encoded address of a second C2, which is encrypted with a static XOR key located within the shellcode itself. To store data in this account, attackers used a simple Solana program (address: CSiY8bQLBYPdfPWkwipBzH6sijTVQVVsA279JQdvwHtL ).
By using Solana blockchain network as a distribution layer of endpoints for a next stage attackers may increase stability of their campaign and resist takedown efforts of defenders.
The second stage payload communicates with its C2 server strictly through HTTPS via TLS-pinned certificate using nanopb protobuf library as a container for transferred data. The main logic of stage 2 implant contains several initial commands, where the most important is the one that parses the COFF file and loads it to the memory, and executes the module_init function from it. It provides a convenient interface for extension of the command list, which leads us to the next stage of the payload.
Notably, the recovered modules were compiled with symbols, which accelerated reverse engineering.
After receiving the next stage from the second C2 server, the newly loaded module performs several tasks right in the module_init function.
Stage 3 performs UAC Bypass and achieves persistence using public techniques, masquerades the original binary as C:\ProgramData\Microsoft\Windows\Telemetry\msedge.exe , and restarts itself.
The respawned process starts with the initial loader, but with a special command-line argument, which allows it to skip most of the anti-sandboxing checks and proceed straight to the download of the stage 2. The executable proceeds with the same steps as before, but this time, instead of downloading persistence and UAC bypass module, the new one is downloaded from the second C2 server, because there is a flag being sent to a remote server that indicates whether the implant is running from the Telemetry folder is sent in the beacon, allowing the C2 to distinguish first-run and respawned instances.
The final module (“file manager”) exposes 21 commands that give the operator filesystem access on the victim host. It allows remote operator to download, upload, read files on the system, list and enumerate directories, manipulate files using create, copy, rename, move, delete, chmod, symlink commands, use preview and thumbnail commands to exfiltrate previews of images and files before actually extracting them.
We suspect that other modules may be loaded on-demand by the request of the operator.
During this malware campaign, attackers use various commercial hosting providers for their C2 infrastructure (see IoC section for details). Furthermore, as noted above, the campaign leverages the legitimate Solana blockchain via the api.mainnet.solana.com RPC endpoint to deliver the address of the second‑stage C2 server to the malware. This approach provides the attackers with decentralized storage for C2 addresses, adding an additional layer of resilience and making it more difficult for defenders to disrupt the campaign by simply blocking the IP addresses of the C2 servers.
The observed campaign targeted both individuals and organizations across Europe, Asia, and Africa, with infection attempts identified in countries including Russia, Spain, Germany, Finland, Türkiye, Japan, Nepal, Kenya, Tanzania, Ghana, and others. The targeted organizations span a wide range of sectors, including enterprise, government, IT, consulting, retail, transportation, and agriculture.
Our research uncovered activity of the same actor, dating back to October 2025. The campaign has evolved over time with the malware authors expanding their arsenal, making the loader harder to detect, although the pattern remains the same: encoded strings, parts of shellcode are downloaded through the plain HTTP protocol, several techniques are used to avoid sandboxes and virtual machines. We will continue monitoring this actor’s activity to catch new potential threats.
The first stage offers the clearest opportunity to disrupt this campaign, as it relies on a single specific domain name and a single IP address to serve the shellcode, meaning that taking down this server would prevent the infection chain further. This includes the second-stage payload, which uses the Solana blockchain network for C2 and is, therefore, more resistant to conventional infrastructure takedowns.
However, this framework’s self-containment, modularity and in-memory execution has its potential to be reused in later campaigns with minimal rework.
4334BBAEA8DE33BF9D45E9B4E4E3BC2 4843F9FAFCAE492F11E2D4D33DBB4CDD 5310CABAE3FBE6DB8742849B588093F9 A0B13781EDD7CFDAB13D79AFFF3C83C1 70060341CAF3338697A7DDFE0FB62875 AD4643EEA15AC286FA47D1131F9EF756 D0B967571AC8A3863C7F324BF5BDE99C D88D550D0FB8E60CFFFF3EA61FF7A067
%ProgramData%\Microsoft\Windows\Telemetry\msedge.exe
Global\E4AyDKzvEhe2hgAr Global\fnulSktzSqvVLXHU
First-stage C2: deadhub[.]org 193.23.118[.]155
Second-stage C2: 208.64.33[.]90 208.94.246[.]53
Malware Technologies
Malware Descriptions
The Odyssey and trojans again: MovieReaper attacks users in multiple countries via compromised torrents
This site uses Akismet to reduce spam. Learn how your comment data is processed.
From the same authors
Armored Likho expands its cyber-espionage toolkit
How we hacked our colleague’s smart home
OPC UA security analysis
In the same category
APT group HoneyMyte upgrades CoolClient: the backdoor gets a kernel-level Windows rootkit
Project CAV3RN continues: Google Apps Script as C2 relay and DNS-based C2 channel selection
OctLurk and SilkLurk: newly identified tailored backdoors in cyber-espionage campaign in Central Asia
Mirage Kitten targets Middle East and Africa region with new malware
初始感染和传播
步骤 3:UAC 绕过和持久化
第四步:最终植入
妥协的迹象
长期以来,BT下载网站一直被滥用,用于传播伪装成热门电影、游戏和其他内容的恶意软件。我们之前的研究表明,网络犯罪分子反复利用BT下载作为初始感染途径,使用木马程序和安装程序来感染大量用户。盗版软件的安装指南通常会指示用户禁用杀毒软件,从而让用户忽视潜在的威胁,最终导致恶意软件入侵电脑。
在分析利用区块链网络构建C2基础设施的恶意软件时,我们发现了一个此前未知的模块化多阶段框架,我们将其命名为MovieReaper。本报告详细介绍了这场始于大规模用户感染的新型犯罪活动,该活动通过被入侵的种子追踪器文件存储系统展开。我们已确认数百名受害者,其中包括来自俄罗斯、土耳其、日本、肯尼亚、乌干达和哥伦比亚等多个国家的个人用户和组织机构,以及西班牙、荷兰、比利时和德国等多个欧洲国家的受害者。我们将分析攻击者用于规避安全和沙箱解决方案检测的技术,并深入研究该模块化框架的功能。
卡巴斯基产品将此威胁检测为 HEUR:Trojan.Win64.Agent.gen。
2026年8月中旬,在威胁狩猎过程中,我们发现了一起大规模感染活动,该活动使用伪装成热门电影的未知恶意软件。此次活动影响了多个国家的个人和组织。初步分析显示,所有受害者都曾使用过BT下载网站。这一发现促使我们进一步调查此次活动,并分析其传播机制、整体范围以及未知的恶意软件植入方式。
被入侵的种子追踪器是传播恶意软件的主要途径。在我们的调查过程中,我们发现多份用户报告称,下载的并非预期内容,而是可疑文件。
例如,一位使用热门电影种子追踪器的用户在Reddit上报告了以下案例:
对此次攻击的进一步分析表明,攻击者并未直接入侵种子追踪器本身,而是入侵了一个广泛使用的公共种子文件库——itorrents[.]org。结果,依赖于该库的种子追踪器开始在不知不觉中向其用户分发恶意种子文件。这种方法尤其有效,因为攻击者无需单独入侵每个平台,即可影响多个追踪器的用户。
截至本报告发布之日,该种子文件库仍处于被入侵状态。当用户尝试使用磁力链接下载种子文件时,原本合法的种子文件库会返回一个不同的文件。这个恶意种子文件会导致恶意软件加载器的下载。该加载器用于部署我们称之为 MovieReaper 的框架。
加载器启动感染链,如下图所示。感染链的每个阶段将在以下章节中详细描述。
该感染链包含多个步骤,其中只有初始步骤会在执行前被部署到磁盘上以逃避检测。除了字符串使用自定义流密码加密外,恶意软件本身并没有进行高度混淆。大多数防御措施都旨在绕过反病毒沙箱的检测。
最流行的初始可执行文件通过种子追踪器以多种不同的名称分发(例如,the odyssey (2026) [1080p] [webrip] [5.1].exe),但所有下载的文件哈希值(MD5:A0B13781EDD7CFDAB13D79AFFF3C83C1)都相同。我们发现了多种不同的加载器,其中可执行文件会伪装成一个很长的文件名,并带有某个知名应用程序的图标。大多数文件名都相当长,大概是为了隐藏末尾的“.exe”扩展名。
用户手动启动应用程序后,它会建立一个全局互斥锁,以确保一次只能执行一个加载器。我们在样本中发现了几种不同的互斥锁,其中包含一个随机生成的字符串(例如 Global\fnulSktzSqvVLXHU)。然后,该可执行文件会执行一系列操作,以避免被反病毒沙箱解决方案检测到。
在执行这些操作时,该恶意软件避免调用 LoadLibrary 和 GetProcAddress 来获取所需函数的地址。相反,它会遍历从 PEB 的 Ldr 字段中提取的双向链表来搜索已加载的库,然后手动解析已加载的 DLL 以计算函数地址。
所有初始检查通过后,该二进制文件准备与 C2 网络服务器建立网络连接,以下载 shellcode,将其映射到可读写内存并执行。在此过程中,加载器会解码 https://deadhub[.]org 域名,如果连接失败,则使用 IP 地址 http://193.23.118[.]155 作为备用地址,并通过纯 HTTP 协议进行连接。恶意软件会随机选择一组字符串,并将其用作 HTTP 请求中的路径,以下载 shellcode 的部分内容。
/cloud/v192.4/ui/sync-status-icons.png /cloud/v192.4/onboarding/welcome-bg.jpg /cloud/v192.4/ui/file-preview-placeholder.png /cloud/v192.4/shared/link-banner.jpg
在映射地址空间和执行 shellcode 的过程中,加载器会注册一个向量化异常处理程序,并重写内存中的处理程序地址以执行调试中断。这不会导致程序崩溃,而是将控制流重定向到实际执行原始 NtProtectVirtualMemory 系统调用的函数(通过之前位于 ntdll 内部的“0x0F 0x05”系统调用指令)。然后,它会调用一个未公开的 ntdll 函数 EtwpCreateEtwThread,该函数是 CreateThread 的常用替代方案,用于执行代码并执行 shellcode。
该恶意软件的第二阶段会向 Solana 区块链的 /getAccountInfo 端点发送 HTTPS 请求,以获取账户 6pnDGAiHgyPdmckM5Qt1YbanGzrX43WLEU159nRaNLDm。响应的数据字段包含第二个 C2 服务器的 base64 编码地址,该地址使用位于 shellcode 内部的静态 XOR 密钥进行加密。攻击者使用一个简单的 Solana 程序(地址:CSiY8bQLBYPdfPWkwipBzH6sijTVQVVsA279JQdvwHtL)将数据存储到该账户中。
攻击者利用 Solana 区块链网络作为下一阶段端点的分发层,可以提高其攻击活动的稳定性,并抵抗防御者的打击行动。
第二阶段有效载荷严格通过HTTPS协议,并使用TLS绑定的证书,以nanopb protobuf库作为传输数据的容器,与其C2服务器通信。第二阶段植入程序的主要逻辑包含若干初始命令,其中最重要的是解析COFF文件并将其加载到内存中,然后执行其中的module_init函数。它提供了一个便捷的接口,用于扩展命令列表,从而引导我们进入有效载荷的下一阶段。
值得注意的是,恢复的模块是用符号编译的,这加快了逆向工程的速度。
从第二个 C2 服务器接收到下一阶段的数据后,新加载的模块会在 module_init 函数中执行几个任务。
第 3 阶段执行 UAC 绕过并使用公共技术实现持久性,将原始二进制文件伪装成 C:\ProgramData\Microsoft\Windows\Telemetry\msedge.exe,然后重新启动自身。
重启后的进程从初始加载器开始,但带有一个特殊的命令行参数,使其可以跳过大部分反沙箱检查,直接下载第二阶段。可执行文件按照与之前相同的步骤运行,但这次,它不再下载持久化和 UAC 绕过模块,而是从第二个 C2 服务器下载新的模块。这是因为信标中会向远程服务器发送一个标志,指示植入程序是否正在运行。该标志位于遥测文件夹中,使 C2 服务器能够区分首次运行的实例和重启后的实例。
最后一个模块(“文件管理器”)提供了 21 条命令,使操作员能够访问目标主机的文件系统。它允许远程操作员下载、上传和读取系统上的文件,列出和枚举目录,使用创建、复制、重命名、移动、删除、更改权限、符号链接等命令操作文件,并使用预览和缩略图命令在实际提取图像和文件之前查看其预览。
我们怀疑其他模块可能是根据运营商的请求按需加载的。
在此次恶意软件攻击活动中,攻击者利用各种商业托管服务提供商搭建其C2基础设施(详见IoC部分)。此外,如上所述,该攻击活动通过api.mainnet.solana.com RPC端点利用合法的Solana区块链,将第二阶段C2服务器的地址传递给恶意软件。这种方法为攻击者提供了C2地址的去中心化存储,增强了攻击的韧性,也使得防御者难以通过简单地屏蔽C2服务器的IP地址来阻止攻击活动。
此次网络攻击活动的目标涵盖欧洲、亚洲和非洲的个人和组织,在俄罗斯、西班牙、德国、芬兰、土耳其、日本、尼泊尔、肯尼亚、坦桑尼亚、加纳等国家均发现了感染企图。被攻击的组织涉及众多行业,包括企业、政府、IT、咨询、零售、运输和农业。
我们的研究发现,同一攻击者的活动可以追溯到2025年10月。随着时间的推移,该攻击活动不断演变,恶意软件作者扩展了其攻击手段,使得加载器更难被检测,但其攻击模式始终如一:使用编码字符串,通过纯HTTP协议下载部分shellcode,并采用多种技术绕过沙箱和虚拟机。我们将继续监控该攻击者的活动,以发现新的潜在威胁。
第一阶段是阻断此次攻击活动的最佳时机,因为它依赖于一个特定的域名和一个IP地址来运行shellcode,这意味着摧毁该服务器就能阻止感染链的进一步传播。这其中也包括第二阶段的有效载荷,该载荷使用Solana区块链网络进行C2通信,因此更难通过传统的网络基础设施攻击手段进行防御。
然而,该框架的自包含性、模块化和内存执行特性使其有可能在以后的活动中以最小的修改量被重新利用。
4334BBAEA8DE33BF9D45E9B4E4E3BC2 4843F9FAFCAE492F11E2D4D33DBB4CDD 5310CABAE3FBE6DB8742849B588093F9 A0B13781EDD7CFDAB13D79AFFF3C83C1 70060341CAF3338697A7DDFE0FB62875 AD4643EEA15AC286FA47D1131F9EF756 D0B967571AC8A3863C7F324BF5BDE99C D88D550D0FB8E60CFFFF3EA61FF7A067
%ProgramData%\Microsoft\Windows\Telemetry\msedge.exe
全球\E4AyDKzvEhe2hgAr 全球\fnulSktzSqvVLXHU
第一阶段 C2:deadhub[.]org 193.23.118[.]155
第二阶段 C2:208.64.33[.]90 208.94.246[.]53
恶意软件技术
恶意软件描述
《奥德赛》和木马病毒再次来袭:MovieReaper 通过被入侵的种子文件攻击多个国家的用户
本网站使用 Akismet 来减少垃圾邮件。了解您的评论数据如何处理。
出自同一作者之手
装甲利霍扩展其网络间谍工具包
我们是如何入侵同事的智能家居系统的
OPC UA 安全分析
同一类别
APT 组织 HoneyMyte 升级了 CoolClient:后门程序获得了内核级 Windows rootkit。
CAV3RN 项目持续推进:Google Apps Script 作为 C2 中继以及基于 DNS 的 C2 信道选择
OctLurk 和 SilkLurk:中亚网络间谍活动中新发现的定制后门
Mirage Kitten 推出新型恶意软件,瞄准中东和非洲地区。