
親ロシア派のハクティビスト集団CyberVolkは、VolkLockerと呼ばれるランサムウェア・アズ・ア・サービス(RaaS)を立ち上げたが、これには深刻な実装上の欠陥があり、被害者は無料でファイルを復号化できる可能性があった。
この新しいランサムウェア・ファミリーを調査したSentinelOneの研究者によると、この暗号化ソフトはバイナリにハードコードされたマスターキーを使用しており、このマスターキーは感染したマシン上の隠しファイルにも平文で書き込まれている。
これにより、標的とされた企業はこのキーを使用してファイルを無料で復号化できるようになり、サイバー犯罪の領域におけるVolkLockerの可能性が損なわれることになる。
ハクティビズムとサイバー犯罪
CyberVolkは、インドを拠点とする親ロシア派のハクティビスト集団で、昨年から活動を開始し、ロシアに反対する、あるいはウクライナに味方する公共団体や政府機関に対して、分散型サービス拒否攻撃やランサムウェア攻撃を仕掛けたと報じられている。
このグループはTelegram上で活動を停止していたが、2025年8月にLinux/VMware ESXiとWindowsシステムの両方を標的とする新しいRaaSプログラム、VolkLocker(CyberVolk 2.x)で復活した。
VolkLockerの興味深い特徴は、そのコードにGolangタイマー関数が使用されていることで、このタイマー関数の有効期限が切れたり、HTMLランサムウェアノートに不正なキーが入力されたりすると、ユーザーフォルダ(ドキュメント、ダウンロード、ピクチャ、デスクトップ)のワイプがトリガーされる。

Source:SentinelOne
RaaSへのアクセスには、シングルOSアーキテクチャの場合は800~1,100ドル、両方の場合は1,600~2,200ドルかかる。
購入者はTelegram上のbuilder botにアクセスして暗号化装置をカスタマイズし、生成されたペイロードを受け取ることができる。
2025年11月、同じ脅威グループは、リモート・アクセス・トロイの木馬とキーロガーの広告を開始した。

ソースはこちら:SentinelOne
重大な暗号の弱点
VolkLockerはGCM(ガロア/カウンタ・モード)暗号化でAES-256を使用し、32ビットのマスター・キーはバイナリに埋め込まれた64文字の16進文字列から導き出されます。
ランダムな12バイトのnonceが各ファイルの初期化ベクトル(IV)として使用され、元のファイルを削除し、暗号化されたコピーに.lockedまたは.cvolkファイル拡張子を付加する。
問題は、VolkLockerが被害者システム上のすべてのファイルを暗号化するために同じマスターキーを使用し、その同じキーが%TEMP%フォルダ内のプレーンテキストファイル(system_backup.key)にも書き込まれることです。
「ランサムウェアはこのバックアップ・キー・ファイルを決して削除しないため、被害者はこのファイルから必要な値を抽出することでファイルの復元を試みることができる」とSentinelOneは説明する。
“平文キーのバックアップは、本番ビルドに誤って出荷されたテストアーティファクトである可能性が高い”

出典:SentinelOne:SentinelOne
この欠陥は既存の被害者を救うかもしれないが、VolkLockerの暗号学的欠陥が公開されたことで、脅威行為者はバグを修正し、将来悪用されるのを防ぐよう促されるだろう。
ランサムウェアの欠陥は、脅威行為者が積極的に操作を行っている間は公開せず、被害者を個人的に支援できる法執行機関やランサムウェアの交渉会社と非公開で共有するのがベターな方法と考えられています。
がVolkLockerの弱点を公に公開するという決定について尋ねるためにSentinelOneに連絡したところ、広報担当者が以下のような説明を送ってきた:
「私たちが躊躇しなかった理由は、これは中核的な暗号化の欠陥ではなく、むしろ無能なオペレーターによって不注意にも一部の製品ビルドに出荷されてしまったテスト用の成果物であり、そのようなケースを超える信頼できる復号メカニズムではないからです。これはむしろ、サイバーボルクがこのRaaS提供を通じて実現しようとしているエコシステムの代表的なものだ。- SentinelOneの広報担当者
.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