Take a Product Tour Request a Demo Cybersecurity Assessment Contact Us

Stories

The latest cybersecurity trends, best practices,
security vulnerabilities, and more

擬似ランサムウェアの復活

ウクライナを標的とした「ランサムウェア」キャンペーンの最新ニュース レポートが公開されたことで、属性だけでなく、考えられる動機についても大きく報道される結果になりました。Unlike traditional ransomware campaigns where the motive is obvious, this particular campaign is believed to be pseudo in nature1. つまり、ステージ 4 のワイパーは、被害を受けたシステム上のデータを単純に上書きし、復号化が不可能であることから、感染したシステムの破壊を引き起こす意図があると思われます。Whilst the campaign is targeting largely one country, the Trellix Advanced Threat Research team have published an MVISION Insights campaign to track the threat which highlights what indicators have been found in other countries. (Additional details)

出典: Insights のプレビュー

そのため、組織のセキュリティ ポスチャは、この脅威に対する保護と検出に必要な管理性を備えているよう強く推奨します。Indicators of Compromise for active hunting are available within the preview, and we have incorporated all known indicators into our products. また、この攻撃の新たな要素が発生した場合には、それを確実に特定できるように調査を続行しています。

キャンペーンの詳細

First samples and indicators were reported on Thursday the 13rd of January in the late evening UTC time, which is around 1AM in the morning and onwards in the Ukraine.

The attack consists of three stages, as can be seen below.

図 1: 攻撃の流れ

ステージ 1: MBR を上書きし、すべてのパーティションを破壊する
最初に発見されたファイルは以下のとおりです。

ファイル名 Stage1.exe
コンパイル日時 01-10-2022 10:37:18
SHA1 189166d382c73c242ba45889d57980548d4ba37e
SHA256 a196c6b8ffcb97ffb276d04f354696e2391311db3841ae16c8c9f56f36a38e92
MD5 5d5c99a08a7d927346ca2dafa7973fc1

ステージ 2: discord でホストされている CDN を解してステージ 3 をダウンロードする

ファイル名 Stage2.exe (当初の名前は Tbopbh.exe)
コンパイル日時 01-10-2022 14:39:54
SHA1 16525cb2fd86dce842107eb1ba6174b23f188537
SHA256 dcbbae5a1c61dbbbb7dcd6dc5dd1eb1169f5329958d38b58c3fd9384081c9b78
MD5 14c8482f302b5e81e3fa1b18a509289d

ステージ 3: ファイル ワイパーを実行する

ファイル名 Frkmlkdkdubkznbkmcf.dll
SHA1 82d29b52e35e7938e7ee610c04ea9daaf5e08e90
SHA256 9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d
MD5 e61518ae9454a563b8f842286bbdb87b

どちらの実行ファイルも、ファイル パスは C:\ でした。冗談ではなく、実際にこのようなファイル名が付けられていました。

どちらの実行ファイルも、サンプルの分析中に確認された限りでは、破壊的な性格です。

第 1 ステージ ― マスター ブート レコードの書き換え

最初のステージである Stage1.exe が実行されると、実行後にランサムウェアとしての性質を確立し、マスター ブート レコード (MBR) を上書きします。このマルウェアを VM で実行してマシンを再起動すると、次のような注意書きが表示されます。

ランサムウェアの警告文でおなじみの文言が書かれています。このデバイスは暗号化されており、ファイルが人質になっているという通知と、要求された金額を要求された通貨で送る際の支払い先が記載されているのです。このサンプルでは TOX の ID が指定されており、これはレアなケースです。TOX は、ピアツーピアの接続上でエンドツーエンドで暗号化されたチャットに使用されます。

さまざまな亜種も分析されましたが、金額と BTC アドレスは同じままでした。一般的な Ransomware-as-a-Service (サービスとしてのランサムウェア) では、取引を難読化するためにビット ミキサーを使用して変更される部分です。

