CrowdStrike Blog:ランサムウェア Ryuk を武器に猛獣狩り、大金を生む標的型ランサムウェア | ScanNetSecurity
2024.03.19(火)

CrowdStrike Blog:ランサムウェア Ryuk を武器に猛獣狩り、大金を生む標的型ランサムウェア

SamasやBitPaymerと同様に、Ryukは大企業を標的とする攻撃に特化しています。RyukとHermesランサムウェアのバージョン間のコードを比較すると、RyukはHermesのソースコードから派生したものであり、リリース以来着実に開発が進められてきたことがわかります。

国際 海外情報
 GRIM SPIDERは、2018年8月からランサムウェアRyukを操り、多額の身代金を得るために大企業を狙う高度なサイバー犯罪グループです。「Big Game Hunting(猛獣狩り)」として知られるこの攻撃手法は、GRIM SPIDERが所属する大規模なサイバー犯罪集団WIZARD SPIDERによる運営に変化があったことを示すものです。ロシアを拠点とし、バンキングマルウェア「TrickBot」を利用することで知られるサイバー犯罪者グループWIZARD SPIDERは、過去には主にネット上での詐欺に焦点を当てていました。

 SamasやBitPaymerと同様に、Ryukは大企業を標的とする攻撃に特化しています。RyukとHermesランサムウェアのバージョン間のコードを比較すると、RyukはHermesのソースコードから派生したものであり、リリース以来着実に開発が進められてきたことがわかります。コモディティランサムウェアであるHermesは、闇フォーラムで売買され、複数の攻撃者により利用されてきました。しかしながら、Hermesとは異なり、Ryukを使用したのはGRIM SPIDERのみで、しかも大企業環境を狙った攻撃でのみ使用されています。8月にRyukが登場して以来、GRIM SPIDERは、52件の取引で705.80 BTC(時価総額370万1,893.98米ドル)の利益を得ています。

拡散

 CrowdStrikeは、Ryukの感染ケースに対し、複数のインシデントレスポンス(IR)対応を実施しました。被害を受けた環境内のホスト上では、TrickBotも発見されました。CrowdStrike Falcon Intetelligence チームは、最初の侵入はTrickBotを使用して行われたと考えています。通常TrickBotは、スパムメールを介して、あるいは、MUMMY SPIDERが開発・運用するマルウェアEmotetの地理的データに基づくダウンロード機能を使用して配布されます。Falcon Intelligenceチームは、Emotetのダウンロードアクティビティを監視してきました。2018年にMUMMY SPIDERは、WIZARD SPIDERを強力にサポートしており、英国、米国、カナダのEmotetの被害者にTrickBotをばら撒いていました。

 pwgrabなどのTrickBotの一部のモジュールは、環境に侵入するために必要な認証情報の獲得を助ける役目を担っていたようです。また、SOCKSモジュールが、PowerShell Empireトラフィックをトンネリングして、偵察やラテラルムーブメントを行っていたことも確認されています。CrowdStrikeによるインシデントレスポンス作業時には、GRIM SPIDERが被害者のネットワーク上で、Ryukを拡散するために次のような動きをしているのが確認されました。

・難読化されたPowerShellスクリプトが実行され、リモートIPアドレスに接続
・リバースシェルがダウンロードされ、侵害したホスト上で実行
・ホスト上でPowerShellのロギング防止スクリプトが実行
・標準のWindowsコマンドラインツールとアップロードされた外部ツールを使用してネットワークの偵察を実施
・リモートデスクトッププロトコル(RDP)を使用してネットワーク内でラテラルムーブメント実施
・サービスユーザーアカウントが作成
・PowerShell Empireがダウンロードされ、サービスとしてインストール
・ドメインコントローラーにアクセスするための権限が獲得されるまでラテラルムーブメントを継続
・PSEXECを使用して各ホストにRyukバイナリが拡散
・バッチスクリプトが実行され、プロセス/サービスを終了させると、バックアップを削除し、次にRyukのバイナリも削除

