Cybereason GSOC(Global Security Operations Center)では、影響力のある脅威に関する情報をお客様に提供するために、サイバーリーズン脅威分析レポートを発行しています。同レポートは、影響力のある脅威に関する情報をまとめた上で、それらの脅威から身を守るための実践的な推奨事項を提供するものです。

この脅威分析レポートでは、「Ragnar Locker」(マルウェアファミリーであり、ギリシャのパイプライン企業DESFAへの侵入に成功したと発表したランサムウェアオペレーター、ランサムウェア自体も指す)についてCybereason GSOCが実施した調査結果を紹介します。本レポートでは、このような最近のセキュリティ侵害における背景情報を紹介するほか、動的分析およびリバースエンジニアリング分析を通じて、Ragnar Lockerランサムウェアの概要を示します。

重要なポイント

  • 被害者:Ragnar Lockerは、戦略的なエネルギー関連企業であるDESFAへの攻撃に成功したと主張しています。
  • エネルギー分野を標的とするランサムウェアアクター:DESFAは、Colonial Pipeline社に次いで、ランサムウェアの被害を受けた2社目の重要なパイプライン企業です。さらに、最近、4つのエネルギー企業がランサムウェアの被害を受けており、そのうち3つはヨーロッパで発生しています。
  • ランサムウェアビジネスに参入して3年:Ragnar Lockerはランサムウェアグループであると同時に、使用されているソフトウェアの名前でもあります。彼らは2019年から活動しており、重要産業をターゲットにし、二重脅迫スキームを使用しています。
  • 独立国家共同体を標的から除外:Ragnar Lockerグループは独立国家共同体(CIS)内に位置しているため、CISの各国に対する攻撃は実行していません。
  • セキュリティ回避機能:Ragnar Lockerは、特定の製品、特にセキュリティ製品(アンチウイルス)、仮想ベースのソフトウェア、バックアップソリューション、ITリモート管理ソリューションがインストールされているかどうかをチェックします。

Cybereason Defense プラットフォームを使うと、Ragnar Lockerランサムウェアを効果的に検知して実行を防止できます。

はじめに

Cybereason GSOCでは、ギリシャのパイプライン企業であるDESFAへの攻撃に成功したというRagnar Lockerグループの発表を受けて、Ragnar Lockerランサムウェアを調査しています。



▲DESFAに侵入したと主張するRagnarのTORページ

パイプライン企業へのランサムウェア攻撃は、今回が初めてのことではありません。 2021年3月にColonial Pipeline社が侵入されましたが、この事件は生産に大きな影響を及ぼしたため、今でも産業界を悩ませています。
また、DESFAは、最近ランサムウェアの被害を受けたエネルギープロバイダー4社のうちの1社であり、これにはヨーロッパで操業している他のプロバイダーも含まれています。

  • Hiveランサムウェアグループは、中国のENN Groupに侵入したことを自らのポータルに掲載しました。ENN Groupは、エネルギーおよび天然ガスの生産企業です。
  • BlackCatランサムウェアグループは、ルクセンブルクのエネルギー企業であるCreos / Encevoに侵入しました。
  • South Staffordshire PLCは、2022年8月15日に攻撃を受けたことを発表しました。CL0Pランサムウェアギャングは、この攻撃は自分たちが行ったものだと主張しています。

なお、ギリシャはエネルギーに関して非常に戦略的な場所でもあります。なぜなら、ギリシャを通じて、他の地域(たとえばイスラエル)からのガスがヨーロッパに流れているからです。Ragnar Lockerは、少なくとも2019年12月から使用されているランサムウェアであり、一般的に英語圏のユーザーを対象としています。Ragnar Lockerランサムウェアは、同ギャングが10の重要インフラセクターにまたがる50以上の組織を侵害したことから、FBIによる監視対象となっています。

Ragnar Lockerは、ランサムウェアグループ名とランサムウェアバイナリの名前、両方の意味で使われます。
この脅威分析レポートでは、2つのサンプルの動的分析および静的分析を通じて、Ragnar Lockerを駆動するメカニズムの詳細を明らかにします。

