主な調査結果

  • Valakマルウェア:Valakマルウェアは、以前はマルウェアローダーとして分類されていた巧妙なマルウェアです。最初に観測されたのは2019年後半でしたが、サイバーリーズンのNocturnusチームは、6か月以内に30以上の異なるバージョンに進化するという一連の劇的な変化の調査を実施しました。この調査により、Valakが単に他のマルウェアのローダーではなく、個人や企業を標的とした情報窃取マルウェアとして独立して使用できることが判明しました。
  • 標的は企業:最近のバージョンのValakはMicrosoft Exchangeサーバーを標的とし、企業の証明書とともに企業のメール情報とパスワードを盗み出すものです。企業の最重要アカウントにアクセスし、組織にダメージを与え、ブランドを毀損し、最終的には消費者の信頼を失わせる可能性があります。
  • 標的は米国とドイツ:このキャンペーンは明確に米国とドイツの企業を標的としています。
  • 多機能なモジュール型アーキテクチャ:Valakの基本機能は、偵察と情報窃取のための多数のプラグインコンポーネントで拡張されています。
  • 短期開発サイクル:Valakは、単なるローダーから、C2サーバーから機能拡張用のプラグインを収集する巧妙な多段階式のモジュール型マルウェアに進化しました。サーバーリーズンのNocturnusチームは、約6か月で30以上の異なるバージョンを観測しました。
  • ステルス設計:Valakは、ADSなどの高度な回避技術を使用し、レジストリ内のコンポーネントを非表示にする、ステルスマルウェアです。さらに、Valakの開発者は、時間が経つにつれ、最新のセキュリティ製品による検出と予防が可能なPowerShellの使用をやめるようになりました。

概要

2019年後半に最初に発見されたとき、Valakはローダーとして分類され、主に米国を標的とした複数のキャンペーンに使用されていました。Ursnif(別名Gozi)やIcedIDとペアになっている場合もありました。

サイバーリーズンのNocturnusチームが2020年4月に実施した調査では、Valakが主に米国とドイツを標的としたキャンペーンに使用されていることが確認されました。これらのキャンペーンには新しいバージョンが使用されていることから、このマルウェアの作成者が迅速に改良を重ねていることが明らかになりました。

30以上のバージョンが発見され、かなりの短期間で大幅な改良が加えられていることが判明しました。Valakの主な特徴は次のとおりです。

  • ファイルレス段階:Valakには、レジストリを使用してさまざまなコンポーネントを格納するファイルレス段階があります。
  • 偵察:感染したホストから、ユーザー、マシン、ネットワークの情報を収集します。
  • 地理位置情報対応:被害者のマシンの地理的位置をチェックします。
  • スクリーンショット:感染したマシンのスクリーンショットを撮影します。
  • セカンダリペイロードのダウンロード:追加のプラグインや他のマルウェアをダウンロードします。
  • 企業に対応:管理者と企業ネットワークを標的としています。
  • Exchange Serverへの侵入:資格情報やドメイン証明書など、Microsoft Exchangeメールシステムから機密情報を収集して窃取します。

改良点の中でも、Valakの新バージョンで最も重要かつ興味深い追加点は、「PluginHost」と呼ばれるコンポーネントです。PluginHostはC2サーバーと通信できるようにして「ManagedPlugin」という名前で追加のプラグインをダウンロードします。観測されたプラグインには、「Systeminfo」と「Exchgrabber」があり、どちらも明確に企業を標的にしている模様です。

この調査では、Valakの新旧バージョンの違いを評価し、このマルウェアの機能、インフラストラクチャ、および他のマルウェアとの接続について詳しく解説します。

脅威分析

初期感染

これらのキャンペーンで最も一般的な感染ベクトルは、悪意のあるマクロコードが埋め込まれたMicrosoft Word文書によるものです。文書の内容は、標的に応じて英語またはドイツ語です。


フィッシング文書の内容

悪意のあるマクロコードを使用して、「U.tmp」という名前の.cab拡張子を持つDLLファイルをダウンロードし、一時フォルダに保存します。

