米国と韓国に影響を与える重要な FormBook 配布キャンペーン

FormBook advertisement news

過去数か月間に、主に米国と韓国の航空宇宙、防衛請負業者、および製造部門を狙った大量の FormBook マルウェア配布キャンペーンがいくつか観測されました。これらの電子メール キャンペーンに関与した攻撃者は、さまざまな配布メカニズムを利用して、次のような情報を盗む FormBook マルウェアを配信しました。

  • ダウンロードリンク付きの PDF
  • 悪意のあるマクロを含む DOC および XLS ファイル
  • EXE ペイロードを含むアーカイブ ファイル (ZIP、RAR、ACE、および ISO)

PDF および DOC/XLS キャンペーンは主に米国に影響を与え、アーカイブ キャンペーンは米国と韓国に大きな影響を与えました。

フォームブックの概要

FormBook は、2016 年初頭からさまざまなハッキング フォーラムで宣伝されてきたデータ スティーラーおよびフォーム グラバーです。図 1 と図 2 は、このマルウェアのオンライン広告を示しています。

FormBook advertisement
図 1: FormBook 広告
FormBook アンダーグラウンド価格
図 2: FormBook アンダーグラウンド価格

このマルウェアは、さまざまなプロセスに自分自身を挿入し、機能フックをインストールして、キーストロークを記録し、クリップボードの内容を盗み、HTTP セッションからデータを抽出します。このマルウェアは、コマンド アンド コントロール (C2) サーバーからコマンドを実行することもできます。コマンドには、ファイルのダウンロードと実行、プロセスの開始、システムのシャットダウンと再起動、Cookie とローカル パスワードの盗用をマルウェアに指示することが含まれます。

このマルウェアの最も興味深い機能の 1 つは、Windows のntdll.dllモジュールをディスクからメモリに読み込み、エクスポートされた関数を直接呼び出して、ユーザー モードのフックと API 監視メカニズムを無効にすることです。マルウェアの作成者は、この手法を「ラゴス島方式」と呼んでいます (この名前のユーザーランド ルートキットに由来すると言われています)。

また、パス、ファイル名、ファイル拡張子、および永続化に使用されるレジストリ キーをランダムに変更する永続化方法も備えています。

マルウェア作成者は、ビルダーを販売するのではなく、パネルのみを販売し、実行ファイルをサービスとして生成します。

機能

FormBook はデータ スティーラーですが、本格的なバンカー (バンキング マルウェア) ではありません。現在、拡張機能やプラグインはありません。その機能は次のとおりです。

  • キーロギング
  • クリップボードの監視
  • HTTP/HTTPS/SPDY/HTTP2 フォームとネットワーク リクエストの取得
  • ブラウザや電子メール クライアントからパスワードを取得する
  • スクリーンショット

FormBook は、C2 サーバーから次のリモート コマンドを受信できます。

  • ホスト システムでボットを更新する
  • ファイルをダウンロードして実行する
  • ホスト システムからボットを削除する
  • ShellExecute を介してコマンドを起動する
  • ブラウザの Cookie をクリアする
  • 再起動システム
  • シャットダウンシステム
  • パスワードを収集してスクリーンショットを作成する
  • ZIP アーカイブをダウンロードして解凍する

インフラストラクチャー

C2 ドメインは通常、.site、.website、.tech、.online、.info など、あまり普及していない新しいジェネリック トップレベル ドメイン (gTLD) を利用します。

この最近観察された FormBook アクティビティに使用された C2 ドメインは、WhoisGuard プライバシー保護サービスを使用して登録されています。サーバー インフラストラクチャは、ウクライナのホスティング プロバイダーである BlazingFast.io でホストされています。通常、各サーバーには複数の FormBook パネルのインストール場所があり、これはアフィリエイト モデルを示している可能性があります。

動作の詳細

ファイルの特徴

このブログ記事の分析は、次の代表的なサンプルに基づいています。

ファイル名

MD5 ハッシュ

サイズ (バイト)

コンパイル時間

利用不可