テクニカル分析

我々が分析したRagnar Lockerのサンプルは、そのサイズ(53KBから100KB)により、他のランサムウェアからは区別されます。


▲Ragnar Lockerの実行フロー

下記のセクションでは、まずCybereasonプラットフォームを通じてRagnar Lockerを動的に分析します。続いて、静的分析を通じてRagnar Lockerをより深く分析します。

Cybereason Defense プラットフォームを使った分析

Cybereason Defense プラットフォームを通じて、攻撃に使用されたサンプルの分析を行いました。

ランサムウェアの検知

まず、Cybereasonセンサーを搭載した制約付きのラボのライブ環境で、1つのサンプルを実行することから分析を開始しました。


▲Cybereason Defense プラットフォームのプロセスツリービュー

実行の結果、ランサムウェア検知タイプによりMalOpが作成されていることが確認できました。


▲Ragnar Lockerの開始後に作成されたMalOp

この実行に伴う振る舞いをさらに分析したところ、時系列的に3つのプロセスが追加で起動されることが確認されました。


▲Ragnar Lockerの実行により生じたプロセスを時系列に並べたもの(新しいものほど上部に表示される)。

Ragnar Lockerは、下記の子プロセスを生成します。

  • wmic.exe shadowcopy delete:このシステムコマンドは、被害者のシステム上のすべてのシャドウコピーを削除し、被害者によるデータ復旧を阻止します。
  • vssadmin delete shadows /all /quiet:このシステムコマンドも、シャドウコピーを削除し、被害者によるデータ復旧を阻止します。
  • notepad.exe [User path]\RGNR_AABBCCDD.txt:このコマンドは、Notepad.exeを起動し、被害者に身代金要求書を提示します。
  • MITRE ATT&CKは、シャドウコピーを削除する手法の両方をリストに載せています。

  • https://attack.mitre.org/techniques/T1490/
  • 「Ragnar Locker.exe」プロセスを見ると、同プロセスには、暗号化されたファイルとその新しいパスに関連する1081個のファイルイベントが含まれていることが分かります。

c:\users\localadmin\appdata\local\packages\microsoft.windows.cortana_cw5n1h2txyewy\localstate\devicesearchcache\appcache133057346751796032.txt.ragnar_aabbddcc
▲リネームイベント後の新しいパス


▲「Ragnar Locker.exe」プロセスのプロパティ(Cybereason Defense プラットフォームでの表示)


▲追加のSysmonテレメトリが端末に設定され、身代金要求書の作成に伴う戦略的なディレクトリの変更が観測されました。


▲Sysmonイベントログからの抜粋

同ランサムウェア実行後のネットワーク接続やレジストリ値の操作は観測されていません。

身代金要求書

プロセスツリーを見れば分かるように、Ragnar Lockerランサムウェアの実行から数秒後に、同ランサムウェアは被害者の名前が設定された「RGNR_AABBCCDD.txt」という身代金要求書をドロップした後、メモ帳を使ってこのファイルを開きます。


▲被害者から見た身代金要求書 

Ragnar Lockerサンプルのリバースエンジニアリング

今回攻撃に使用されたサンプルを、静的分析と高度な動的分析を通じて分析することで、このバイナリの目的とメカニズムをより深く掘り下げることができました。

システムロケーションのチェック

Ragnar Lockerが実行する最初のアクティビティは、感染した端末のロケールが下記の国のいずれかに一致するかどうかをチェックすることです。

  • Azerbaijan(アゼルバイジャン)
  • Armenia(アルメニア)
  • Belarus(ベラルーシ)
  • Kazakhstan(カザフスタン)
  • Kyrgyzstan(キルギスタン)
  • Moldova(モルドバ)
  • Tajikistan(タジキスタン)
  • Russia(ロシア)
  • Turkmenistan(トルクメニスタン)
  • Uzbekistan(ウズベキスタン)
  • Ukraine(ウクライナ)
  • Georgia(ジョージア)

