北朝鮮のサイバー犯罪集団「Hidden Cobra」が新しくなったインプラント「Bankshot」でトルコの金融業界を狙う

2月28日、マカフィーのAdvanced Threat Research(ATR)チームは、北朝鮮のサイバー犯罪集団「Hidden Cobra」が仮想通貨や金融機関を狙う攻撃を継続していることを発見しました。今回の分析では、Hidden Cobraのマルウェア インプラント「Bankshot」が再び現れ、トルコの金融システムを攻撃したことが確認されました。コードの類似性、被害に遭ったビジネス部門、制御サーバー文字列の存在から、この攻撃は、世界的金融ネットワークである「SWIFT」を狙ったHidden Cobraによる過去の攻撃を彷彿させます。

今回新たに発見された激しい攻撃では、2017年を最後に確認されていなかったインプラント「Bankshot」が再び使われました。Bankshotは、その後に続く攻撃を展開するため、被害者のネットワークに長期潜伏できるようにデザインされています。このことから、今回の攻撃は、特定の金融機関への侵入が目的であると考えています。

マカフィーの分析によると、トルコの金融機関は、不正なMicrosoft Word文書に含まれるスピアフィッシングメールを介して攻撃されました。この文書には、先日、韓国インターネット振興院が発表したAdobe Flashエクスプロイトが組み込まれています。このエクスプロイトは、CVE-2018-4878を悪用し、攻撃者にインプラントなどの任意のコードを実行する術を与えます。

この攻撃の詳しい調査やマカフィーの製品テレメトリ分析から、感染は3月2日と3日に発生したことがわかりました。このインプラントの最初の標的は、大手国営金融機関でした。次は、トルコの金融や貿易に関わる政府機関が狙われました。さらに、トルコ国内の3つの大手金融機関が被害に遭いました。今のところ、このインプラントは、他の部門や国では確認されていません。この攻撃から、攻撃者はBankshotで情報を収集した後、これらの標的に強盗を仕掛けるつもりなのではないかと思われます。

インプラント「Bankshot」は、仮想通貨貸出プラットフォーム「Falcon Coin」と似た名前が含まれるドメインから配信されていますが、この正規の団体とは一切関係がありません。falcancoin.ioという不正ドメインは、2017年12月27日に作成され、インプラントが現れる数日前の2月19日に更新されていました。今回発見されたインプラントは、初期のBankshotの別バージョンです。攻撃者が被害者のシステムを完全支配できる遠隔アクセス ツールとして機能します。このインプラントには、存在の証拠を消したり、他の破壊攻撃を行うために、標的システムから自身のファイルやコンテンツをすべて抹消する機能も含まれています。Bankshotは、2017年12月13日に国防省によって初めて報告され、最近になって新たにコンパイルされた亜種が再び現れました。私たちが分析したサンプルは、2017年に文書化したBankshot亜種に99%類似しています。

falcancoin.ioでホストされるインプラント「Bankshot」

インプラント「Bankshot」は、Agreement.docxというファイル名の不正Word文書に添付されています。この文書は、パリに住む何者かと特定不能な仮想通貨取引所との間のビットコイン配信契約書テンプレートのようです。この文書の作成者は、test-pcとされています。2月26日に作成され、オランダから送信されていました。この文書には、CVE-2018-4878を利用し、falcancoin.ioからDLLインプラントをダウンロードの上、実行するFlashスクリプトが組み込まれています。

他にも韓国語で記述された2つの文書を発見しました。これらの文書も、Agreement.docxと同じ脆弱性を利用しています。同じ攻撃の一部と思われ、別の標的に使用された可能性があります。falcancoin.ioと通信してBankshotをインストールするだけでなく、中身も仮想通貨セキュリティ関連の内容でした。

これら2つのFlashファイルは、CVE-2018-4878を利用しています。

  • 843c17b06a3aee22447f021307909890b68828b9(2月25日)
  • 343ebca579bb888eb8ccb811f9b52280c72e484c(2月25日)

攻撃に使用された不正文書
CVE-2018-4878を利用した不正文書

これらのインプラントは、不正な文書に埋め込まれたFlashファイルを介してダウンロードされます。被害者が文書を閲覧すると実行されます。

Flashファイルに埋め込まれる不正サイト「falcancoin.io」
不正Flashファイルに含まれるインプラント ディレクトリ

このインプラント(DLL)は、ZIPファイルを装い、3つの制御サーバーと通信します。うち2つは、中国語のオンライン ギャンブル サイトです。これらのURLは、インプラントにハードコードされています。

ハードコードされた制御サーバーのURL

Bankshotの分析

a2e966edee45b30bb6bb5c978e55833eec169098はバックドアとして機能し、さまざまな機能が含まれるWindows DLLです。この不正なDLLにはServiceMain() が含まれていないため、サービスDLLではありません。その存在を隠すため、正規のプロセスにロードされる通常のライブラリとして実行できます。