CE84640C3228925CC4815116DDE968CB

747,652

2012-06-09 13:19:49Z

表 1: FormBook サンプルの詳細

パッカー

このマルウェアは、AutoIt ローダーを起動する自己解凍型の RAR ファイルです。 AutoIt ローダーは、AutoIt スクリプトをコンパイルして実行します。スクリプトは、FormBook ペイロード ファイルを復号化し、メモリにロードしてから実行します。

インストール

FormBook マルウェアは、自分自身を新しい場所にコピーします。マルウェアは、最初に次の文字列のいずれかを選択して、インストールされたファイル名のプレフィックスとして使用します。

ms、win、gdi、mfc、vga、igfx、ユーザー、ヘルプ、設定、更新、regsvc、chkdsk、systray、audiodg、certmgr、autochk、taskhost、colorcpl、サービス、IconCache、ThumbCache、Cookie

次に、2 ~ 5 個のランダムな文字を生成し、それらを上で選択した文字列に追加します。

その後に、次のファイル拡張子のいずれかが続きます。

  • .exe、.com、.scr、.pif、.cmd、.bat

マルウェアが昇格された権限で実行されている場合、次のディレクトリのいずれかに自分自身をコピーします。

  • %プログラムファイル%
  • %CommonProgramFiles%

通常の権限で実行している場合、次のディレクトリのいずれかに自分自身をコピーします。

  • %USERPROFILE%
  • %アプリデータ%
  • %TEMP%

持続性

マルウェアは、前述と同じ文字列リストとランダムな文字列を使用してプレフィックスを作成し、1 ~ 5 個のランダムな文字を追加して、この値をレジストリ値の名前として使用します。

マルウェアは、その権限に応じて、次の 2 つの場所のいずれかに永続性を設定します。

  • (HKCU|HKLM)SOFTWAREMicrosoftWindowsCurrentVersionRun
  • (HKCU|HKLM)SOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorerRun

起動

このマルウェアは、16 バイトのミューテックスを 2 つ作成します。最初のミューテックスはクライアント識別子です (例: 8-3503835SZBFHHZ)。 2 番目のミューテックス値は、C2 情報とユーザー名から導出されます (例: LL9PSC56RW7Bx3A5)。

その後、マルウェアはプロセス リストを繰り返し処理し、プロセス名のチェックサム値を計算して (名前自体をチェックするのではなく)、挿入するプロセスを特定します。マルウェアは、ブラウザ プロセスと explorer.exe に自身を挿入する可能性があります。ターゲット プロセスに応じて、マルウェアはさまざまな関数フックをインストールします (詳細については、「関数フック」セクションを参照してください)。

反分析

このマルウェアは、いくつかの手法を使用してマルウェア分析を複雑にします。

  • RDTSC命令によるタイミングチェック
  • InfoClass=7 (ProcessDebugPort) で NtQueryInformationProcess を呼び出します。
  • サンプルのパスとファイル名のチェック (サンプルのファイル名は 32 文字未満である必要があります)
  • ハッシュベースのモジュール ブラックリスト
  • ハッシュベースのプロセス ブラックリスト
  • ハッシュベースのユーザー名ブラックリスト
  • 通信する前に、C2サーバーがhostsファイルに存在するかどうかを確認します

これらのテストの結果は 16 バイトの配列に配置され、SHA1 ハッシュが配列で計算されます。これは後で後続の文字列 (ロードする DLL 名など) の復号化キーとして使用されます。サンプルがサポート DLL (kernel32.dll および advapi32.dll) のロードを試行するまで、失敗したチェックに気付かないことがあります。

チェックの結果を保持する正しい 16 バイト配列は次のとおりです。

  • 00 00 01 01 00 00 01 00 01 00 01 00 00 00 00 00

次の SHA1 値を持つ:

  • 5b85aaa14f74e7e8adb93b040b0914a10b8b19b2