一致した場合、Ragnar Lockerは実行されず、同プロセスは終了します。このリストは、独立国家共同体(CIS)内にある国々と一致しています。


▲Ragnar LockerはGetLocaleInfoWを使って国のロケール値をチェックする

ホスト情報の収集

続いて、このランサムウェアは、感染した端末に関する情報を抽出します。まず、同ランサムウェアは、APIコールのGetComputerNameWとGetUserNameWを使用して、コンピューター名とユーザー名を収集します。
その後、レジストリを照会し、当該端末のGUIDとWindowsのバージョンを収集します。


▲ホストに関する情報を収集
これらの収集した情報はまとめられ、カスタムのハッシュ関数を経て隠蔽されます。


▲Ragnar Lockerのカスタムハッシュ化アルゴリズム 

次に、Ragnar LockerはAPIコールCreateEventWを使って新しいイベントを作成し、組み合わせたハッシュをイベントの名前として使用します。


▲結合ハッシュを使ってイベントを作成(静的ビュー)

このサンプルをデバッガで実行すると、結合されたハッシュは次のように表示されます。


▲結合ハッシュを使ってイベントを作成(動的ビュー)

ファイルボリュームの識別

続いて、Ragnar Lockerは、ホスト上の既存のファイルボリュームを識別しようとします。これには、WindowsのAPIコールCreateFileWを使用して次のことを実行します。

  • 物理ドライブのハンドルを取得する
  • DeviceIoControlでドライブを照会する
  • FindFirstVolumeAとFindNextVolumeAを使用して、ボリュームに対する反復処理を実行する


▲端末のボリュームに対する反復処理を実施

埋め込まれているRC4コンテンツ

Ragnar Lockerは、バイナリセクションに埋め込まれた隠しコンテンツを含んでいます。Ragnar Lockerは、RC4暗号アルゴリズムを使って、ランタイム中にこのコンテンツを復号します。


▲カスタムRC4アルゴリズム

カスタムRC4アルゴリズム関数を複数回実行することで、次のようなサービス名からなるリストを復号します。
vss、sql、memtas、mepocs、sophos、veeam、backup、pulseway、logme、logmein、connectwise、splashtop、kaseya、vmcompute、Hyper-v、vmms、Dfs


▲RC4サービス名の復号化

その後、Ragnar Lockerは、感染した端末上で実行中のサービスに対する反復処理を実行します。復号されたサービスの1つが見つかった場合、Ragnar Lockerはそのサービスを終了させます。


▲端末のサービスを列挙する


▲標的とするサービスが存在するかどうかチェックする

続いて、Ragnar Lockerは、埋め込まれているRSA公開鍵を復号します。


▲RSA公開鍵の復号化

公開鍵を復号した後、Ragnar Lockerはその鍵を別の関数に渡すことで、その鍵を後で利用できるようにします。


▲暗号化のための鍵を準備

最後に、Ragnar Lockerは身代金要求書の内容を復号します。


▲RC4ルーチンを使って身代金要求書を復号

シャドウコピーの削除

端末のシャドウコピーを削除するために、Ragnar Lockerは、次のコマンドラインを使用してプロセスvssadmin.exeとWmic.exeを実行します。

  • Vssadmin delete shadows /all /quiet
  • Wmic.exe shadowcopy delete Deleting


▲WmicとVssadminを使ったシャドウコピーの削除

身代金要求書の作成

Ragnar Lockerは、次のアルゴリズムを使用して身代金要求書のファイル名を生成します。
1. APIコールGetComputerNameWを使用してコンピューター名を取得する
2. 先述したカスタムハッシュアルゴリズムを使用して、コンピューター名をハッシュ化する
3. ハッシュ化されたコンピューター名と文字列「\\」、「RGNGR_」、「.txt」を結合する
4. パス「C:\Users\Public\Documents」を結合してフルネームを完成させる。その結果、「C:\Users\Public\Documents\RNGR_[hash].txt」が生成される


▲身代金要求書を格納したtxtファイルを準備