DLLファイルのダウンロードアドレス:
“hxxp://v0rzpbu[.]com/we201o85/aio0i32p.php?l=hopo4.cab”

DLLのダウンロード後に、「regsvr32.exe」を使用して悪意のあるDLLを起動します。


Cybereason Defense Platformに表示された初期感染

実行時、DLLはWinExec API呼び出しを使用してドロップして起動します。この段階のValakマルウェアは、実行のたびに変化するランダムな名前を持つ悪意のあるJavaScriptファイルを使用します。次の例で、JavaScriptのファイル名は「sly4.0」です。


JavaScriptファイルをドロップするDLL

多段階攻撃:Valakの段階的分析

第1段階:最初の足がかり


Valakの第1段階の攻撃フロー

ダウンロードしたJavaScriptコード「sly4.0」には、Google、Gmail、Avast、Microsoftなどの偽のドメインと正当なドメインを複数保持する「PRIMARY_C2」という変数が含まれています。ドメインリストはサンプルによって異なります。


スクリプト「sly4.0」のマルウェア構成

Valakは、2つの事前定義されたURIを使用して、リスト内の異なるC2サーバーへの接続を作成します。

●URIの1つは、「project.aspx」という名前のエンコードされたファイル(project[1].htmとして保存)をダウンロードするために使用されます。
*バージョン30ではファイル名が「rpx.aspx」に変更されています。


スクリプトに埋め込まれたURI

●もう1つのURIは、「a.aspx」という名前のエンコードされたファイル(a[1].htmとして保存)をダウンロードするために使用されます。
*バージョン30ではファイル名が「go.aspx」に変更されています。


スクリプトに埋め込まれたURI

どちらのファイルも、マルウェアによってBase64とXOR暗号を使用してデコードされます。鍵は、事前定義された文字列と実行時にメモリから収集された情報の組み合わせです。


XORを使用して文字列をデコードする「rot13_str」関数


エンコードされたファイルをダウンロードして1つ目の関数(rot13_str)とBase64でデコードするためのコード


XOR鍵の作成とユーザーに関する情報の収集に使用される「GetID」関数

マルウェアは、C2サーバー、ID、ダウンロードしたペイロード、デコードしたproject.aspxなどの情報を「HKCU\Software\ApplicationContainer\Appsw64」の下のレジストリキーに設定します。これらのキーは第2段階で使用されます。


Valakによって作成されたファイルとレジストリキー

ペイロードをダウンロードし、レジストリキーと値を設定した後、Valakはスケジュールされたタスクを介して持続性を確立します。


持続性を確立するためのスケジュールされたタスクの作成

スケジュールされたタスクは、「Classic2Application.bz」ファイルに「Default2.ini」という名前の代替データストリームとして保存されているJavaScriptを実行するwscriptを起動するように設定されます。


Cybereason Defense Platformに表示されたスケジュールされたタスクの実行

ADSのスクリプト(「Default2.ini」)は、レジストリキー「HKCU\Software\ApplicationContainer\Appsw64\ServerUrl」の内容を実行します。これには、第2段階のJavaScriptファイルである「project.aspx」の内容が保持されます。


Valakによって行われたレジストリの変更

第2段階:セカンダリペイロードのフェッチと実行

第1段階でValakの攻撃の基礎が築かれました。第2段階では、偵察アクティビティと機密情報窃取のための追加モジュールをダウンロードします。

2つのペイロード(「project.aspx」と「a.aspx」)とレジストリキーの構成は、第2段階で悪意のあるアクティビティを実行するために使用されます。


第2段階の攻撃フロー

第2段階のJS – Project.aspx

第2段階のJSと呼んでいる「project..aspx」は、第1段階のJavaScript(「sly4.0」)と非常によく似たJavaScriptファイルです。しかし、詳しく調べてみると、追加の機能が含まれています。

このスクリプトは、持続性を維持するために使用されるスケジュールされたタスクによって実行され、主な目的は次のとおりです。

  • プラグイン管理コンポーネントPluginhost.exeを実行する。
  • C2から追加のペイロードをダウンロードして構文解析する。
  • ペイロードを代替データストリームとして保存し、スケジュールされたタスクを設定してそれらを実行する。


