みっきー申す

ITに関する興味関心のまとめ、サイバーセキュリティニュースのまとめ、Twitterで配信中の情報まとめなどを公開します。

【更新】北朝鮮のサイバー犯罪グループLazarusとの関連が想定されるマルウェアフレームワークMATAについて

f:id:micro_keyword:20200728135951j:plain:w400

Kasperskyのブログにて、北朝鮮のサイバー犯罪グループLazarusとの関連が想定されるマルウェアフレームワークMATAの調査内容が公開されました。

securelist.com

マルウェアフレームワークは2018年4月に確認されており、ペイロードを取得するローダー、追加モジュールの取得や事項を行うオーケストレータなどが含まれており、Windows版、Linux版、macOS版が存在するとのことです。

本記事では、同フレームワークの概要について、調査記事を参考に記載します。


目次


MATAフレームワークへの感染地域

Kasperskyの調査によると、MATAフレームワークへの感染が確認された地域は以下です。

https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2020/07/08150538/sl_mata_04.png

また、被害に遭った組織として、以下を挙げています。


攻撃者の狙い

Kasperskyによると、感染が確認された組織への調査結果より、攻撃者の狙いがある程度わかっているとのことです。

攻撃者は、組織への侵入後、データベースの発見を試み、発見次第、クエリを実行して、顧客リストの取得を行いました。

このことから、顧客のデータベースを一つの狙いとしていることがわかります。

また、VHDランサムウェアを配布するためにMATAフレームワークの利用した痕跡も確認されており、これについては、別途記事が公開されるとのことです。


Lazarusとの関連

タイトルにもある通り、MATAフレームワークはLazarusとの関連が強く疑われます。

Lazarusについて軽くおさらいしておくと、Lazarusは別名HiddenCobraとも呼ばれており、US-CERTからも定期的に調査内容や利用マルウェアが公開されています。

ちなみに、このHiddenCobraはUS-CERTが用いる呼び名で、セキュリティベンダやニュースサイトではLazarusと呼ばれることが多い印象です。

今回のMATAフレームワークとLazarusの関連も、まさにUS-CERTが公開しているサンプルManuscryptの亜種との間に見られたものです。

レポート自体は2017年の12月に公開されたものが該当します。

https://us-cert.cisa.gov/sites/default/files/publications/MAR-10135536-B_WHITE.PDF

このレポートに記載された検体0137f688436c468d43b3e50878ec1a1fについて、検体中にc_2910.clsおよびk_3872.clsのファイル名が確認されたことに起因しています。

https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2020/07/08150700/sl_mata_05.png

さらにManuscryptの亜種自体、MATAフレームワークと類似の構造をとっており、セッションID、スリープの感覚、C2アドレスの数、感染を示す日付情報、C2アドレスおよびポートなどの情報を構成情報として持っています。

https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2020/07/08150744/sl_mata_06.png


Windowsバージョン

Windowsバージョンを構成するコンポーネントとして、以下の図が紹介されています。

https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2020/07/08145951/sl_mata_01.png

攻撃者はローダーを利用して、暗号化されたペイロードを読み込みます。

このペイロードが図でいうところのオーケストレータにあたるかどうかは定かでないものの、被害組織のほとんどすべてに、ローダーとオーケストレータが含まれていたとのことです。

ローダーについて

ローダーを実行する親プロセスは C:\Windows\System32\wbem\WmiPrvSE.exe であることが確認されています。

WmiPrvSE.exeは名前の通りWMI実行のためのホストプロセスであり、実行したローダーを起点に感染活動を拡大している様子から、リモートアクセスを行った上で組織内への横展開を試みたのではないかと予想できます。

インシデント調査の勘所として、攻撃の成功時に見られる痕跡については、JPCERT/CCが過去に「インシデント調査のための攻撃ツール等の実行痕跡調査に関する報告書」として公開しているので、参考にしていただくとよいかと思います。

ちなみに、痕跡の見方は、PDF版の「3.16. ツールおよびコマンドの実行成功時に見られる痕跡」に書いてあります。

www.jpcert.or.jp

https://www.jpcert.or.jp/research/20160628ac-ir_research.pdf

オーケストレータについて