HermesからRyukへ

 Ryukの前身であるランサムウェアHermesが最初に拡散されたのは2017年2月でした。そのリリースからわずか1か月後には、Hermesの復号プログラムが作成されています。さらに2017年4月には、暗号化の実装に関する脆弱性を修正したバージョン2.0がリリースされました。このバージョンのリリース以降、ファイルを復元するには、身代金を払ってプライベート暗号化キーを入手するしか方法がなくなりました。2017年8月末には、Hermesのバージョン2.1がリリースされています。

 元々Hermesは、闇フォーラムにおいて300米ドルで販売されていました。これを購入すると、2つのサポート用Eメールアドレス、復号ツール、およびRSAキーのペアが送られてきます。追加のEメールアドレスが欲しい場合には、さらに50米ドルを支払い追加のビルドを購入する必要があります。Hermesの売人は、2017年にはフォーラムでの広告を止めたか、あるいは制限していたようです。
Hermesの初期のバージョンは、脆弱なクレデンシャルで保護していたインターネットアクセス可能なRDPサーバーを利用してインストールされていたと言われています。2017年10月には、台湾の遠東国際商業銀行(FEIB)の国際銀行間通信協会(SWIFT)システムに対する攻撃にHermesが投入されました。SWIFTへの攻撃におけるHermesの役割については、このブログの最後のほうの「アトリビューション」の項で詳しく説明しています。2018年3月には、HermesがGreenFlash Sundownエクスプロイトキットを使用してして韓国のユーザーを攻撃していることが明らかになりました。

 2018年8月中旬には、公開されているマルウェアリポジトリにHermesの変種「Ryuk」が追加されました。Ryukは大企業環境を標的とするとともに、分析回避メカニズムをチェックする機能を削除するように改造されています。このチェック機能は、Process Environment Block(PEB)に、フィールドが BeingDebuggedであるか、あるいはNtGlobalFlagフィールドがセットされているかを問い合わせて、インストラクションCPUIDを呼び出すことにより、ホストがVirtualBoxを実行しているかをチェックします。また、ホストの言語がロシア語、ウクライナ語、ベラルーシ語でないことを確認します。プロセスとファイルの観点では、HermesとRyukは同様の方法で標的とするファイルを決定します。主な違いは、Ryukではファイルアクセスを処理するロジックが変更されていることと、2つ目の埋め込まれたRSA公開鍵を使用するという点です。
以下の特徴については変わっていません。

・RSA-2048とAES-256を使用してファイルを暗号化する
・Microsoft独自のSIMPLEBLOB形式で実行ファイルにキーを格納する
・マウントされているデバイスとリモートホストを暗号化する
・ファイルマーカーHERMESを使用してファイルが暗号化されているかをマークまたはチェックする

 HermesとRyukのもう1つの重要な違いは、暗号化キーの作成方法です。Hermesは、最初にRSAの公開鍵と秘密鍵のペア(「被害者の鍵」と呼ばれる)を生成することによって暗号の初期化を行います。AES-256キーが生成され、被害者のRSA秘密キーはAES-CBCモードで暗号化されます。攻撃者が制御するRSA公開鍵は、AESキーを暗号化するために使用されます(以前は被害者のRSA秘密鍵を暗号化するために使用されていました)。次に、暗号化されたファイルごとにAESキーが生成され、それを使用してファイルを暗号化します。最後に、各ファイルのAESキーは被害者のRSA公開キーで暗号化され、ファイルの最後に格納されます。

 Ryukにも同じロジックが含まれていますが、被害者固有のRSAキーペアは生成されなくなっています。代わりに、Ryukは2つのRSA公開鍵を実行ファイルに埋め込み、被害者の以前のRSA秘密鍵は暗号化して実行ファイルに埋め込んでいます。Ryukは被害者固有のRSAキーのペアを生成しないため、すべてのホストを同じ復号キーで復号できます。これは設計上の欠陥のように見えるかもしれませんが、Ryukでは実行ファイルごとに固有のキーを使います。1つの実行ファイルが1人の被害者の環境に対して使用されるならば、1つのRyukの実行ファイルで暗号化されたファイルを復号するだけなので、秘密鍵が流出しても影響はありません。したがって、Ryukが各被害者に対してRSAキーのペアを事前に生成している可能性が非常に高いと考えられます。被害者のシステムが身代金を支払わずに暗号化されていないRSAキーペアのパラメータにアクセスすることは決してないため、これは非常に安全なやり方だと言えるでしょう。この方法は、ハードコーディングされた公開鍵を使用して被害者固有のサンプルを生成するINDRIK SPIDERのBitPaymerランサムウェアと似ています。