コードを分析したところ、ボリューム シャドウ コピーを削除するコードや、マルウェアの削除や復元作業によく使われるリカバリー モードのブート プロセスをブロックするコードは見つかりませんでした。以上は、ほとんどのランサムウェア サンプルでごく一般的な手順です。

次にコード スニペットを見ると、マルウェアは MBR が存在する物理ドライブにアクセスし、続いてその MBR を上書きすることがわかります。

ステージ 2 ― Discord ダウンローダー

The ‘Stage2’ file is using an icon that resembles the icon of the proxy client “Proxifier”. これを作った攻撃者は、証明書でこのサンプルに署名し、オペレーティング システムに存在する Microsoft のバイナリに偽装することで、検出を回避しようとしたのです。このファイルに添付されているメタデータは、以下のスクリーンショットに見られるように、ロシア語で書かれています。このスクリーンショットの 24 行目と 25 行目にあるとおり、アセンブリの説明とタイトルはどちらも「Проводник」(英語にすると「Conductor」) となっています。

stage2 は、以下のようにエンコードされた PowerShell コマンドが実行されます。

powershell.exe" -enc UwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBzACAAMQAwAA==

base64 エンコードされたコマンドがデコードされると、実際のコマンドが表示されます。実行を遅らせるために 10 秒間のスリープを実行しています。

Powershell.exe Start-Sleep -s 10

マルウェアは次に、Discord の CDN サーバーから "Tbopbh.jpg" という名前のファイルをダウンロードします。

hxxps://cdn[.]discordapp[.]com/attachments/928503440139771947/930108637681184768/Tbopbh[.]jpg

ファイル名 Tbobph.jpg
SHA1 b2d863fc444b99c479859ad7f012b840f896172e
SHA256 923eb77b3c9e11d6c56052318c119c1a22d11ab71675e6b95d05eeb73d1accd6
MD5 b3370eb3c5ef6c536195b3bea0120929

このファイルはイメージではなく、反転した PE ファイルです。起動する前にデータの順番が反転されます。このファイルは .Net Framework ベースの DLL で、以下のコード スニペットでわかるように、ステージ 3 の開始点が再帰的に呼び出されています。

第 3 ステージの静的関数は "Ylfwdwgmpilzyaph" という名前で、名前空間およびクラスとして "ClassLibrary1.Main" に存在します。この関数は何も引数を取らず、値も返しません。

ステージ 3 ― ローダーの再利用

ファイル名 Frkmlkdkdubkznbkmcf.dll
SHA1 82d29b52e35e7938e7ee610c04ea9daaf5e08e90
SHA256 9ef7dbd3da51332a78eff19146d21c82957821e464e8133e9594a07d716d892d
MD5 e61518ae9454a563b8f842286bbdb87b

このステージも .Net Framework のバイナリで、それは前のステップで再帰的に呼び出されたことからも推察できます。ここで使われるローダーはもっと一般的で、よくあるマルウェアの拡散にも利用されるものです。As described in this recent Twitter thread, the xClient RAT was also distributed via this loader family.

このローダーは、実行中にいくつかのプロセスを開始した後、プロセス ホローイングを利用してステージ 4 をインジェクトし、実行します。最初に、ローダーは自身が管理者権限を持っていることを確かめます。管理者権限を持っていない場合は、再度プロセスを開始して権限をリクエストします。

The first process it starts, is a file it drops to “%temp%\Nmddfrqqrbyjeygggda.vbs”. このファイルの内容は、以下のようにかなり小さいものです。

CreateObject("WScript.Shell").Run "powershell Set-MpPreference -ExclusionPath 'C:\'", 0, False

これによって、“C:\” が Windows Defender による監視から除外されます。前述したとおり、最初の 2 ステージはいずれもこの場所にあったため、除外を設定してしまえば、その存在が Defender のスキャンで検出されなくなるからです。

The two processes that are started after that, utilise the same tool to execute commands: AdvancedRun by Nir Sofer. 使用されているバージョン (1.2.2.6。2020 年 8 月 3 日月曜日午前 5:45:51 に Nir Sofer 自身によって署名されている) は、このマルウェアによって悪用されていますが、正規の実行ファイルです。