第2段階のJSのconfigセクション

第2段階では、コンフィグファイルが変更され、一意の「Client_ID」と、このあとでダウンロードする「bounce.aspx」という別のファイルが含まれます。

第2段階には、「CreateExecJob」、「CreateOleExecJob」、「LaunchPlugin」という3つの関数も含まれています。

これらの関数は「ParseTask」関数から呼び出され、構文解析されたタスクをC2から受け取ります。


ペイロードをチェックする「ParseTask」関数

マルウェアが「ODTASK」という単語で始まるペイロードをダウンロードすると、「CreateOleExecJob」を呼び出し、ペイロードをファイル「C:\\Users\\Public\\PowerManagerSpm.jar」のADSとして書き込み、スケジュールされたタスク「PerfWatson_%taskname%」を作成してペイロードを実行します。


「CreateOleExecJob」関数

マルウェアが「PLUGIN」という単語で始まるコンテンツを受け取ると、「LaunchPlugin」を呼び出し、コンテンツを引数としてWMIを使用してPluginHost.exeファイルを実行します。


「LaunchPlugin」関数

マルウェアが「TASK」という単語で始まるコンテンツを受け取ると、「CreateOleExecJob」を呼び出し、コンテンツをファイル「C:\\Users\\Public\\PowerManagerSpm.jar」のADSとして書き込み、スケジュールされたタスク「PerfWatson_%taskname%」を作成してコンテンツを実行します。


「CreateExecJob」関数

今回の分析では、ValakによってダウンロードされたペイロードはIcedIDであったことが判明しました。ただし、攻撃者は感染したシステムに他のペイロードをダウンロードできるため、ペイロードは異なる場合があります。

以前の感染では、Valakはputty.exeNetSupport Managerなどの各種リモート管理ツールをダウンロードしました。


Cybereason Defence Platformで確認された持続性を確立するためのプロセスツリー

PluginHost – a.aspx

デコードされた「a.aspx」は、%TEMP%\.binとして一時フォルダに保存されます。このファイルは、内部名「PluginHost.exe」という実行可能ファイルであり、追加のコンポーネントを管理するために使用されます。

PluginHost – プラグイン管理コンポーネント

実行可能ファイル「PluginHost.exe」の機能は、Bot、HTTPClient、Program、Utilsという4つのクラスに分かれており、マルウェアの追加コンポーネントをダウンロードして読み込むというメインの目的を実行できるようになっています。

Botクラス
Botクラスは、第1段階で設定されたいくつかのレジストリエントリからの読み取りを担当します。

  • GetID()は、IDを保持するレジストリエントリ「SetupServiceKey」からの読み取りを行います。
  • GetC2()は、C2ドメインを保持するレジストリエントリ「ShimV4」からの読み取りを行います。

どちらの関数も、レジストリエントリの読み取りにUtilsクラスを使用します。


レジストリからの読み取りを行うGetID()とGetC2()


UtilsクラスのRegistryReadInfo()関数

HTTPClientクラス
HTTPClientクラスにはpostとGetPluginBytesという2つの関数が含まれています。

GetPluginBytes()関数は、GetC2()を使用してC2ドメインを取得し、埋め込まれているURIを追加します。このURLは、プラグインの追加モジュールをダウンロードするために使用されます。


プラグインのダウンロードに使用されるGetPluginBytes関数

Programクラス
Programクラスには、mainファイルのmain()関数が含まれています。この関数は、GetPluginBytes()関数を実行して「ManagedPlugin」タイプのモジュールコンポーネントをダウンロードします。これらのコンポーネントは、実行可能ファイルのメモリに反射的に読み込まれてプラグイン機能を拡張します。


ManagedPluginモジュールをダウンロードするPluginHostのmain関数

Utilsクラス
Utilsクラスには、他のクラスで使用されるいくつかのメンテナンス関数が含まれています。

ManagedPlugin – 機能強化のためのプラグインスイート

追加プラグインに関しては、Valakの初期バージョンではプラグインがPowerShellを介して第2段階のJSによってダウンロードされていた点が注目に値します。