Ryukの機能

 Ryukのバイナリには2つのタイプがあります。それらは、ドロッパー(ほとんど確認されていない)とRyuk実行ファイルのペイロードです。ドロッパーが実行されるとRyuk実行ファイルのペイロードによって削除されてしまうため、ドロッパーが回収されることはまれです。実行されると、ドロッパーはインストール用フォルダーのパスを構成します。フォルダーのパスは、GetWindowsDirectoryWを呼び出してから、パスの4番目の文字にnullバイトを挿入することによって作成されます。これは、ドライブ文字のパスを含む文字列を作成するために使用されます。ホストのOSがWindows XP以前の場合、文字列Documents and Settings\Default User\がドライブ文字のパスに追加されます。ホストのOSがWindows Vista以降の場合、文字列users\Public\がドライブ文字のパスに追加されます。Windows XPの場合、フォルダーパスの例はC:\Documents and Settings\Default User\のようになります。Windows Vista以降の例はC:\Users\Publicです。

 その後に、ランダムな実行ファイル名が付けられます。ファイル名は、GetTickCountの呼び出しによって返されたシード値を使用して_srandを呼び出すことによって作成します。その後、5つの英数字が連結されるまで_randが連続して呼び出されます。次に拡張子.exeが追加されます。ドロッパーは、IsWow64Processを呼び出してホストが32ビットか64ビットかを確認すると、2つの埋め込まれたペイロード実行ファイルのうちホストのアーキテクチャーに対応する方を書き込みます。次に、新しく書かれた実行ファイルを、ShellExecuteWを呼び出して実行します。ドロッパーによって書かれたRyukのペイロード実行ファイルは、ホスト上のファイルを暗号化するためのコアロジックを含むRyukのコンポーネントです。

 Ryukは常に開発が進められています。ここ数か月の間、攻撃者が頻繁にRyukの機能の追加や削除を行っており、Ryukのバイナリは元のHermesのソースコードから逸脱し続けています。2018年11月、Falcon IntelligenceはRyukに追加された新しい機能を特定しました。これには分析回避の無限ループ、暗号化プロセス完了後のIPアドレスへのpingに似たリクエスト、および暗号化されたファイルへのファイル拡張子の追加が含まれます。これら3つの新機能のうち、2018年12月20日にコンパイルされた実行ファイル内にまだ存在していたのはファイル拡張子のみでした。

ファイルの暗号化

 他のランサムウェアファミリーと比較して、Ryukにはシステムファイルの暗号化を行わないことによってホストの安定性を確保するという安全対策がほとんど取り入れられていません。たとえば、多くのランサムウェアファミリーには、暗号化の対象としないファイル拡張子またはフォルダー名の広範なリスト(ホワイトリスト)が含まれていますが、Ryukのホワイトリストには、3つの拡張子しか登録されていません。Ryukは、拡張子がexe、dll、またはhrmlogのファイルを暗号化しません。この最後の拡張子は、最初のHermesの開発者によって作成されたデバッグログファイルの名前のようです。このリストには、sys(システムドライバ)、ocx(OLEコントロール拡張子)および他の実行ファイルの種類が登録されていないことに注意してください。これらのファイルを暗号化すると、ホストが不安定になる可能性があります。初期のバージョンのRyukには、iniファイルとlnkファイルがホワイトリストに含まれていましたが、それらは最近のビルドでは削除されています。以下のフォルダー名もホワイトリストに登録されており、暗号化されません。