このマルウェアはまず、DllMain() 関数から新規スレッドを作成し、攻撃を実行します。

マルウェアのDllMain() 関数で作成された新規スレッド

このマルウェアは、以下のタスクを行います。

  • APIを動的に読み込み、インポートを構築
  • 制御サーバーの通信に必要な文字列を解読
  • 制御サーバー通信を実行
  • 制御サーバーが発行したコマンドを処理
  • システムから自らをアンインストール

この不正なスレッドは、LoadLibrary() とGetProcAddress() を使い、実行開始時に必要なAPIを動的に読み込みます。以下のライブラリAPIがランタイムで読み込まれます。

•Kernel32.dll
•Ws2_32/wsock32.dll
•Apvapi32.dll
•Oleaut32.dll
•Iphlp.dll
•Urlmon.dll

マルウェアに読み込まれる動的API

2017年に確認されたインプラントのパケット キャプチャ分析によると、制御サーバーとの通信では以下の文字列が使用されています。

•Connection: keep-alive
•Cache-Control: max-age=0
•Accept: */*
•Content-Type: multipart/form-data; boundary=
•Content-Type: application/octet-stream
•Accept-Encoding: gzip,deflate,sdch
•Accept-Language: ko-KR -> Korean
•Content-Disposition: form-data;name=”board_id”
•Content-Disposition: form-data;name=”user_id”
•Content-Disposition: form-data;name=”file1″; filename=”img01_29.jpg”
•Content-Disposition: form-data;name=”file1″; filename=”my.doc”
•Content-Disposition: form-data;name=”file1″; filename=”pratice.pdf”
•Content-Disposition: form-data;name=”file1″; filename=”king.jpg”
•Content-Disposition: form-data;name=”file1″; filename=”dream.avi”
•Content-Disposition: form-data;name=”file1″; filename=”hp01.avi”
•Content-Disposition: form-data;name=”file1″; filename=”star.avi”

ユーザー エージェント

このインプラントは、Internet Explorerからユーザー エージェントをフェッチするか(ObtainUserAgentAsString() を使用)、マルウェアのバイナリで指定されるデフォルトのユーザー エージェント(Mozilla/5.0 (Windows NT 6.1; WOW64) Chrome/28.0.1500.95 Safari/537.36)を使用します。

制御サーバー通信

このマルウェアは、以下のような任意のHTTPデータを追加したHTTP POSTリクエストを制御サーバーに送り、このサーバーとの通信を開始します。

——FormBoundary<randomly_generated_characters>
Content-Disposition: form-data; name=”board_id”

8306
——FormBoundary<randomly_generated_characters>
Content-Disposition: form-data; name=”user_id”

*dJU!*JE&!M@UNQ@
——FormBoundary<randomly_generated_characters>
Content-Disposition: form-data; name=”file1″; filename=”king.jpg”
Content-Type: application/octet-stream

  • board_idは、攻撃IDの識別子となる4桁の数字です。過去のサンプルの分析から、これはユニークな識別子であることがわかりました。
  • user_idは、制御サーバーに送られるマルウェア バイナリにハードコードされる値です。このユーザー名は、指定される攻撃者の名前のようで、2017年のBankshotサンプルでも確認されています。過去のサンプルと今回のユニーク ユーザー名の関係性を示すものです。
  • filenameは、静的解析に基づきます。これは、マルウェア側でコマンド受信準備が整ったことを示す特定のビーコンのようです。

king.jpgが含まれている任意のHTTPデータは、マルウェアが新規コマンドを受け付けられるようになったことを制御サーバーに伝えるビーコンのようです。

  • 制御サーバーから、エンコードされたDWORDとしてコマンドを受信します。
  • デコードすると、これらのDWORDは123459hから123490hまでの値になるはずです。

受信したコマンドが適切な範囲内の値であるかを確認するマルウェア
コマンド インデックス計算と適切なコマンドへのジャンプ
コマンド インデックス表とコマンド ハンドラーのアドレス表
コマンド インデックス表とコマンド ハンドラーのアドレス表

インプラントの機能

制御サーバーから受け取ったレスポンスに基づき、このマルウェアは以下の不正タスクを実行することができます。

  • ディレクトリ内に一連のファイルを再帰的に作成し、制御サーバーに送信
  • 特定のプロセスを終了させる。このプロセスは、マルウェアにPIDを送る制御サーバーが特定
プロセスを終了させる機能
  • ネットワーク アドレスとオペレーティング システムのバージョンを収集
  • “cmd.exe /c” を使って任意のコマンドを実行

システム コマンドを実行する機能
任意のプロセスの作成

  • プロセスを作成する。
  • 制御サーバーからファイルにレスポンスを記述
  • すべてのドライブの情報を送信
  • %temp%\DWS00* というファイル パスのパターンと一致する暫定ファイルに、制御サーバーから送られたデータを保存
  • 制御サーバーが指定するファイルの時間を変更
ファイル名を変更するマルウェア
  • ログオン ユーザーを装い、プロセスを作成

WTSQueryUserTokenを使用し、ユーザー トークンを取得
ログイン ユーザーとして作成されたプロセス

  • すべてのプロセスのプロセス時間を収集
システムで実行しているすべてのプロセスの時間情報を取得
  • すべての実行中プロセスに基づき、ドメインとアカウント名を収集
実行中プロセスからアカウント情報を収集
  • 特定ファイルのコンテンツを読み取り、データを制御サーバーに送信
  • 制御サーバーから送られたデータを既存のファイルに保存
  • 再起動時にファイルが削除されるように設定
再起動時にファイルが削除されるように設定
  • すべてをゼロにしてファイルを上書きし、再起動時に削除されるように設定
ゼロに設定してファイルを消し、再起動時に削除されるように設定
  • DeleteFile() APIでファイルを削除する。
  • プロセス スペースに任意のライブラリを読み込む。ダウンロードされた他の攻撃要素を読み込むために使われる可能性があります。
任意のライブラリを独自のプロセス スペースに読み込む

全ての動作を完了すると、このマルウェアはタスクの成功有無を伝えるレスポンスを制御サーバーに送ります。

関係性

米国政府の報告によると、Bankshotは、Hidden Cobraが金融機関を含む複数の業界を標的として使用しているインプラントです。韓国で発生した大規模な銀行攻撃と関係があり、「Trojan Manuscript」とも呼ばれています。この亜種にはSWIFTネットワークに関わるホストを探す機能や、私たちが見つけた亜種と同じトルコの金融部門を狙う制御サーバーが含まれていました。このインプラントは金融取引を行いませんが、被害者環境への侵入経路として、金融情報の偵察を目的として後続の攻撃段階を展開させることができます。インプラント「Bankshot」は、2017年にも南米の銀行からを装う文書の中で発見されました。

2017年に発見されたBankshotインプラントを含む不正文書

こうした関係性や、既知の亜種とほぼ同じ形態であることから、このインプラントはHidden Cobraの攻撃であることが強く疑われます。さらに、2017年のインプラントには、金融関連の内容が記載された偽造文書が含まれていました。

ハッシュ値: 12c786c490366727cf7279fc141921d8とハッシュ値: 6de6a0df263ecd2d71a92597b2362f2c(2017年11月20日)のコード比較

結論

将来的に、トルコ(に限られないかもしれません)の金融機関に強盗を働く前のデータ収集段階の攻撃と疑われる脅威を発見しました。今回の攻撃は、最近発生したゼロデイAdobe Flash脆弱性を利用し、被害者のシステムにインプラントを侵入させています。

この攻撃は、Flashにパッチを適用していない被害者にとても効果的でした。Flashエクスプロイトを含む文書が何らかの方法で静的防御を回避し、VirusTotalのエクスプロイトとしての検知を逃れています。これは、Bankshotが金融関連のハッキングに直接関わった初の攻撃で、2017年11月以降、初めて確認されました。

マカフィーは、以下のとおりに、これらの脅威を検知しています。

  • RDN/Generic Exploit
  • RDN/Generic.dx
  • Generic PWS.y
  • hbg
  • Exploit-CVE2018-4878

マカフィーのユーザーは、これらのURLを高リスクとして分類しているMcAfee Global Threat IntelligenceのWeb Reputationで守られています。

攻撃の兆候

MITRE ATT&CK技法

  • C&C経路からのデータ抽出
  • 一般的なポート
  • コマンドライン インターフェース
  • サービス実行
  • 自動収集
  • ローカル システムのデータ
  • プロセスの発見
  • システム時間の発見
  • 認証情報のダンピング
  • 脆弱性の利用
  • プロセスの注入
  • ファイルの削除

 ハッシュ値

  • 650b7d25f4ed87490f8467eb48e0443fb244a8c4
  • 65e7d2338735ec04fd9692d020298e5a7953fd8d
  • 166e8c643a4db0df6ffd6e3ab536b3de9edc9fb7
  • a2e966edee45b30bb6bb5c978e55833eec169098

 ドメイン

  • 530hr[dot]com/data/common.php
  • 028xmz[dot]com/include/common.php
  • 168wangpi[dot]com/include/charset.php
  • Falcancoin[dot]io

※本ページの内容は、2018年3月8日更新のMcAfee Blogの内容です。
原文: Hidden Cobra Targets Turkish Financial Sector With New Bankshot Implant
著者: Ryan Sherstobitoff