最近のバージョンのValakでは、一般的で検出されやすいPowerShellダウンローダーを使用する方式をやめ、追加ペイロードの管理とダウンロードの手段をPluginHostに移行しています。

この移行は、Valakの作者がステルス性の高いアプローチと回避手法の改良方法を模索していることの表れです。

今回の分析では、「ManagedPlugin.dll」という同じ内部名を持つ複数の異なるモジュールを発見しました。

これらのモジュールは「PluginHost.exe」によってダウンロードされて読み込まれます。

  • Systeminfo:広範な偵察を担当し、ローカル管理者とドメイン管理者を標的としています。
  • Exchgrabber:Microsoft Exchangeのデータを窃取して企業のメールシステムに侵入することを目的としています。
  • IPGeo:標的の地理位置情報を確認します。
  • Procinfo:感染したマシンの実行中のプロセスに関する情報を収集します。
  • Netrecon:ネットワークの偵察を実行します。
  • Screencap:感染したマシンからスクリーンショットをキャプチャします。

これらのコンポーネントの中には、目的を達成するために単一の特定アクティビティにフォーカスしたものもあり、機能や潜在的な影響に関しては他のコンポーネントよりも堅牢性が比較的低くなっています。

ipgeo、procinfo、netrecon、screencapなどがこれに該当します。


IPディスカバリーサービスを使用して情報を収集するIpogeoモジュール


実行中のプロセスに関する情報を収集するProcinfoモジュール


ネットワーク情報を収集するNetreconモジュール


感染したマシンのスクリーンショットを撮影するScreencapモジュール

次に、前述のプラグインコンポーネントよりも高度で複雑な「systeminfo」と「exchgrabber」について詳しく解説します。

ManagedPlugin:Systeminfo偵察モジュール

「Systeminfo」は、クラス名に関しては「PluginHost.exe」と多くの類似点があります。ただし、「PluginHost」とは異なり、ユーザー、マシン、既存のAV製品に関する情報の収集にフォーカスした偵察機能がいくつか含まれています。


Valakのプラグインコンポーネント

このモジュールはユーザーに関する情報を収集し、そのユーザーがローカル管理者であるかドメイン管理者であるかを確認しようとします。これは、マシンに感染した後、Valakが主に管理者とドメイン管理者を標的に選択することを示しています。これは、エンタープライズ管理者など、プロファイルの高いアカウントを標的にする傾向の表れです。


ユーザーがローカル管理者かドメイン管理者かを判断するManagedPlugin(SystemInfo)

このモジュールは、AntivirusSoftware()関数を使用して、感染したマシンにセキュリティ製品がインストールされているかどうかを検出しようとします。

インストールされているAVプログラムについて収集される情報は、WMIクエリ「SELECT * FROM AntiVirusProduct」を使用して収集されます。


ManagedPlugin(SystemInfo)によるウイルス対策製品のチェック

このモジュールは、感染したマシンの物理アドレス(MAC)とIPアドレスも収集します。


ManagedPlugin(SystemInfo)によるマシンの物理アドレスの収集

以下に示す複数の関数で追加の偵察アクティビティが実行されます。

  • NetUser – ユーザーに関する詳細情報を収集
  • SystemUpTime – マシンの稼働時間を記録
  • WindowsVersion – Windowsのバージョンを判定


ManagedPlugin(SystemInfo)の偵察関数

このプラグインは、データを抽出するためにHTTPClientクラスの「Post」関数を使用します。「Post」により、プラグインがコンテンツをアップロードし、ドメインがレジストリに保存されているリモートC2にデータを抽出できるようになります。


ManagedPlugin(SystemInfo)のデータ抽出関数Post()

「PluginHost」と同様に、「SystemInfo」はGetQuery()という名前の別の関数を使用して、情報をリモートC2に送信するためのURLを作成します。このURLはBase64といくつかの置換文字を使用してエンコードされます。


GetQuery関数によって作成される最終的なURLの例

「ManagedPlugin」モジュールのコア機能は「ManagedPlugin」クラスにあります。この関数は無限にループして偵察アクティビティを実行し続け、情報を攻撃者に送信します。


ManagedPlugin実行アクティビティ