・Chrome
・Mozilla
・Recycle.bin
・Windows
・Microsoft
・AhnLab

 これらは、ホストの安定性を確保するためにホワイトリストに登録する必要があるフォルダー名のほんの一部です。動的解析を行っている間に、RyukがWindowsブートローダー(C:\Boot)に関連するファイル、あるいは他の重要なファイルやフォルダーを暗号化しようとしているケースがしばしば確認されています。ホワイトリストが適切でないために、感染したマシンが時間の経過とともに不安定になり、再起動できなくなる場合もあります。

 「HermesからRyukへ」のセクションで紹介したように、Ryukは対称型(AES)と非対称型(RSA)のアルゴリズムを組み合わせてファイルの暗号化を行います。GRIM SPIDERから提供された秘密鍵がなければ、ファイルは復号できず復元不可能となります。各ファイルを暗号化するためのスレッドが作成され、各ファイルは独自のAESキーで暗号化されます。ファイルが暗号化されると、ファイルにファイル拡張子.RYKが追加されます。すべてのディレクトリには、身代金メモ(RyukReadMe.txt)が書き込まれます。

 Ryukは、アドレス解決プロトコル(ARP)エントリ(IPアドレス)を持つすべてのマウントされたドライブおよびホストを暗号化するために、GetLogicalDrivesを使用してすべてのマウントされたドライブを取得します。また、マウントされたドライブごとにGetDriveTypeWを使用して、ドライブのタイプを確認します。ドライブタイプがCD-ROM以外であれば、そのドライブ上のファイルを暗号化します。ARPエントリを持つIPアドレスを取得するために、RyukはGetIpNetTableを使用します。すべてのエントリを調べ、リモートホスト上のファイルとフォルダーを探してファイルを暗号化しようとします。

永続化

 Ryukの現在のビルドには、永続化機能が含まれていません。以前は、ホスト上での永続性を保つために、RyukはWindowsのコマンドラインシェルcmd.exeを使用してRunキーの下にレジストリエントリを作成していました。コマンドラインを使用して、レジストリのRunキー名svchostをHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Runに書き込み、値をRyuk実行ファイルへのパスとしていました。

プロセスのインジェクション

 Ryukは、自身のプロセスメモリ空間からファイルを暗号化するのではなく、リモートプロセスにインジェクトします。リモートプロセスにインジェクトする前に、RyukはSeDebugPrivilege権限が有効になるようにトークン権限の調整を試みます。トークン権限の調整に失敗したらアクションを実行しません。リモートプロセスにインジェクトする前に、RyukはCreateToolhelp32Snapshot呼び出して、実行中のすべてのプロセスを列挙します。プロセス名がcsrss.exe、explorer.exe、lsass.exeではない場合、あるいはNT AUTHORITYシステムアカウント下でプロセスが実行されている場合、Ryukはこの単一のプロセスに自身をインジェクトします。プロセスがNT AUTHORITYアカウントで実行されていないことを確認することで、開発者はプロセスが別のアカウントで実行されていないと想定し、書き込みを可能にします。RyukはVirtualAlloc、WriteProcessMemory、CreateRemoteThreadを組み合わせて使用して、自身をリモートプロセスに挿入します。

プロセス/サービスの終了および復元防止コマンド

 他のランサムウェアファミリーとは異なり、Ryukの実行ファイルにプロセス/サービスの終了と復元防止機能は埋め込まれていません。過去にはこれらの機能が含まれていましたが、削除され、現在は2つのバッチファイルに格納されています。

 バッチファイルkill.batには、サービスの停止、サービスの無効化、およびプロセスの強制終了を行うためのコマンドが含まれています。プロセスとサービスを停止して、暗号化されるファイルにオープンなハンドルが存在しないようにします。以下の図に各コマンドのサブセットを示します。