AdvancedRun はまず、不可視のウィンドウを使用して Defender を停止するために実行されます。

%temp%\AdvancedRun.exe /EXEFilename "C:\Windows\System32\sc.exe" /WindowState 0 /CommandLine "stop WinDefend" /StartDirectory "" /RunAs 8 /Run

AdvancedRun の 2 回目の実行では、Defender のファイルをシステムから完全に削除します。

%temp%\AdvancedRun.exe /EXEFilename "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" /WindowState 0 /CommandLine "rmdir 'C:\ProgramData\Microsoft\Windows Defender' -Recurse" /StartDirectory "" /RunAs 8 /Run

ローダーは、.Net Framework の相互運用機能を利用して、管理対象のコンテキストから管理対象外のコードを実行します。以下にあげる関数のリストは、管理対象外のどの関数が使用されたかを示していますが、実行の順番は判明していません。各ファイルの名前は、ローダーに base64 でエンコードされています。

  • ResumeThread
  • Wow64SetThreadContext
  • SetThreadContext
  • GetThreadContext
  • VirtualAllocEx
  • WriteProcessMemory
  • ZwUnmapViewOfSection
  • CreateProcessA
  • CloseHandle
  • ReadProcessMemory

これらの関数が呼び出されていることから、プロセス インジェクションの利用が示唆されます。これに基づいて第 4 ステージをダンプすることができるので、その分析結果を以下に示します。

ステージ 4 - ワイパー

ファイル名 -
SHA1 8be3c66aecd425f1f123aadc95830de49d1851b5
SHA256 191ca4833351e2e82cb080a42c4848cfbc4b1f3e97250f2700eff4e97cf72019
MD5 343fcded2aaf874342c557d3d5e5870d

ワイパーは C 言語で書かれており、シンボルもその他のデバッグ情報も含まれていません。主な機能は以下のとおりで、注意点もコメントとして書かれています。

このマルウェアは、すべてのドライブを繰り返し検索し、以下の 191 個の拡張子のいずれかに一致するファイルをすべて消去します。

.HTML、.HTM、.SHTML、.XHTML、.PHTML、.PHP、.JSP、.ASP、.PHPS、.PHP5、.ASPX、.PHP4、.PHP6、.PHP7、.PHP3、.DOC、.DOCX、.XLS、.XLSX、.PPT、PPTX、.PST、.OST、.MSG、.EML、.VSD、.VSDX、.TXT、.CSV、.RTF、.WKS、.WK1、.PDF、.DWG、.ONETOC2、.SNT、.JPEG、.JPG、.DOCB、.DOCM、.DOT、.DOTM、.DOTX、.XLSM、.XLSB、.XLW、.XLT、.XLM、.XLC、.XLTX、.XLTM、.PPTM、.POT、.PPS、.PPSM、.PPSX、.PPAM、.POTM、.EDB、.HWP、.602、.SXI、.STI、.SLDX、.SLDM、.BMP、.PNG、.GIF、.RAW、.CGM、.SLN、.TIF、.TIFF、.NEF、.PSD、.AI、.SVG、.DJVU、.SH、.CLASS、.JAR、.BRD、.SCH、.DCH、.DIP、.PL、.VB、.VBS、.PS1、.BAT、.CMD、.JS、.ASM、.H、.PAS、.CPP、.C、.CS、.SUO、.ASC、.LAY6、.LAY、.MML、.SXM、.OTG、.ODG、.UOP、.STD、.SXD、.OTP、.ODP、.WB2、.SLK、.DIF、.STC、.SXC、.OTS、.ODS、.3DM、.MAX、.3DS、.UOT、.STW、.SXW、.OTT、.ODT、.PEM、.P12、.CSR、.CRT、.KEY、.PFX、.DER、.OGG、.RB、.GO、.JAVA、.INC、.WAR、.PY、.KDBX、.INI、.YML、.PPK、.LOG、.VDI、.VMDK、.VHD、.HDD、.NVRAM、.VMSD、.VMSN、.VMSS、.VMTM、.VMX、.VMXF、.VSWP、.VMTX、.VMEM、.MDF、.IBD、.MYI、.MYD、.FRM、.SAV、.ODB、.DBF、.DB、.MDB、.ACCDB、.SQL、.SQLITEDB、.SQLITE3、.LDF、.SQ3、.ARC、.PAQ、.BZ2、.TBK、.BAK、.TAR、.TGZ、.GZ、.7Z、.RAR、.ZIP、.BACKUP、.ISO、.VCD、.BZ、.CONFIG