ManagedPlugin:Exchgrabber – 企業を標的とした情報窃取マルウェア

Exchgrabberは、systeminfoと同様に、Bot、HTTPClient、Utilsなどのいくつかの関数名に関してPluginHostと類似点がありますが、独自の異なる機能があります。

一見すると、このモジュールは資格情報の窃取のみに使用されているようですが、これは、「Credential」や「CredentialType」といった明確な名前を持ついくつかのクラスとデータ引数で確認できます。


Exchgrabberのクラス

このモジュールは資格情報管理を「Credential」クラスで処理します。これには、資格情報管理アクティビティを処理するいくつかの関数と、これらの資格情報を保持するデータ型が含まれます。

このクラスで最も興味深い関数の1つは、username、password、target、CredentialTypeの4つの引数を受け取る「Credential」です。この関数はこれらの資格情報をそれぞれのモジュール変数に挿入します。

「target」変数は、Microsoft Officeアプリケーションに関連する文字列を格納するために、コア関数ManagedPluginで使用されます。


ManagedPlugin(Exchgrabber)のCredential関数

「Credential」関数のもう1つの興味深い引数は「CredentialType」です。資格情報のタイプは、「CredentialType」という名前の列挙型変数の別の部分によって判定されます。この変数には、モジュールが抽出しようとする資格情報のそれぞれが含まれます。

資格情報のタイプは、ドメインパスワードとドメイン証明書を含む、企業のMicrosoft Exchangeサーバーデータから抽出できる機密情報です。

この機密データの抽出により、攻撃者は、企業のドメイン証明書にアクセスできるようになると共に、企業の社内メールサービスの内部ドメインユーザーにアクセスできるようになります。

攻撃者はsysteminfoを使用してどのユーザーがドメイン管理者であるかを特定できます。これにより、機密データの漏洩と潜在的に大規模なサイバースパイや情報窃取という非常に危険な組み合わせが生じます。

これは、このマルウェアの意図する標的が何よりもまず企業であることを示しています。


ManagedPlugin(Exchgrabber)のCredentialType

MainPluginクラスの背後にあるコアロジックを調べると、各クラスが他のクラスとどのように連携してMicrosoft ExchangeとOutlookからデータを抽出するかが分かります。

このモジュールは、抽出したデータがMicrosoft OfficeまたはMS.Outlookに関連しているかどうかを確認しようとします。関連がある場合は、GetFiles関数を使用して「Autodiscover.xml」ファイルへのアクセスを試みます。

「Autodiscover.xml」は、Microsoft Outlookが構成ウィザードに入力されたメールボックスにアクセスするために必要なデータを含む、動的に生成されたファイルです。

Exchange Autodiscoverサービスの第一の目的は、Exchangeユーザーのメールボックスへの初期接続を確立することです。

その後、専用のExchangeフォレストのAutoDiscover SMTPアドレスを収集しようとし、最終的に、抽出したすべてのデータを「text」という名前の変数に格納します。


Microsoft Exchangeデータ抽出

このモジュールは収集した機密データをBase64を使用して圧縮します。これは、「Utils」クラスのこの特定モジュールの新機能です。その後、POST関数と埋め込みURIを使用して機密データを攻撃者のC2に送信します。


事前定義されたURIを使用したデータの抽出に使用されるManagedPlugin(Exchgrabber)

Valakの進化過程

本レポート執筆現在、Valakは大幅に変化しています。現在のバージョンナンバーは24です。

このセクションでは、バージョン6、バージョン9、バージョン23、およびバージョン24を分析することにより、Valakの新旧バージョンの主な相違点について解説します。

●ペイロード難読化の改良
旧バージョンのValakでは、第2段階のJSをダウンロードし、難読化手法を1つだけ使用していました(Base64)。新バージョンではBase64に加えてXORが使用されています。


Base64復号化のみを使用する旧バージョンのValakのコード


より複雑な復号化関数を使用する新バージョンのValakのコード

●プラグイン管理コンポーネント
新バージョンのValakは第1段階で2つのペイロードをダウンロードします。1つ目のペイロードはValakのプラグイン管理コンポーネント(「pluginhost.exe」)、2つ目はValakの第2段階のJavaScriptペイロードです。旧バージョンのValakには「pluginhost」ペイロードが含まれていませんでした。