net stop avpsus /y
net stop McAfeeDLPAgentService /y
net stop mfewc /y
net stop BMR Boot Service /y
net stop NetBackup BMR MTFTP Service /y

sc config SQLTELEMETRY start= disabled
sc config SQLTELEMETRY$ECWDB2 start= disabled
sc config SQLWriter start= disabled
sc config SstpSvc start= disabled

taskkill /IM mspub.exe /F
taskkill /IM mydesktopqos.exe /F
taskkill /IM mydesktopservice.exe /F

図1:プロセス/サービス終了を行うkill.batコマンド

 CrowdStrikeは、Windows.batという名前の別のバッチファイルを確認しました。これにより、被害者のコンピュータ上でのファイルの復元がより困難になります。ファイル名は、攻撃者によって任意に変更される可能性があることに注意してください。バッチファイルの内容を以下の図2に示します。

vssadmin Delete Shadows /all /quiet
vssadmin resize shadowstorage /for=c: /on=c: /maxsize=401MB
vssadmin resize shadowstorage /for=c: /on=c: /maxsize=unbounded
vssadmin resize shadowstorage /for=d: /on=d: /maxsize=401MB
vssadmin resize shadowstorage /for=d: /on=d: /maxsize=unbounded
vssadmin resize shadowstorage /for=e: /on=e: /maxsize=401MB
vssadmin resize shadowstorage /for=e: /on=e: /maxsize=unbounded
vssadmin resize shadowstorage /for=f: /on=f: /maxsize=401MB
vssadmin resize shadowstorage /for=f: /on=f: /maxsize=unbounded
vssadmin resize shadowstorage /for=g: /on=g: /maxsize=401MB
vssadmin resize shadowstorage /for=g: /on=g: /maxsize=unbounded
vssadmin resize shadowstorage /for=h: /on=h: /maxsize=401MB
vssadmin resize shadowstorage /for=h: /on=h: /maxsize=unbounded
vssadmin Delete Shadows /all /quiet
del /s /f /q c:\*.VHD c:\*.bac c:\*.bak c:\*.wbcat c:\*.bkf c:\Backup*.* c:\backup*.* c:\*.set c:\*.win c:\*.dsk
del /s /f /q d:\*.VHD d:\*.bac d:\*.bak d:\*.wbcat d:\*.bkf d:\Backup*.* d:\backup*.* d:\*.set d:\*.win d:\*.dsk
del /s /f /q e:\*.VHD e:\*.bac e:\*.bak e:\*.wbcat e:\*.bkf e:\Backup*.* e:\backup*.* e:\*.set e:\*.win e:\*.dsk
del /s /f /q f:\*.VHD f:\*.bac f:\*.bak f:\*.wbcat f:\*.bkf f:\Backup*.* f:\backup*.* f:\*.set f:\*.win f:\*.dsk
del /s /f /q g:\*.VHD g:\*.bac g:\*.bak g:\*.wbcat g:\*.bkf g:\Backup*.* g:\backup*.* g:\*.set g:\*.win g:\*.dsk
del /s /f /q h:\*.VHD h:\*.bac h:\*.bak h:\*.wbcat h:\*.bkf h:\Backup*.* h:\backup*.* h:\*.set h:\*.win h:\*.dsk
del %0

