
レオナルド・ディカプリオ監督の映画「ワン・バトル・アフター・アナザー」の偽トレントには、悪質なPowerShellマルウェアローダーが字幕ファイル内に隠されており、最終的にデバイスをAgent Tesla RATマルウェアに感染させます。
この悪質なTorrentファイルは、Bitdefenderの研究者が、この映画に関連する検出数の急増を調査している際に発見しました。
One Battle After Another」は、レオナルド・ディカプリオ、ショーン・ペン、ベニチオ・デル・トロが出演し、2025年9月26日に公開された高評価のポール・トーマス・アンダーソン監督の映画です。
サイバー犯罪者が悪意のあるトレントをアップロードすることで、新作映画への関心を利用することは目新しいことではありませんが、Bitdefenderは、今回のケースが異常に複雑かつステルス的な感染チェーンである点で際立っていると指摘しています。
Bitdefenderは、「どれだけの人々がファイルをダウンロードしたかを推定することは不可能ですが、私たちは、この想定される映画には何千人ものシーダーやリーチャーがいることを確認しました」と説明しています。
字幕からマルウェアを起動
攻撃に使用されたダウンロードされた映画「One Battle After Another」トレントには、映画ファイル(One Battle After Another.m2ts)、2つの画像ファイル(Photo.jpg、Cover.jpg)、字幕ファイル(Part2.subtitles.srt)、映画ランチャーとして表示されるショートカットファイル(CD.lnk)など、さまざまなファイルが含まれています。
CDショートカットが実行されると、Windowsコマンドが起動し、100行目と103行目の間にある字幕ファイルに埋め込まれた悪意のあるPowerShellスクリプトを抽出して実行します。

このPowerShellスクリプトはその後、サブタイトルファイルから多数のAES暗号化データブロックを再度抽出し、「C:˶Users<USER>AppData」へとドロップされる5つのPowerShellスクリプトを再構築します。

Source :
抽出されたPowerShellスクリプトはマルウェアドロッパーとして機能し、ホスト上で以下のアクションを実行します:
- ステージ1– 利用可能な任意のエキストラクターを使用して、One Battle After Another.m2tsファイルをアーカイブとして展開します。
- ステージ 2– RealtekCodec.batを実行する隠しスケジュールタスク(RealtekDiagnostics)を作成します。
- ステージ3– Photo.jpgから埋め込まれたバイナリデータをデコードし、復元されたファイルをWindows Sound Diagnostics Cacheディレクトリに書き込みます。
- ステージ4– %LOCALAPPDATA%Packages</Microsoft.WindowsSoundDiagnostics}Cache が存在することを確認します。
- ステージ5– バッチファイルとPowerShellスクリプトを含むCover.jpgコンテンツをCacheディレクトリに抽出します。
最終段階で抽出されたファイルは、Windows Defenderがアクティブかどうかをチェックし、Goをインストールし、最終的なペイロード(AgentTesla)を抽出し、メモリに直接ロードするために使用されます。
AgentTeslaは、長期間(2014年以降)稼働しているWindows RATであり、ブラウザ、電子メール、FTP、VPNの認証情報を盗んだり、スクリーンショットをキャプチャしたりするために一般的に使用される情報窃盗犯です。
Agent Teslaは新しいものではありませんが、その信頼性と展開のしやすさから、依然として広く使用されています。
Bitdefenderは、例えば「Mission:Impossible – The Final Reckoning “では、Lumma Stealerのような他のファミリーが使用されていることが確認されています。
匿名パブリッシャーからのTorrentファイルにはマルウェアが含まれていることが多いため、安全のために新作映画の海賊版を完全に避けることをお勧めします。
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}
.ia_button {
width: 100%;
margin: 0px auto;
}
}





Comments