●PowerShellアクティビティ
旧バージョンのValakでは、第2段階のJSが新バージョンと同様に「TASK」「ODTASK」「PLUGIN」を含む追加コンテンツをダウンロードしていました。

新バージョンのValakは、第一段階で「PluginHost」もダウンロードし、第2段階でタスク「PLUGIN」を受け取った時点でそれを実行することでManagedPlugin.dllをダウンロードします。旧バージョンのValakは、第2段階でタスク「PLUGIN」を使用し、PowerShellを利用して「ManagedPlugin.dll」をBase64バイナリとしてダウンロードしていました。

前述のように、新バージョンのValakでは、一般的で検出されやすいPowerShellダウンローダーを使用する方式をやめ、追加ペイロードの管理とダウンロードの手段を「PluginHost」に移行しています。この移行は、Valakの作者がステルス性の高いアプローチの利用と回避手法の改良を進めていることの表れかもしれません。


C2からダウンロードされた元データ


「PLUGIN」タスクのデコード後の内容

Valakのインフラストラクチャ

さまざまなサンプルの分析により、すべてがコードに埋め込まれているドメインの「バケット」の接続に使用されるURIの反復的なパターンが判明します。

たとえば、「PluginHost」(a.aspx)のダウンロードに使用されるURIは常に次のコードから構築されます:“a.aspx?redir=1&clientUuid=91&r_ctplGuid=” ++ “&TS2=” +


ValakのソースコードでのURIの作成

サンプル間の類似点はこのURIだけではありません。 Valakのコンポーネントには、この動作と一致する複数のURIがあります。

Valakで観測されたURIのパターン

  • DLLのダウンロード:DLL URIには常に「aio0i32p」が含まれます。
  • 第2段階:第2段階(project.aspx)には常に「?cwdTelemetry=2&regclid=」が含まれます。
  • タスクのフェッチ:C2サーバーからのタスクのフェッチには常に「?dx11diag=」が含まれます。
  • 追加プラグインのダウンロード:「PluginHost」は常に「db.aspx?llid=」を含む追加プラグインをダウンロードします。
  • Exchgrabberプラグインデータ:プラグインからデータを抽出するURIには「lass4.aspx?internalService」が含まれます。

Valakマルウェアのもう1つの興味深い側面は、異なるバージョンのほとんどすべてでインフラストラクチャが共有されていることです。下記のグラフに示すように、既知のドメインのほとんどは、URIの類似性、ダウンロードされるファイル、接続されるファイルなど、ドメイン間の接続を持っています。


異なるValakドメイン間の接続を示すVirusTotalグラフ

Valakと他のマルウェアとの関係

当初、Valakは主にUrsnifやIcedIDなどの既知のマルウェアをダウンロードしていたため、Valakの感染は単発的なものとして特徴づけられていました。しかし、この調査の過程で、Valakと他のマルウェアとの関係が実際には多角的であることが判明しました。

たとえば、malware-traffic-analysisによって提供された下記のネットワークトラフィックの記録は、Ursnifによって開始され、同じC2サーバーからIcedIDとValakをダウンロードする感染チェーンを示しています。


トラフィック – UrsnifによるIcedIDとValakのダウンロード

これらの特定マルウェア間の連携の性質は完全には解明されていませんが、個人的なつながりと地下コミュニティの相互信頼に基づいているのではないかと考えられます。

UrsnifとIcedIDがどちらもロシア語圏のサイバー犯罪エコシステムの一部であると見なされているという事実を考えると、Valakの作者もそのロシア語圏の地下コミュニティの一員である可能性があります。

このコミュニティは、信頼と評価に基づいてかなり密接な関係を築いていることが知られています。

Valakの作者とロシア語圏のコミュニティを結び付けるもう1つの手がかりは、フィッシング文書に残されたロシア語とアラビア語(サウジアラビア)の言語設定の痕跡です。これらの言語設定の痕跡は、弊社で分析したすべてのサンプルに出現していました。その例を以下に示します。