図2:復元を防止するwindow.batコマンド

 これらのフォレンジック分析・復元防止のためのコマンドは非常に興味深いもので、vssadmin resizeコマンドの文書化されていない機能を応用しているようです。上の図2の最初のコマンドvssadmin Delete Shadows / all / quietは、ランサムウェアで一般的に使用されていますが、コマンドオプションvssadmin resize shadowstorageはめったに使用されません。シャド-コピーがvssadminではなく、(バックアップソフトウェアなどの)サードパーティ製アプリケーションによって作成された場合、vssadminはエラーを表示してバックアップを削除しないことがあります。表示されるエラーは次のようなものです。「スナップショットが見つかりましたが、許可されたコンテキスト外にあります。スナップショット作成時に使用したバックアップアプリケーションを使用して削除してください」。vssadmin resize shadowstorageコマンドは、シャド-コピーのサイズ変更時にvssadminの機能を利用してストレージを削除する裏技として使用されています。このコマンドは、コンテキストに関係なくシャドーコピーを削除します。このコマンドは、シャドーコピーのデフォルトの容量を10%から401MBに変更する(最小サイズは300MB)ことにより機能します。シャドーストレージをunboundedにセットすると、利用可能なディスクスペースのすべてが使用できるようになります。次に、vssadmin Delete Shadows / all / quietコマンドをもう一度呼び出すことによって、シャド-コピーが削除されます。

 最後のコマンドセットでは、拡張子またはフォルダーの場所に基づいてファイルを削除します。delコマンドは引数を使用して、サブディレクトリ内のすべてのファイルの削除(/s)をユーザーに確認を行わないクワイエットモードで(/q)強制的に(/f)実行します。対象とするのは、仮想ハードディスク(.VHD)、Avantrix Backup Plusファイル(.bac)、バックアップコピー(.bak)、Windowsバックアップカタログファイル(.wbcat)、Windowsバックアップユーティリティファイル(.bfk)、設定ファイル(.set)、Windowsバックアップファイル(.win)、ディスクイメージ(.dsk)のファイル拡張子、およびBackupで始まるすべてのフォルダーです。なお、delコマンドはファイルを確実に削除しない(つまり、削除前にファイルを上書きする)ため、フォレンジックツールを使用すれば、ある程度ファイルを回復できる可能性はあります。最後のdel %0コマンドは、実行中の.batファイルを削除します。
Ryukが使用している復元防止コマンドは、一般的なランサムウェアファミリーで使用されるものより充実しています。これらのコマンドは、今のところ他のランサムウェアファミリーでは使用されていないようです。このことから、Ryukを操る人物が企業のバックアップソフトウェアを熟知していることがわかります。

身代金メモ

 Ryukの身代金メモは、ファイルRyukReadMe.txtに書き込まれます。これまでに、さまざまな身代金メモのテンプレートが確認されています。テンプレートの本文中、メールアドレスとBitcoin(BTC)ウォレットアドレス以外は同じです。このメモには通常、ドメイン名がprotonmail.comとtutanota.comのメールアドレスが1つずつ書かれています。大半のメールの名前には俳優やディレクターなどの難解な名前が使われていますが、インスタグラムで人気のモデルの名前もありました。興味深いことに、図3の身代金メモは、BitPaymerの身代金メモと非常によく似ています。この記事の執筆時点では、GRIM SPIDERがBitPaymerのTTP(戦術、テクニック、手順)と身代金メモを真似しているのか、あるいは両グループが互いに情報を共有しているのかはわかっていません。


図3:BitPaymerのものと酷似しているRyukの身代金メモ

 Ryukの連絡先のメールアドレスは、コンパイルされた実行ファイルのそれぞれで異なっています。Falcon Intelligenceは複数の異なるメールアドレスを確認しました。しかし、BTCアドレスについては、Ryukの複数の実行可能ファイルで同じものが使用されていました。2018年11月29日に、GRIM SPIDERは被害者との連絡方法を変更しています。GRIM SPIDERが作成した以前の身代金メモには、BTCアドレスとメールアドレスが記載されていました。しかし、最近のバージョンにはメールアドレスだけが表示されており、BTCアドレスの記載はありません。身代金メモには、GRIM SPIDERからの返信時にBTCアドレスが伝えられると書かれています。以下に新しい身代金メモの例を示します。


図4:Ryukの身代金メモ - BTCアドレスが削除されている

 BTCアドレスが削除された以前のRyukのバイナリには、次のPDBパスが含まれていました。C:\Users\Admin\Documents\Visual Studio 2015\Projects\ConsoleApplication54new crypted try to clean\x64\Release\ConsoleApplication54.pdb。このPDBパスは、2018年11月29日以降確認されるようになりました。このBTCアドレスが削除されたのは、米司法省がSamasのビットコインアドレスを使用して身代金を脅し取った2人の人物を起訴したことを発表した翌日でした。