Kasperskyが今回確認したオーケストレータのバージョンは3.1.1でタイムアウト値として20分が指定されていることが確認されています。

オーケストレータは暗号化されたデータをレジストリキーから読み込み復号化することで、機能を実行します。

もし、レジストリキーが存在しない場合は、マルウェアにあらかじめハードコードされたデータを利用します。

オーケストレータは一度に15のプラグインをロードでき、その方法として、以下の三つがあります。

  • HTTP/HTTPSで特定のサーバにアクセスして取得
  • 特定のDiskパスから暗号化されたデータを取得
  • MataNet専用コネクションを用いて取得

MataNetというのはTLS1.2を用いた専用の通信で、MataNetが用意する、クライアントモードとサーバモードを利用することで、ノード間の通信を実現します。

サーバモードでは、先述のc_2910.clsを証明書用の公開鍵として、k_3872.clsを秘密鍵として利用しますが、感染端末での利用は確認されていないようで、C2サーバでのみ利用される様子でした。

MataNetの通信において、以下のメッセージIDにより、通信内容が指定されるようでした。

メッセージID 説明
0x400 現在のMataNetセッションを完了し、論理ドライブの数が変更されるか、新しいアクティブユーザーセッションが開始されるまで、次のセッションを遅らせます。
0x500 構成レジストリキーを削除し、次の再起動までMATAの実行を停止します。
0x601 構成データをC2に送信します。
0x602 新しい構成データをダウンロードして設定します。
0x700 被害者ID、内部バージョン番号、Windowsバージョン、コンピューター名、ユーザー名、IPアドレスMACアドレスなどの感染したホストの基本情報をC2に送信します。
0x701 被害者ID、内部バージョン番号、セッションタイムアウトなどの構成設定をC2に送信します。

また、オーケストレータがダウンロードするプラグインの例とその説明も公開されています。

プラグイン 説明
MATA_Plug_Cmd.dll パラメータを指定してcmd.exe /cまたはpowershell.exeを実行し、コマンド実行の出力を受け取ります。
MATA_Plug_Process.dll プロセスの操作を行います。(プロセスの一覧表示、プロセスの強制終了、プロセスの作成、ログオンユーザーセッションIDを使用したプロセスの作成)
MATA_Plug_TestConnect.dll ポートまたはIPアドレスレンジなどTCP接続における情報を確認します。(pingをホストやIPに送信する)
MATA_Plug_WebProxy.dll HTTPプロキシサーバを作成します。サーバは指定されたポートでTCP接続を待ち受け、クライアントからHTTPサーバへのCONNECT要求を処理して、クライアントとサーバ間のすべてのトラフィックを転送します。
MATA_Plug_File.dll ファイルを操作します。(受信データを指定ファイルに書き込み、指定ファイルのLZNT1圧縮後の送信、指定フォルダの%TEMP%\~DESKTOP[8random hex].ZIP圧縮と送信、指定ファイルの検索、ファイルの検索、ファイルとフォルダの一覧表示、ファイルへのタイムスタンプ付与)。
MATA_Plug_Load.dll PIDとプロセス名を使用してDLLファイルを特定のプロセスに挿入するか、XORされたDLLファイルを特定のプロセスに挿入し、オプションで引数を指定してエクスポート関数を呼び出します。
MATA_Plug_P2PReverse.dll 一方のMataNetサーバともう一方の任意のTCPサーバの間を接続し、それらの間でトラフィックを転送します。両側のIPとポートは、このインターフェースへの呼び出しで指定されます。

Linuxバージョン

Linuxバージョンとしても、MATAフレームワークは確認されており、異なるファイルを含んでいたとのことです。

  • Windows版のMATAオーケストレータ
  • Linux版のMATAオーケストレータ
  • フォルダ探索のためのLinuxツール
  • Atlassian Confluence Serverの脆弱性CVE-2019-3396の利用を試みるスクリプト
  • socat(正規ツール)

ちなみに、Linux版のMATAフレームワークについては、Dacls RATとして、昨年末に中国のセキュリティベンダNetlab 360により公開されています。

blog.netlab.360.com

