Buer, a new loader emerges in underground marketplace

Overview

数年にわたり、Proofpointリサーチャーは、悪質なメールキャンペーン中やキャンペーン後に他の形態のマルウェアをインストールするために脅威者が使用する第一段階のダウンローダーの使用を追跡しています。 特に、この2年間で、これらのダウンローダーはますます堅牢になり、高度なプロファイリングとターゲティング機能を提供するようになりました。

より重要なことは、ダウンローダーやボットネット、バンキング型トロイの木馬などの他のマルウェアが、主要なペイロードとしてランサムウェアを駆逐し、脅威者が二次感染においてさまざまなマルウェアを展開できる柔軟性がもたらされた、ということです。 たとえば、最も普及しているSmoke Loaderは、UrsnifやThe Trickバンキング型トロイの木馬などのペイロードを落とすために広く使用されているほか、クレデンシャルなどの情報やデータを盗むために独自のモジュールを使用するなど、悪意のある機能を備えています

Proofpoint Researchでは、2019年8月末から、Buerという新しいモジュラーローダーの開発と作者の販売について追跡調査を行っています。 BuerはSmoke Loaderと非常に競合する機能を持ち、著名なアンダーグラウンドマーケットプレイスで活発に販売されており、ターンキーで既製のソリューションを求める使用アクター向けです。

Campaigns

August 28, 2019

8月28日に、Proofpoint研究者は以前の正当なメール会話に返信するような悪質メール メッセージを観察しました。 それらには、Microsoft Officeのマクロを使用して次の段階のペイロードをダウンロードするMicrosoft Wordの添付ファイルが含まれていました。

図1: 2019年8月28日のキャンペーンで使用したMicrosoft Word添付ファイルの例

次の段階のペイロードは、次のURLからダウンロードされていることが確認されました:

hxxp://jf8df87sdfd.yesteryearrestorationsnet/gate.php

hxxp://93345fdd.libertycolegioscom/gate.php

ドロップされたペイロードは verinstere222.xls または verinstere33.exe (その期間に行為者が使用していた命名規則)と名付けられていました。

その後、9月から10月にかけて、Proofpointの研究者や情報セキュリティコミュニティの他のメンバーは、同じ行為者からDreambotのUrsnifの亜種またはこの新しいローダーのいずれかをドロップする複数のキャンペーンを観測しています。

October 10, 2019

10月10日、Proofpointの研究者は、新しいローダーを落とすFallout Exploit Kit(EK)にリダイレクトするオーストラリアでのマルバタイジング キャンペーンを観察しました。

図2: Fallout EKが脆弱なブラウザを悪用したHTTPネットワークトラフィックトレース

その後、ローダーはKPOT stealer、Amadey、Smoke Loaderなど複数の第2段階のマルウェア ペイロードをドロップしました

October 21, 2019

Proofpoint researchersは7月の始めからOstapがほぼ唯一の複数のインスタンスのThe Trickをロードする約100件のキャンペーンを観察しています。 しかし21日、Proofpointの研究者は、Microsoft Wordの添付ファイルを含む「Penalty Notice # PKJWVBP」といった件名の悪意のある電子メールメッセージを観察しました。 この文書には、有効にするとOstapが実行されるマクロが含まれていました。 私たちは、Ostap がこのローダーを

hxxps://185.130.104187/nana/kum.php?pi=18b&

からダウンロードし、その C&C: garrisontxus

から The Trick “ono22” がロードされるのを観測しました。

図 4: 10 月 21 日のキャンペーンで使用された Microsoft Word 添付ファイルの例

Marketplace & Feature Analysis

この新しいローダーが複数の異なるキャンペーンで使用されていることを観察し始めたため、地下市場で複数のアクターに売却されていると予想されました。 さらに、私たちは、上記のキャンペーンで観察されたマルウェアの機能と一致する「Buer」という名前のローダーを説明する、地下フォーラム上の8月16日からの広告を発見しました。

次の数週間で追加および広告された機能は、これらのキャンペーンで見つかったローダーの進化と正確に一致します。 著者はまた、アップデートとバグ修正は無料だが、「新しいアドレスへの再構築」には 25 ドルの追加料金がかかると記しています。