すべての分析防止チェックが完了すると、サンプルは手動で ntdll.dll をディスクからメモリにマップし、エクスポートされた関数をコードで直接使用します。すべての API 関数には、API 名の CRC32 チェックサムを使用してマップされた ntdll.dll 内の API のアドレスを検索し、スタックにパラメーターを設定するコード内の小さなスタブ関数があります。

これに続いて、マップされた ntdll.dll モジュールへの直接登録呼び出しが行われます。これにより、実行がシステムにマップされた ntdll.dll を通過しないため、API の通常のデバッガー ブレークポイントが動作しなくなります。

プロセス注入

このサンプルは、実行中のすべてのプロセスをループして、そのプロセス名の CRC32 チェックサムで explorer.exe を見つけます。次に、次の API 呼び出しを使用して explorer.exe に挿入します (WriteProcessMemory や CreateRemoteThread など、より一般的に識別可能な手法を回避します)。

  • NtMapViewOfSection
  • NtSetContextThread
  • NtQueueUserAPC

ハイジャックされた explorer.exe のインスタンスに挿入されたコードは、次のリストから組み込みの Windows 実行可能ファイルを (中断されたプロセスとして) ランダムに選択して起動します。

  • svchost.exe、msiexec.exe、wuauclt.exe、lsass.exe、wlanext.exe、msg.exe、lsm.exe、dwm.exe、help.exe、chkdsk.exe、cmmon32.exe、nbtstat.exe、spoolsv。 exe、rdpclip.exe、control.exe、taskhost.exe、rundll32.exe、systray.exe、audiodg.exe、wininit.exe、services.exe、autochk.exe、autoconv.exe、autofmt.exe、cmstp.exe、 colorcpl.exe、cscript.exe、explorer.exe、WWAHost.exe、ipconfig.exe、msdt.exe、mstsc.exe、NAPSTAT.EXE、netsh.exe、NETSTAT.EXE、raserver.exe、wscript.exe、wuapp. exe、cmd.exe

元のプロセスはランダムに選択された実行可能ファイルを explorer.exe のメモリから読み取り、NtMapViewOfSection、NtSetContextThread、および NtQueueUserAPC を介してこの新しいプロセスに移行します。

その後、新しいプロセスは元のサンプルを削除し、永続性を設定します (詳細については、永続性セクションを参照してください)。次に、実行中のプロセスを絶えず列挙し、プロセス名の CRC32 チェックサムに基づいてターゲットを探すループに入ります。

対象となるプロセス名には以下が含まれますが、これらに限定されません:

  • iexplore.exe、firefox.exe、chrome.exe、MicrosoftEdgeCP.exe、explorer.exe、opera.exe、safari.exe、torch.exe、maxthon.exe、seamonkey.exe、avant.exe、deepnet.exe、k- meleon.exe、citrio.exe、coolnovo.exe、coowon.exe、cyberfox.exe、dooble.exe、vivaldi.exe、iridium.exe、epic.exe、midori.exe、mustang.exe、orbitum.exe、palemoon. exe、qupzilla.exe、sleipnir.exe、superbird.exe、outlook.exe、thunderbird.exe、totalcmd.exe

ターゲット プロセスのいずれかに挿入した後、プロセスに基づいてユーザー モード API フックを設定します。

マルウェアは、プロセスに応じて異なる関数フックをインストールします。これらの関数フックの主な目的は、キーストロークをログに記録し、クリップボード データを盗み、ブラウザの HTTP セッションから認証情報を抽出することです。マルウェアは、データをローカルのパスワード ログ ファイルに保存します。ディレクトリ名は、C2 情報とユーザー名から派生します (上記で作成した 2 番目のミューテックス: LL9PSC56RW7Bx3A5 と同じ)。

ただし、この値から 8 バイトだけがディレクトリ名として使用されます (例: LL9PSC56)。次に、派生したディレクトリ名の最初の 3 文字がログ ファイルのプレフィックスとして使用され、その後に文字列 log が続きます。このプレフィックスに続いて、ログ ファイルの種類に対応する名前が続きます。たとえば、Internet Explorer のパスワードの場合、次のログ ファイルが作成されます。

  • %APPDATA%LL9PSC56LL9logri.ini.