Linux版の挙動として、起動時に/var/run/init.pidからPIDを読み取ることで、既に実行されているかどうかを確認し、/proc/%pid%/cmdline 配下のファイルと /flash/bin/mountd 配下のファイルの比較を行います。

ちなみに、この /flash/bin/mountd というパスが特徴的でおそらく、ディスクを持たないルータやFW、IoTデバイスなどをターゲットとしている様子がうかがえます。

先述のWindows版のプラグインLinuxプラグインとの対応票が公開されているので、そちらも掲載します。

Linuxプラグイン 対応するWindowsプラグイン
/bin/bash MATA_Plug_Cmd
plugin_file MATA_Plug_File
plugin_process MATA_Plug_Process
plugin_test MATA_Plug_TestConnect
plugin_reverse_p2p MATA_Plug_P2PRevers

なお、Linux版のMATAにはlogsendという独自プラグインがあり、ポート番号8291(MikroTikルータの独自ポート)やポート番号8292(Bloomberg Professionalの独自ポート)やアクセス可能なIPをランダムに探索するスキャン機能を実装しているとのことです。

そして、コネクションが確立されると攻撃者のC2へログが転送される仕組みになっています。


macOSバージョン

macOSに対して感染を試みるMATAマルウェアは、Virustotal上に2020年の4月、確認されたとのことでした。

このファイルはMinaOPTというオープンソースmacOS用二要素認証アプリケーションを細工したものだとのことです。

https://github.com/MinaOTP/MinaOTP-MAC

https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2020/07/08150419/sl_mata_03.png

このmacOS用MATAも他のMATA同様、プラグインベースで行われるようで、実装しているプラグインLinux版と類似しているとのことです。

唯一違うのはplugin_socksという追加のプラグインがあるくらいで、その役割はplugin_reverse_p2pと同じくプロキシサーバのようなものだとのことです。


関連情報(2020年7月28日夕方更新)

本日、記事を上げた数時間後にKasperskyより追加の記事が公開されました。 本記事の文中でも紹介したVHDランサムウェアについてですね。

Lazarus on the hunt for big game | Securelist

ここでは、概要のみ記載します。

感染の流れとして、VPNゲートウェイ脆弱性を起点に組織内に侵入し、権限昇格およびADを侵害したのちにWMIでの横展開とVHDランサムウェアへの感染を実現しています。

https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2020/07/08160730/sl_lazarus_03.png

また、セキュリティベンダーSentinelOneからもLazarusに関する調査記事が公開されています。

www.sentinelone.com

本件も、概要のみ抜粋します。

  • LazarusがmacOSを狙った4種類のマルウェアを確認
    1. Trojan化されたワンタイムパスワードマルウェア
    2. Trojan化された暗号通貨関連アプリ
      • ユーザ情報や位置情報を収集し、C2との通信を行う
      • ファイルの送受信機能やディレクトリスキャン、ファイル削除機能をコマンド操作で実現できる
    3. 軽量バックドアOSX.Casso
      • 頻繁な改良が加えられていると予想できるマルウェア
        • 最初に確認されたのは2020年の6月1日で、名前はosxariだった
      • さらにさかのぼるとLazarusがかつて使っていたマルウェアFlash Playerの改良版だと推定される
    4. 新たな脅威WatchCatとMediaRemote
      • 7月10日以降急速に観測数が増えている
      • 過去のLazarusマルウェアと類似点が確認できる一方、User-agentの変更や復号化プロセスの変更なども確認できる。

SentinelOneの記事では、より詳細が書かれているので、興味を少しでも持たれた方は、読んでいただくことをオススメします。


まとめ

今回、Kasperskyの記事をベースにLazarusが利用するMATAフレームワークについて、読み解いてみました。

最近、標的型攻撃や攻撃グループの独自マルウェアについては、読んでいなかったので、個人的には面白いように感じました。

実際に、被害に遭った組織に所属しているわけでも、セキュリティベンダのIRチームにいるわけでもないので実情はわかりませんが、北朝鮮から日本もターゲットにされているってことなんですかね。

先日、米国のニュースでも中華系攻撃グループに所属するハッカーが訴訟されたみたいなニュースがありましたが、そのあたり含め、また気になるニュースがあれば、掘り下げて、必要に応じて、記事にまとめようかと思います。