Proofpoint も地下市場から抽出した、マルウェアの著者が書いたと推定される次のテキストは、オリジナルのロシア語で記述されたローダーの機能の要約です:

図5. Buer Loader ボットの機能を説明する underground フォーラムの投稿のテキスト

同様に、広告ではコントロール パネルの機能もリストアップされています。 著者は、モジュール式ボットは、.NET Core で書かれたコントロール パネルを使用して、完全に C 言語で書かれており、プログラミング言語の選択により、クライアントとサーバーの両方でより高いパフォーマンスを重視していると指摘しています。

  • 説明に従って、ボットは 55 ~ 60 キロバイトの総ペイロードを持ち、ネイティブ Windows 実行ファイルおよび動的リンク ライブラリとして機能し、完全に常駐メモリで実行し、32 ビットおよび 64 ビット Microsoft Windows オペレーティング システムと互換性があります。
  • ボットはHTTPS接続を介して通信し、復号化だけでなく再構築後もコントロールパネルからリモートで更新できます。
  • 著者はまた、ローダーは信頼できるアプリケーションの代理プロセスとして動作し、ユーザーレベルの特権を使用して機能すると指摘しています。
  • 最も注目すべきは、このソフトウェアはCIS(ロシアなどの旧ソ連国家)では実行できないだろうということです。

広告では、サーバーとコントロールパネルについて、以下の機能を説明しています:

  • コントロールパネルも .NET Core で書かれていると宣伝されており、Ubuntu / Debian Linux サーバーシステムに簡単にインストールできると記されています。
  • サーバーは、オンライン、生きている、死んだ、および合計ボットのカウンター、ボットリストのリアルタイム更新、ファイルのダウンロードカウンター、およびオペレーティングシステムのタイプ、インストールされたボットのアクセス権、および論理CPUコア数によってシステムをフィルタする機能などの幅広い統計情報を提供します。
  • 感染したシステムからダウンロードされたファイルは、サーバー上に暗号化された形式で保存され、アクセスはトークンによって許可されます。
  • 最も重要なことは、ボット自体のように、サーバーがCIS加盟国内から送信されたAPI要求を処理しないことに著者は言及しています。

フォーラム投稿には、Buer loaderとコントロールパネル(バージョン1.1.2)用の技術リリースノートも含まれていました。 最初の2つのステップが感染したシステムで失敗し、サロゲート プロセスへの注入が (たとえば、crypt 自体と互換性がないために) 失敗した場合、ローダーは代わりに自身のプロセスで実行されると、著者は導入部で述べています。

リリース ノートでは、ローダーについて次のように説明しています:

  • The loader uses a FastFlux architecture.
  • The loader works from under a trusted process within Microsoft Windows.このローダーは、Microsoft Windows 内で信頼できるプロセスの下で動作します。 MemLoadEx プロセスは、信頼できるアプリケーションとして x64 exe をサポートするようになりました。
  • MemLoad は更新され、ネイティブ x32 exe をサポートします。