ワイプのプロセスは、次の図に示すとおりです。

名前の除外リストには、"."、"."、"$RECYCLE.BIN" といファイル名、または "HOMEDRIVE "という環境変数の値が含まれます。

長すぎるファイル名は、ディスク識別子では適切に処理できないため、別の方法をとる必要があります。Microsoft’s documentation describes all scenarios clearly, including the how and why.

ワイプ (消去) が終わると、main 関数の 2 つ目の関数が呼び出されます。指定されたコマンドを非同期で実行し、自身のプロセスを終了することによって、その時点で使用されていないワイパーのファイルが削除されます。そのコードを以下に示します。

モジュール名がコマンドにコピーされ、最小化されたウィンドウが実行されて、各リクエスト間に 10 ミリ秒の待ち時間を設けながら、ping リクエストが "111.111.111.111" に 5 回送信されます。コマンドの出力が "Nul "に送られ、出力は確実に隠蔽されます。さらに、ワイパーのパスが引数として使われて、ディスクから強制的に、しかも目立たないように削除されます。これは、プログラムがまだ実行中だと失敗するため、ping コマンドが先に実行されます。以下に示すスクリーンショットの関数は、指定されたコマンドを実行して、すべてのハンドルを閉じます。

最後に、EWX_SHUTDOWN をフラグとして使用して ExitWindowsEx が呼び出され、すべてのファイル バッファがディスクにフラッシュされていることを確認します。シャットダウンの理由は、ネットワーク接続関連となっています。

MITRE 手法
T1059.001 PowerShell Discord からファイルをダウンロードして実行するために PowerShell を使用する。
T1485 Data Destruction MBR ワイプやファイルの上書きによってデータを破壊する。
T1059.005 Visual Basic Stage3 が Wscript init で vbs を実行する。
T1562.004 Disable or Modify System firewall Stage3 が Defender を無効にする。
T1112 Modify Registry レジストリの設定を変更してツールを無効にする。
T1105 Ingress Tool Transfer stage1.exe や stage2.exe などのファイルがネットワーク内やネットワーク経由で転送される。

防御対策のガイダンス

脅威インテリジェンス

MVISION Insights は、今回のキャンペーンに関連する IOC (侵害の指標) と、それに関連する検出があればその情報を、いち早く提供します。

また、ENS の検出結果とキャンペーンを照合し、実行の流れを示すプロセス トレース情報を提供することによって、お使いの環境におけるマルウェア流行の兆しを提示します。

ENS AMCore の定義が最新で、GTI と Real Protect が有効になっていることを確認してください。

図 2: 以下は、ステージ 1 とステージ 2 でトリガーされた ENS の検出結果です。

MVISION EDR は、次のようにプロセスの実行を完全に可視化します。

ここでは、第 2 段階のペイロードの通信フローと、Powershell スクリプト実行の意図を確認できます。

検出された脅威から調査を行うと、Powershell や cmd などのデュアル情報収集ツールを使用して OS コマンドを実行し、システムに変更を加えたうえ、追加のペイロードもダウンロードしていることがわかります。


1 https://www.helpnetsecurity.com/2017/08/14/pseudo-ransomware/

最新情報を入手する

サイバー セキュリティは私たちの得意とするところです。とはいえ、私たちは新しい会社です。
これから進化してまいりますので、最新情報をお見逃しなきよう、お願いいたします。

有効な電子メール アドレスを入力してください。
迷惑メールゼロ。配信はいつでも停止できます。