身代金の支払い

 既知のRyukのBTCアドレスを使用した取引を確認すると、身代金の額は大きく異なっていました。このことは、GRIM SPIDER(BitPaymerを使用するINDRIK SPIDERも同様)が攻撃対象の企業の規模と価値に基づいて身代金の額を計算していることを示唆しています。今日までに確認された身代金の最低額は1.7BTCで、最高額は99BTCでした。この記事の執筆時点までに、GRIM SPIDERは、37のBTCアドレスを使用した52の既知の取引において、705.80BTC(現在の換算で370万米ドル)の利益を得ています。また、最近対米ドルのBTCレートが下落していることから、GRIM SPIDERがさらなる利益をあげた可能性があります。付録の表は、Ryukバイナリから抽出された既知のRyukのBTCアドレスを示しています。これらは、RyukのBTCアドレスの一部にすぎないと考えられています。

アトリビューション

北朝鮮

 オープンソースのレポートによると、Hermesランサムウェアは、北朝鮮のサイバー犯罪グループSTARDUST CHOLLIMA(その攻撃はハッカー集団「ラザラス」の一部によるものと一般には報告されている)によって開発されたものとされています。その理由として、2017年10月の遠東国際商業銀行(FEIB)のSWIFTネットワークへの不正アクセスの際に、Hermesがあるホスト上で実行されていたことがあげられます。表1に、侵害に関与した可能性のあるサンプルを示します。Hermesに関連する2つの実行ファイルは、bitsran.exeとRSW7B37.tmpです。


表1:FEIBのSWIFT侵害に使用されたバイナリのファイル情報

 実行ファイルbitsran.exeはドロッパーで、RSW7B37.tmpはHermesランサムウェアの実行ファイルです。ドロッパーの目的は、ハードコードされた認証情報を使用して、SMBセッションでのスケジュールされたタスクを作成することによって、Hermes実行ファイルをネットワーク内に増殖させることです。次に、Hermes実行ファイルはホスト上のファイルを暗号化します。Hermesのコンパイラーとリンカが他の実行ファイルのものとは異なっているのは興味深いことです。Hermes以外の実行ファイルはすべてVisual Studio 10でコンパイルされ、リンカもVisual Studio 10が使用されています。一方、HermesはVisual Studio 9でコンパイルされ、リンカは不明です。

 これらのタイムスタンプが正しければ、2つの実行ファイル(bitsran.exeとRSW7B37.tmp)は4時間3分の間隔でコンパイルされています。短い時間枠内で、FEIBネットワークの認証情報がハードコードされた実行ファイルにHermesがバンドルされていることから、Falcon Intelligenceは、STARDUST CHOLLIMAがHermesのソースコードにアクセスした可能性があるか、あるいはサードパーティがコンパイルしてそれらの新しいバージョンを作成した可能性があると推測しています。Hermesの他のバリアントとは異なり、RSW7B37.tmpではエクスポートおよび暗号化されたAESキーがファイルの末尾に追加されていません。図5には、Hermesが暗号化したファイルとエクスポート後ファイルの末尾にフッターとして追加されたAESキーを示します。


図5:Hermesのフッターと暗号化されたAESキーの例

 図6は、SWIFTへの攻撃で使用されたHermesのバリアントRSW7B37.tmpによって暗号化されたファイルの末尾です。フッターにはマーカーHERMESのみが含まれ、エクスポートされたAESキーは含まれていません。


図6:FEIBのSWIFTシステムへの攻撃で使用されたHermesのフッターの例(暗号化されたAESキーは含まれていない)

 暗号化されたファイルに暗号化されたAESキーが追加されていない場合、暗号化に使用された秘密鍵が復元されても、ファイルは復号不能でした。そのため、FEIB SWIFTへの攻撃で使用されたHermes実行ファイルは、マシンの身代金を要求するためではなく、被害者のデータを破壊するために使用されたと考えられます。