以下は、プレフィックスなしのパスワード ログ ファイル名です。

  • (名前なし): キーログデータ
  • rg.ini: Chrome のパスワード
  • rf.ini: Firefox のパスワード
  • rt.ini: Thunderbird のパスワード
  • ri.ini: Internet Explorer のパスワード
  • rc.ini: Outlook のパスワード
  • rv.ini: Windows Vault のパスワード
  • ro.ini: Opera のパスワード

.INI ファイル拡張子を使用しないもう 1 つのファイルは、スクリーンショット ファイルです。

  • im.jpeg

関数フック

キーログ/クリップボード監視:

  • GetMessageA
  • GetMessageW
  • PeekMessageA
  • PeekMessageW
  • SendMessageA
  • SendMessageW

ブラウザ フック:

  • PR_書き込み
  • HttpSendRequestA
  • HttpSendRequestW
  • InternetQueryOptionW
  • 暗号化メッセージ
  • WSASend

ブラウザー フックは、HTTP 要求のコンテンツで特定の文字列を検索し、一致が見つかった場合は、要求に関する情報が抽出されます。対象となる文字列は次のとおりです。

  • 合格
  • トークン
  • Eメール
  • ログインする
  • ログイン
  • アカウント
  • 持続的に

ネットワーク通信

マルウェアは、HTTP リクエストを使用して次の C2 サーバーと通信します。

  • www[.]クリック追跡[.]info/list/hx28/

ビーコン

図 3 に示すように、FormBook は、URL に「id」パラメーターを含む HTTP GET を使用して、(タイマー/カウンターによって制御される) ビーコン要求を送信します。

FormBook ビーコン
図 3: FormBook ビーコン

デコードされた「id」パラメータは次のとおりです。

  • FBNG:134C0ABB 2.9:Windows 7 Professional x86:VXNlcg==

どこ:

  • 「FBNG」 – マジックバイト
  • “134C0ABB” – ユーザーの SID の CRC32 チェックサム
  • 「2.9」 – ボットのバージョン
  • 「Windows 7 Professional」 – オペレーティング システムのバージョン
  • 「x86」 – オペレーティング システム アーキテクチャ
  • “VXNlcg==” – Base64 でエンコードされたユーザー名 (つまり、この場合は “User”)

通信暗号化

マルウェアは、ハードコーディングされた HTTP ヘッダー値を使用して HTTP 要求を送信します。図 4 に示す HTTP ヘッダーはハードコーディングされています。

ハードコーディングされた HTTP ヘッダー値
図 4: ハードコーディングされた HTTP ヘッダー値

C2 サーバーへのメッセージは、RC4 暗号化および Base64 エンコードで送信されます。マルウェアは Base64 アルファベットをわずかに変更して使用し、文字「.」も使用します。パッド文字としての「=」の代わりに:

  • 標準アルファベット:
    • ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
  • 変更されたアルファベット:
    • ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_

RC4 キーは、C2 URL を使用した SHA1 ハッシュ アルゴリズムの実装を使用して作成されます。標準の SHA1 アルゴリズムは、アルゴリズムの最後で DWORD エンディアンを逆にします。この実装ではそうではなく、逆エンディアンの DWORD になります。たとえば、前述の URL の SHA1 ハッシュは「9b198a3cfa6ff461cc40b754c90740a81559b9ae」ですが、DWORD を並べ替えると、正しい RC4 キー 3c8a199b61f46ffa54b740cca84007c9aeb95915 が生成されます。最初の DWORD「9b198a3c」は「3c8a199b」になります。

図 5 は、HTTP POST 要求の例を示しています。

HTTP POST リクエストの例
図 5: HTTP POST リクエストの例