最終的に、Ragnar LockerはCreateFileWを呼び出し、要求されたテキストファイルを必要なパスで作成します。続いて、このパスに復号された身代金要求書を出力します。
さらに、Ragnar Lockerは身代金要求書を出力した後、「—RAGNAR SECRET—-」で始まるもう1つのより小さな部分を書き込みます。この部分は、APIコールCryptBinaryToStringAの出力になります。


▲身代金要求書を格納したtxtファイルの作成


▲Ragnarシークレットの出力例

ファイルの暗号化

身代金要求書を作成した後、実際のファイル暗号化プロセスが実行されます。まず、Ragnar Lockerは、ドライブ(DRIVE_CDROMを除く)とディレクトリを取得し、暗号化対象となるファイルの文字列を暗号化関数に送ります。
暗号化関数は、暗号化処理から除外するいくつかのファイルをまずチェックします。除外対象となるのは、次のファイルです。

  • Autoruns.inf、boot.ini、bootfront.bin、bootsect.bak、bootmgr、bootmgr.efi、bootmgfw.efi、desktop.ini、iconcache.db、ntldr、ntuser.dat、ntuser.dat.log、ntuser.ini、thumbs.db

  • ▲除外されるファイルのリスト

    さらに、次のような特定のプロセスやオブジェクトが除外されます。

  • Windows.old、Tor Browser、Internet Explorer、Google、Opera、Opera Software、Mozilla、Mozilla Firefox、$Recycle.bin、ProgramData、All Users

  • ▲除外されるファイルやプロセス

    最後に、Ragnar Lockerの最終チェックでは、次の拡張子を持つファイルが除外されます。

  • .db、.sys、.dll、lnk、.msi、.drv、.exe


▲除外されるファイル拡張子

ファイルが条件を満たす場合、そのファイル名は、Salsa20アルゴリズムを通じて当該ファイルを暗号化する関数へと送られます。暗号化の後、Ragnar Lockerは、影響を受けたファイルに「.ragnar_[ハッシュ化されたコンピューター名]」という接尾辞を付加します。


▲暗号化により操作されたファイル

身代金要求書の表示

端末の暗号化に続いて、Ragnar Lockerは、notepad.exeプロセスを作成します。このプロセスにより、身代金の金額と支払い方法を含む身代金要求書がユーザーの画面に表示されます。Ragnar Lockerは、次の方法でこのプロセスを生成します。
1. 現在のプロセストークンのハンドルを取得する
2. 同トークンを複製する
3. 同トークンの権限昇格をする
4. この昇格したトークンを使ってCreateProcessAsUserWを実行する


▲身代金要求書を表示するためのメモ帳プロセスを作成


▲身代金要求書を表示

Ragnar Lockerランサムウェアの検知と実行防止

サイバーリーズンによる推奨事項

Cybereason Defense プラットフォームを使うと、お客様はRagnar Lockerを検知した上で、その実行を防止できます。サイバーリーズンでは次のことを推奨しています。

  • お使いの環境のポリシーでアンチランサムウェア(Anti-Ransomware)機能を有効にし、アンチランサムウェアモードを実行防止(Prevent)に設定すること。また、シャドウコピーの検知を有効にして、ランサムウェアに対する最大の防御を確保すること。
  • Cybereason Defense プラットフォームで、アプリコントロール(AppControl)機能を有効にし、悪意あるファイルの実行をブロックすること。


▲Malopの作成(Cybereason Defense プラットフォームでの表示)


▲アンチランサムウェア機能を「サスペンド(Suspend)」に設定した場合、
Ragnar Lockerが一時停止される(Cybereason Defense プラットフォームでの表示)

【グローバル調査結果】2022年版 ランサムウェア 〜ビジネスにもたらす真のコスト〜

サイバーリーズンでは、2021年に続いて2022年もランサムウェアがビジネスに及ぼす影響に関するグローバル調査を実施しました。

本レポートでは、ランサムウェアがビジネスにどのような影響を与え続けているかなどについての調査結果とランサムウェア攻撃に対する効果的な対策について解説しています。
https://www.cybereason.co.jp/product-documents/survey-report/8548/