ロシアから攻撃を操る犯罪者

 Falcon Intelligenceは、GRIM SPIDERの犯人がロシアを拠点としている可能性がある程度高いと考えています。以前、Hermesはexploit[.]in上で売り出されていました。このロシア語のフォーラムは、マルウェアや関連サービスを犯罪者に販売するための有名な闇市場です。STARDUST CHOLLIMAが本当にHermesに関与しているならば、北朝鮮の攻撃者がロシア語のフォーラムで自分たちのサービスを売っていることになりますが、それはあり得ない話です。
ロシア人攻撃者の関与説は、「Hermesはロシア語、ウクライナ語、ベラルーシ語のシステムでは動作しない」というHermesの初期の謳い文句からも裏付けられます。これは、Hermesがロシア、ウクライナ、あるいはベラルーシのシステム上では実行されないようにホストをチェックする機能が実装されていることを指しています。ホストの言語を確認するために、レジストリキーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language\およびInstallLanguageの値をチェックします。値が0419(ロシア語)、0422(ウクライナ語)、または0423(ベラルーシ語)の場合、ExitProcessを呼び出して実行を停止します。これは、ロシアで活動しているマルウェア開発者や販売者が、現地の法執行機関の注意を引いたり刑事訴追を受けたりするリスクを避けるためによく採用する機能です。

 Falcon Intelligenceは、Ryukが関与するインシデントを調査中に、対象のファイルがモスクワのIPアドレスからファイルスキャンを行うWebサイトにアップロードされていることに気づきました。問題のファイルはkill.batのバリアントで、これには以前にRyukがShellExecuteで実行していたコマンドのみが含まれていました。このファイルは、ロシアの被害者によってアップロードされた可能性もあります。しかし、この機能がRyukのバイナリから削除されてkill.batに追加されるまでには、非常に短い時間しか経っていません。攻撃者が、kill.batがウイルス対策エンジンによって検出されるかどうかをテストしていたというのが最も可能性の高いシナリオです。

 また、GRIM SPIDERによって侵害されたネットワークをCrowdStrike Servicesがフォレンジック分析した際に、ロシア語のファイル名が付いたアーティファクトを収集しました。そのうちの1つのファイル名は!!! files dlya raboty !!!.rarでした。これは、「作業用ファイル」と訳すことができます。以上を鑑みると、GRIM SPIDERの攻撃者は北朝鮮ではなく、ロシア語圏の人間であるという仮説を支持する多くの証拠があることがわかります。

CrowdStrikeのカバー領域

 Falconプラットフォームは、ランサムウェアが示す行動パターンを利用してRyukを検知・防御する機能を持ちます。不審なプロセスのブロック機能を有効にすると、Ryukのプロセスを実行のごく初期の段階で停止させることができます。さらに、以下の図に示すように、CrowdStrikeの機械学習(ML)アルゴリズムによって、このマルウェアファミリーをより広範にカバーできます。



付録

既知のRyukのBTCウォレットアドレスと支払金額



痕跡情報

次の表に最近コンパイルされたRyukのペイロードのハッシュ値を示します。



次の表に以前に分析されたHermesの実行ファイルのハッシュを示します。



追加のリソース

・危険な攻撃者に関する情報を御社のセキュリティ戦略に活用する方法については、Falcon Intelligence Falcon Intelligence product pageをご覧ください。
CrowdStrike Services Cyber Intrusion Casebook 2018をダウンロードして、インシデントレスポンスの最前線からのストーリーを読み、2019年のセキュリティ戦略に役立つ情報を入手してください。
CrowdStrike 2018 Global Threat Reportをダウンロードできます。
・今すぐ15日間の無料トライアルに申込み、次世代アンチウイルス Falcon Prevent を試してみましょう。


*原文はCrowdStrikeBlog サイト掲載:Big Game Hunting with Ryuk: Another Lucrative Targeted Ransomware
《Alexander Hanel (CrowdStrike)》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×