この例では、デコードされた結果は次のとおりです。

  • クリップボードrnrn空白ページ – Windows Internet ExplorerrnrncEXN{3wutV,

受け入れられるコマンド

コマンドが C2 サーバーによって送信されると、HTTP 応答本文は図 6 に示す形式になります。

コマンドによる FormBook C2 サーバーの応答
図 6: コマンドを使用した FormBook C2 サーバーの応答

データは、マジック バイト「FBNG」で始まり、16 進バイト 31 ~ 39 (つまり、「1」~「9」) の 1 バイトのコマンド コードが平文で記述されます。この後に、RC4 でエンコードされたコマンド データが続きます (RC4 キーは、要求に使用されたものと同じです)。復号化されたデータでは、マジック FBNG バイトの別のオカレンスは、コマンド データの終わりを示します。

マルウェアは、表 2 に示すコマンドを受け入れます。

指示

パラメータ(復号後)

目的

‘1’ (0x31)

< pe_file_data >FBNG

%TEMP% ディレクトリからファイルをダウンロードして実行する

‘2’ (0x32)

< pe_file_data >FBNG

ホスト マシンでボットを更新する

‘3’ (0x33)

FBNG

ホスト マシンからボットを削除する

‘4’ (0x34)

< command_string >FBNG

ShellExecute を介してコマンドを起動する

‘5’ (0x35)

FBNG

ブラウザの Cookie をクリアする

‘6’ (0x36)

FBNG

オペレーティング システムを再起動する

‘7’ (0x37)

FBNG

オペレーティング システムのシャットダウン

‘8’ (0x38)

FBNG

メール/ブラウザのパスワードを収集してスクリーンショットを作成する

‘9’ (0x39)

< zip_file_data >FBNG

ZIP アーカイブをダウンロードして %TEMP% ディレクトリに解凍します

表 2: FormBook が受け付けるコマンド

配布キャンペーン

FireEye の研究者は、さまざまな添付ファイルを使用した電子メール キャンペーンを介して配布された FormBook を観察しました。

  • 「tny.im」URL 短縮サービスへのリンクを含む PDF。このサービスは、FormBook 実行可能ペイロードを含むステージング サーバーにリダイレクトされます。
  • 有効にすると FormBook ペイロードのダウンロードを開始する悪意のあるマクロを含む DOC および XLS 添付ファイル
  • FormBook 実行可能ファイルを含む ZIP、RAR、ACE、および ISO の添付ファイル

PDFキャンペーン

PDF キャンペーンでは、FedEx および DHL の配送/小包配達のテーマ (図 7 および図 8) と、文書共有のテーマが活用されました。配布された PDF には悪意のあるコードは含まれておらず、FormBook ペイロードをダウンロードするためのリンクのみが含まれていました。

ステージング サーバー (表 3 を参照) は、侵害された Web サイトのようです。

添付ファイル付きの PDF キャンペーン メール ルアーの例
図 7: 添付ファイル付きの PDF キャンペーン電子メールのルアーの例
PDF キャンペーン添付ファイルの例
図 8: PDF キャンペーンの添付ファイルの例

件名のサンプル

短縮 URL

ステージング サーバー

< Recipient’s_Name > – 集荷待ちの小包があります

< Recipient’s_Name > – ファイルをあなたと共有しました

tny[.]im/9TK

tny[.]im/9Uw

tny[.]im/9G1

tny[.]im/9Q6

tny[.]im/9H1

tny[.]im/9R7

tny[.]im/9Tc

tny[.]im/9RM

tny[.]im/9G0

tny[.]im/9Oq

tny[.]im/9ああ

maxsutton[.]co[.]uk

ソルダー[.]dream3w[.]com

lifekeeper[.]com[.]au

塩水マトリックス[.]com

jaimagroup[.]com

表 3: PDF キャンペーンで観測された電子メールの件名とダウンロード URL

tny.im 短縮リンクのデータに基づくと、36 か国で合計 716 件のヒットがありました。図 9 に示すように、PDF キャンペーンによる悪意のある活動のほとんどは米国に影響を与えました。

tny.im URL Shorter からの位置情報統計
図 9: tny.im URL 短縮サービスからの地理位置情報統計

DOC/XLS キャンペーン

DOC および XLS ファイルを配布する電子メール キャンペーンは、悪意のあるマクロを使用して実行可能なペイロードをダウンロードすることに依存していました。マクロが有効になっている場合、ダウンロード URL は PDF 拡張子を持つ実行可能ファイルを取得します。表 4 は、観測された電子メールの件名と、これらのキャンペーンで使用されたダウンロード URL を示しています。

件名のサンプル

ステージング サーバー

URL パス

61_請求書_6654

ACS PO 1528

新規注文 – PO-074

新規注文 – PO#074

見積依頼・契約 オーバーホール MV OCEAN MANTA//P-3PROPELLERの供給

緊急注文書 1800027695

sdvernoms[.]ml

/oc/runpie.pdf

/sem/essen.pdf

/drops/microcore.pdf

/damp/10939453.pdf

/sem/essentials.exe

/oc/runpie.pdf

/sem/ampama.pdf

/js/21509671Packed.pdf

/sem/essen.pdf

表 4: DOC/XLS キャンペーンで観測された電子メールの件名とダウンロード URL

FireEye の検出技術は、2017 年 8 月 11 日から 8 月 22 日の間にこの悪意のある活動を観測しました (図 10)。活動の多くは米国で観察され(図 11)、最も標的にされた業種は航空宇宙/防衛請負業者でした(図 12)。

日付別の DOC/XLS キャンペーンの悪意のある活動
図 10: 日付別の DOC/XLS キャンペーンの悪意のある活動
DOC/XLS キャンペーンの影響を受けた上位 10 か国
図 11: DOC/XLS キャンペーンの影響を受けた上位 10 か国
DOC/XLS キャンペーンの影響を受けた上位 10 業種
図 12: DOC/XLS キャンペーンの影響を受けた上位 10 業種

アーカイブキャンペーン

アーカイブ キャンペーンは、ZIP、RAR、ACE、ISO などのさまざまなアーカイブ形式を配信し、最大の配布量を占めました。それは、特徴的にビジネス関連であり、多くの場合、支払いまたは注文書に関する無数の件名を利用していました。

件名のサンプル

HSBC MT103 支払い確認 当社参照番号: HBCCTKF8003445VTC

MT103 支払いの確認 当社の参照番号: BCCMKE806868TSC カウンターパーティー:。

進む: お問い合わせ RFQ-18 H0018

Fw:送金確認

シャルジャのコブラ産業機械からの新規注文

PO。 NO.: 10701 – 見積もりを送ってください。

Re: bgcqtar プロジェクト

Re:August korea ORDER

注文書 #234579

August017の発注書

FireEye の検知技術は、2017 年 7 月 18 日から 8 月 17 日の間にこのキャンペーン活動を観測しました (図 13)。活動の多くは韓国と米国で観察され (図 14)、最も影響を受けたのは製造業でした (図 15)。

キャンペーンの悪意のあるアクティビティを日付別にアーカイブする
図 13: 日付別のアーカイブ キャンペーンの悪意のあるアクティビティ
アーカイブ キャンペーンの影響を受けた上位 10 か国
図 14: アーカイブ キャンペーンの影響を受けた上位 10 か国
アーカイブ キャンペーンの影響を受けた上位 10 業種
図 15: アーカイブ キャンペーンの影響を受けた上位 10 の業種

結論

FormBook は、その機能や配布メカニズムのいずれにおいても独自のものではありませんが、その比較的使いやすさ、手頃な価格体系、およびオープンな可用性により、FormBook はさまざまなスキル レベルのサイバー犯罪者にとって魅力的な選択肢となっています。ここ数週間、FormBook が NanoCore などの他のマルウェア ファミリをダウンロードしているのが確認されました。成功した FormBook 感染によって収集された資格情報やその他のデータは、個人情報の盗難、継続的なフィッシング操作、銀行詐欺、ゆすりなど、追加のサイバー犯罪活動に使用される可能性があります。

参照: https://www.mandiant.com/resources/blog/formbook-malware-distribution-campaigns

Comments

Copied title and URL