Valakのフィッシング文書に見つかったロシア語とアラビア語のキーボードトレース

上記の言語の痕跡は、脅威アクターが簡単に操作して意図的にそこに置くことができるので、脅威アクターの出自を確実に判断するには不十分であるという点に留意が必要です。

Valakの独立型マルウェアとしての進化

当初は他のマルウェアのペイロードとしてダウンロードされていましたが、最近のValakは従来のフィッシングキャンペーンのスタンドアロンユニットとして出現しています。

最近のキャンペーンは、米国とドイツを含む2つの特定地域を標的にしており、ファイルの内容とファイル名を英語で記述して正当なファイルになりすましています。


最近のキャンペーンで使用されたファイル名を示すVirusTotalのスクリーンショット


ドイツを標的とした文書の内容


米国を標的とした文書の内容

Valakは他のマルウェアの独立性の高い機能を徐々に獲得しているように見えますが、より大きなダメージを与えるためにValakの作者がIceIDやUrsnifといった追加のマルウェアを引き続き使用する傾向にあることは明らかです。

結論

この調査において、サーバーリーズンのNocturnusチームは、新たに出現したマルウェア「Valak」の分析を行いました。Valakが最初に登場したのは2019年後半、当時は複数のセキュリティアナリストによってマルウェアローダーとして分類されましたが、弊社の調査では、Valakは単なるマルウェアのローダーではありません。無数の偵察機能と情報窃取機能が満載された、巧妙なモジュール型マルウェアです。

約6か月の間に、Valakの開発者は途方もない進歩を遂げ、30以上の異なるバージョンをリリースしました。それぞれのバージョンでマルウェアの機能が拡張されており、ステルス性を向上させるための回避技術も追加されています。Valakには少なくとも6つのプラグインコンポーネントがあり、これによって攻撃者は被害者から機密情報を入手することができます。

このようなマルウェア機能の拡張は、Valakを他のマルウェアと連携させることも、連携せずに独立して使用することも可能であることを示唆しています。つまり、Valakの背後にいる脅威アクターはサイバー犯罪エコシステムで他の脅威アクターと協力し、さらに危険なマルウェアを作成しているように見受けられます。

これらのマルウェアキャンペーンは、米国とドイツにターゲットを絞っているようです。サーバーリーズンのNocturnusチームは引き続きValakの進行状況を監視し、このマルウェアが進化し続けてサイバー犯罪者の間で人気が高まるにつれてValakの感染が他の地域に広がるかどうかを見極めていく予定です。

IoC(Indicators of Compromise:痕跡情報)

このキャンペーンのIOC(PDF)はこちらでご確認ください

MITRE ATT&CK FOR MOBILEに基づくテクニックの分類

最初のアクセス
スピアフィッシングリンク
スピアフィッシング添付

実行
コマンドラインインターフェイス
Regsvr32
スケジュールされたタスク
スクリプティング
Windows Management Instrumentation
PowerShell

持続性
スケジュールされたタスク

権限のエスカレーション
スケジュールされたタスク
有効なアカウント

防御の回避
NTFSファイル属性
レジストリの変更
Regsvr32
スクリプティング

資格情報へのアクセス
ファイル内の資格情報
アカウント操作

検出
アカウントの検出
ファイルとディレクトリの検出
権限グループの検出
セキュリティソフトウェアの検出
システム情報の検出
システムネットワーク構成の検出
システム時間の検出

情報収集
情報リポジトリのデータ
ローカルシステムのデータ
データのステージング
メール収集

抽出
自動抽出
データ圧縮
データの暗号化
コマンドおよび制御チャネルを介した抽出

C&C
データ難読化

ホワイトペーパー「すべての組織が狙われている」

企業、組織がどんなにセキュリティを強固にしてもハッカーが悪用できる脆弱性は必ず存在します。侵入されることが避けられないことを受け入れ、新たな対策を立てる必要があります。本書で、なぜ避けられないのか、どのように対処するのかをご覧ください。
https://www.cybereason.co.jp/product-documents/input/?post_id=606

ホワイトペーパー「すべての組織が狙われている」