リリースノートでは、コントロール パネルについて次の機能を呼びかけています。 ユーザーは実行中のタスクを停止し、ペイロードと実行回数を変更できます。

  • ボットIDでタスクを作成する機能を追加しました。 ポイントロードに非常に適しています。
  • タスク作成のためのステップバイステップのウィンドウ。
  • 必要なボットをオンラインで知ることができる通知。
  • ボットIDのユニークさが増加しました。
  • パネルにタグが加わり、ボットとその後の行動のためのソートが可能。
  • テーブル内にコンピュータ名を表示することが可能です。
  • 暗号の互換性を改善しました。
  • ボットの履歴を追加しました。
  • 「パネルが Docker に展開されました」(Docker コンテナのサポート)
    • Proofpoint Researcher Note: この機能は、リースした Docker ホストに簡単に統合するため、インストールの簡略化だと推測されます。ただし、侵害した Docker ホストに panel/C&C をインストールする可能性もあります。
  • パネル上のファイルのバリデーション。 現在、パネルはローダーがダウンロードできないファイルを見逃さず、これについてクライアントに通知します。
  • タスクの繰り返しが可能になりました。
  • 最後に、著者はバージョン 1.1.9 の次の技術変更について説明しました。 これらは、マルウェアが活発で専門的な開発下にあることを示すものとして注目されます。

    • The loader has acquired a new method for launching External for local files.ローダーは、ローカル ファイル用の外部を起動するための新しい方法を獲得しました。 この方法の利点は、独自性と、ローダーを介した CreateProcess / ShellExecute がないことです。 起動は、コマンドなしで信頼されたプロセスを生成します。
    • パネルには、特定のタスクを実行したすべてのボットにタグ付けする機能があります。 これにより、ユーザーはペイロードをボットの特定のグループに配布することができます。
    • Implemented integration API。 それのための利用可能なドキュメント。
    • プロキシモードで参照によってファイルを送信する機能を追加しました。 ファイルは暗号化された形式でボットに転送されます。
    • 国別にボットをカウントするバグが修正され、その他の改善が追加されました。

    コントロールパネルのスクリーンショット

    以下のコントロールパネルのスクリーンショットが地下広告に含まれ、遠隔測定モニタリング、ホストフィルタリングなど、顧客が利用できるバックエンド機能のいくつかを示していました。

    Figure 6: Buer Loader C&C のコントロール パネル ログイン UX

    Figure 7: Buer コントロール パネル用の Bot テレメトリ モニタリング画面。

    図8:Buerコントロールパネルのダークモードボット遠隔測定モニタリング画面。

    図9:Microsoft Windowsアーキテクチャによってフィルタリングされたリモートボットを示すコントロールパネルフィルタビュー。

    Figure 10: ローダータスクのファイル管理を示すコントロールパネルビュー

    Figure 11: ユーザー権限で並べられたリモートボットのコントロールパネルビュー。

    図12: コントロール パネル ビュー、タスク ステータス

    図13: コントロール パネル ビュー、タスクの作成

    マルウェア分析

    Buer Loaderは、追加のペイロードをダウンロードして実行する新しいダウンローダー マルウェアです。

    アンチ解析機能

    ローダーには、いくつかの基本的なアンチ解析機能が含まれています。

    • Process Environment Block (PEB) および Thread Environment Block (TEB) の NtGlobalFlag を検査することにより、デバッガをチェックする
    • Red Pill、No Pill、および関連メカニズムを使用して仮想マシンをチェックする
    • マルウェアが特定の国で稼働していないことを確認するためにロケールをチェックする (図 14)

    Figure 14: 特定の国で実行されていないことを確認するマルウェアチェック

    Persistence

    PersistenceはレジストリRunOnceエントリを構成することで設定されます。 バージョンによって、レジストリ エントリはマルウェアを直接実行するか、実行するタスクをスケジュールします。

    暗号化された文字列

    このサンプルには、文字列を暗号化する関数が含まれています。

    Figure 15: Decryption sequence for strings

    Ghidra で暗号化した文字列を Jython で復号化する関数の例:

    Figure 16: Decryption sequence for strings

    Figure 16: Decryption sequence for strings

    Ghidra では、文字列を暗号化する関数が含まれています。 文字列の復号シーケンス (Python バージョン)

    Figure 17: Example string decryptions

    Windows API Calls

    このサンプルではほとんどの Windows API 呼び出しをハッシュアルゴリズムを使って解決している。 ハッシュ化アルゴリズムでは、API名の各文字が大文字であることを確認します。 次に、各文字を13ずつ右回転 (ROR) し、それらを加算します。

    Figure 18: Hashing algorithm to resolve Windows API calls

    次の関数は、PythonがAPIコールの解決を支援するためにどのように使用できるかの一例です。

    Figure 19: ハッシュ化された Windows API 呼び出しの解決に役立つ Python スクリプト例

    次の表は、使用されたいくつかの選択したハッシュとその Windows API 名に対応するリストを示しています。

    CreateMutexW

    0xed619452

    OpenMutexW

    0x7bffe25e

    CreateProcessW

    0xb4f0f46f

    WinHttpOpen

    0xaf7f658e

    WinHttpCrackUrl

    0x8ef04f02

    WinHttpConnect

    0x9f47a05e

    WinHttpOpenRequest

    0x1dd1d38d

    表1.WinHttpRequest

    。 Windows API コールと選択されたハッシュ

    コマンドとコントロール

    コマンドとコントロール (C&C) 機能は HTTP(S) GET リクエストで処理されます。 コマンドビーコンの例は、図20のようになります:

    図20:コマンドビーコンの例

    これらのリクエストは「更新API」に行き、暗号化されたパラメータが含まれています。 このパラメータは、

    1. Base64 decoding
    2. Hex decoding
    3. RC4 decryption (分析したサンプルで使用したキーは “CRYPTO_KEY”)

    平文パラメータの例は、次のようになります。

    88a5e68a2047fa5ebdc095a8500d8fae565a6b225ce94956e194b4a0e8a515ae|ab21d61b35a8d1dc4ffb3cc4b75094c31b8c00de3ffaaa17ce1ad15e876dbd1f|Windows 7|x64|4|Admin|RFEZOWGZPBYOI

    It contains pipe->It contains pipe->It contains pipe->It contains pipe->It contains pipe->It contains pipe->It contains pipe->It contains pipe->It allocateで構成される区切りデータ。

    • Bot ID(ハードウェアプロファイルGUIDおよび名前、コンピュータ名、ボリュームシリアル番号などの各種システムパラメーターのSHA-256 16進ダイジェスト。 CPUID)
    • 自身の実行イメージのSHA-256ハッシュ
    • Windowsバージョン
    • アーキテクチャタイプ
    • プロセッサ数
    • ユーザー権限
    • コンピュータ名

    コマンドビーコンの応答例は図21に示すとおりです。

    Figure 21: Example command beacon response

    これは、16進エンコードされたバイトがダッシュ文字で分離されている以外は、上記のリクエストパラメーターと同様に復号化することが可能です。 平文応答の例を図22に示します。

    Figure 22: Plaintext command beacon response

    復号されたテキストはJSONオブジェクトで、ペイロードをダウンロードし実行する方法に関するさまざまなオプションが含まれています。

    • type – 2つのタイプがあります:
      • update – 自己を更新
      • download_and_exec – ダウンロードと実行
    • options – ダウンロードするペイロードのオプションについて指定するものです。
      • Hash – “update” タイプにのみ適用され、新しいアップデートが利用可能かどうかを判断します
      • x64 – ペイロードが 64 ビットかどうか
      • FileType – 分析サンプルでは使用されていません
      • AssemblyType – ダウンロードするペイロードのオプションを指定します
      • AssemblyType – ダウンロードするペイロードのタイプを指定します。 not used in analyzed samples
      • AccessToken – ペイロードをダウンロードするために使用されます(下記参照)
      • External – C&Cまたは外部URLからペイロードをダウンロードするかを示します
    • method – 実行メソッドを表します。
      • exelocal – プロセスを作成する
      • memload – インジェクションして手動でペイロードをロードする
      • memloadex – インジェクションして手動でペイロードをロードする
      • loaddllmem – インジェクションして手動でペイロードする
    • parameters – コマンドライン上で渡すパラメータ
    • pathToDrop – コマンドラインで渡されたパラメータは、次のとおりです。 分析したサンプルでは使用されていません
    • autorun – ペイロードのレジストリ RunOnce パーシステンスを設定するかどうかを示します
    • modules – 以下のモジュールセクションを参照してください
    • timeout – 分析したサンプルでは使用されていません

    C&C Server からダウンロードするケイロードは図 23 で見たように「ダウンロード API」への要求によって実行されます。

    図23:C&Cからのペイロードのダウンロード

    平文のリクエストパラメーターの例を以下に示します。

    88a5e68a2047fa5ebdc095a8500d8fae565a6b225ce94956e194b4a0e8a515ae|58007044-67d4-4963-9f5f-400dfbc69e74

    コマンドビーコン応答からボットのIDと “AccessToken” が含まれています。 C&Cからペイロードがダウンロードされた場合、RC4で暗号化されます。 分析したサンプルでは、キーは「CRYPTO_KEY」でした。

    Modules

    コマンドビーコンの応答には「モジュール」リストが含まれています。 Proofpointの研究者は、まだBuerモジュールが実際に使用されていることを確認していませんが、コードに基づいて、このリストにはモジュールAccessTokensが含まれます。 C&Cの「モジュールAPI」にAccessTokenを送信することで、モジュールファイル名が照会されます。 その後、”downloadmodule API “を使ってモジュールがダウンロードされます。 ダウンロードされ、解読されると、「loaddllmem」メソッドを使用してロードされます。

    結論

    新しいダウンローダーであるBuerは、最近さまざまなキャンペーンで出現しており、悪用キットにつながるマルバータス経由、Ostap経由のセカンダリペイロード、およびThe Trick banking Trojanなどのマルウェアのダウンロードの主要ペイロードとして出現しています。

    この新しいローダーは、強力なジオターゲティング、システム プロファイリング、およびアンチ解析機能を備えており、現在、付加価値のあるセットアップ サービスとともにアンダーグラウンド フォーラムで販売されています。

    ダウンローダーはCで書かれていますが、コントロールパネルは.NETコアで書かれており、パフォーマンスと小さなダウンロードフットプリントのための最適化と、Linuxサーバーにコントロールパネルを簡単にインストールする能力を示しています。 後者の機能は、宣伝されている機能およびリリースノートに含まれています。

    https://www.cert.pl/en/news/single/ostap-malware-analysis-backswap-dropper/

    https://www.proofpoint.com/us/threat-insight/post/ostap-bender-400-ways-make-population-part-with-their-money

    https://www.aldeid.com/wiki/X86-assembly/Instructions/sidt

    https://www.aldeid.com/wiki/X86-assembly/Instructions/sldt

    Indicators of Compromise (IOCs)

    IOC

    IOC(危険物)

    IOC Type

    Description

    fa699eab565f613df563ce47de5b82bde16d69c5d0c05ec9fc7f8d86ad7682ce

    sha256

    http[://45.76.247[.177:8080/api/update/

    URL

    Buer C&C callback

    6c694df8bde06ffebb8a259bebbae8d123effd58c9dd86564f7f70307443ccd0

    sha256

    197163b6eb2114f3b565391f43b44fb8d61531a23758e35b11ef0dc44d349e90

    sha256

    https[://173.212.204[.171/api/update/

    URL

    Buer C&C callback

    9e8db7a722cc2fa13101a306343039e8783df66f4d1ba83ed6e1fe13eebaec73

    sha256

    (Fallout Drop)

    http[://134.0.119[.53:8080/api/update/

    URL

    Buer C&C callback

    ab21d61b35a8dc4ffb3cc4b75094c31b8c00de3ffaaa17ce1ad15e876dbd1f

    sha256

    (Ostap drop)

    https[://garrisontx[.us/api/update/

    URL

    Buer C&C callback

    https[://185.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.XXX.130.104[.187/nana/kum.php?pi=18b

    URL

    Ostap instance dropping Buer – 2019-10-…21

    753276c5887ba5cb818360e797b94d1306069c6871b61f60ecc0d31c78c6d31e

    sha256

    Buer 2019-11-28

    ffload01[.top|185.125.58[.11

    ffload01[.top|185.186.141[.129

    domain|IP

    Buer C&C 2019-11-Japan28

    ETとETPROのスリカタ/スノート署名

    2029077 || ET TROJAN Buer Loader Update Request

    2029079 || ET TROJAN Buer Loader Response

    2029078 || ET TROJAN Buer Loader Download Request

    2839684 || ET TROJAN Buer Loader Successful Payload Download

    2029080 || SSL/TLS Certificate Observed (Buer Loader)

    2029080 || ET TROJAN Buer Loader Download Request

    2029078 || SSL/TLS Certificate Observed (Buer Loader)

    2839684

    コメントする