「COBALT」再来:マクロか脆弱性を利用する2通りの標的型メール攻撃、ロシアの金融機関も対象

「COBALT」再来:マクロか脆弱性を利用する2通りの標的型メール攻撃、ロシアの金融機関も対象

トレンドマイクロは、ロシア語を使う企業を狙いバックドア型マルウェアを送り込む標的型メールの送信活動を 2017年6月から7月にかけて確認し、報告しました。そして今回、その攻撃は、実際には大きな攻撃キャンペーンの序盤であったことが判明しました。攻撃者は、利用されている技術から、ハッカー集団「COBALT(コバルト)」であると考えられています。最近の COBALT による標的型メールには、マクロを利用したものと脆弱性を利用したもの、2つの手法が確認されています。さらに、ソーシャルエンジニアリングによって、Eメールを受信した銀行員が緊急感を持つように細工されていました。

「COBALT」という名称は、「Metasploit」に類似した多機能ペネトレーション・テスト・ツールである「Cobalt Strike」に因んで名付けられました。一例として彼らは、Cobalt Strike を利用しヨーロッパ全体、特にロシアの金融機関の ATMを狙ったサイバー銀行強盗を実行しました。取り締まりが厳しいことで知られるロシア語圏の法執行機関による監視から逃れようとする他の集団とは異なり、COBALT は、その攻撃パターンから、新しいマルウェアと新技術を試す「試験場」としてロシアの銀行を利用していると推察されます。彼らは試験に成功した場合に他国の金融機関を攻撃します。この手法は、別のサイバー犯罪集団「LURK(ラーク)」の戦術と共通しています。

ロシア以外の国で COBALT による攻撃が確認されたのは、最初の標的型メールの送信活動ではスロベニアの銀行、そして 2回目では、アゼルバイジャン、ベラルーシ、スペインの金融機関でした。

■配役と手法を変えた COBALT

最近の COBALTの活動からは、以前の標的型メールによる攻撃(スピアフィッシング)やその他のサイバー犯罪活動と比べて、異なる脆弱性「CVE-2017-8759」を利用する他にも、Eメールの送信先や偽装する送信元に明確な変化が確認できます。以前利用されていたのは、銀行顧客などのエンドユーザにスパムメールを送信する方法でしたが、現在は、標的とする金融機関に対して直接送信されています。また、以前は正規の企業の販売部門や経理部門から送信された Eメールに偽装していましたが、現在は、標的とする銀行などの顧客、あるいはモスクワ仲裁裁判所、さらには詐欺対策サービスやセキュリティ企業を装い、「インターネット接続がブロックされました」という内容の通知を標的ユーザに送信します。

COBALT はまた、手法も変化させました。2017年8月31日に最初に実行された標的型メールの送信活動では、不正なマクロが含まれたリッチテキスト形式(RTF)の文書が利用されました。同年9月20日から 21日にかけて実行された 2回目の送信活動では、Microsoft .NET Framework におけるリモートでコードが実行される脆弱性「CVE-2017-8759」が利用されました。なお、この脆弱性は 2017年9月13日(日本時間)公開のセキュリティ更新プログラムで対処済みです。COBALT は、この脆弱性を利用することによって、自身のリモートサーバから Cobalt Strike をダウンロードし実行することを可能にしました。トレンドマイクロはまた、サイバー諜報活動集団「ChessMaster」のように、後に同じ脆弱性を利用した攻撃者を確認しています。

図1は、COBALTの標的型メールの例です。

図1
図1:不正なマクロが埋め込まれた RTF文書(拡張子「DOC」)が添付された標的型メール

■マクロを利用した攻撃方法

図2は、マクロを利用した攻撃フローです。

図2
図2:最近の COBALT の攻撃に確認された、不正なマクロを利用した標的型メール

メールに添付された RTFファイルには、不正なマクロコードが含まれています。マクロコードは PowerShellコマンドによって、「ダイナミックリンクライブラリ(Dynamic Link Library、DLL)」ファイルをダウンロードし、次に「Microsoft Data Access Components(MDAC)」のコマンドラインツール ”odbcconf.exe” を利用して DLLファイルを実行します。DLLファイルは JScript を感染PC にロードし、もう1つのコマンドラインツール ”regsvr32.exe” を利用して実行します。さらにこの JScript は、同じ ”regsvr32.exe” を利用してもう1つの JScript をダウンロードして、実行します。次にこの JScript は、リモートサーバに接続し、バックドア経由のコマンドを待機します。トレンドマイクロは、解析中、hxxps://5[.]135[.]237[.]216[/]RLxF から Cobalt Strike をダウンロードする PowerShellコマンドを受信しました。最終的には、COBALT のコマンド&コントロール(C&C)サーバ5[.]135[.]237[.]216[:]443 に接続を試みます。この C&Cサーバはフランスに所在することが確認されています。

図3
図3:「コンテンツを有効にする」よう促す不正な RTFファイル(左)と、ユーザがクリックしてマクロが実行された場合表示される画面(右)

この攻撃フローの手順を説明すると以下のようになります。

まず、ユーザが文書の「コンテンツを有効にする」をクリックします。するとマクロコードが実行され、ユーザのPCが 64ビットであるかどうかをチェックします。次に PowerShellコマンドを復号して実行し、文書内の画像を削除し、そこに “Call me” と書き込みます。PowerShellコマンドは、hxxp://visa[-]fraud[-]monitoring[.]com[/]t[.]dllから DLLファイルをダウンロードし、感染PC に保存し、コマンド odbcconf.exe /S /A {REGSVR “”C:\Users\Public\file.dll””} を利用して実行します。DLLファイルは、JScript が埋め込まれた Windows スクリプト コンポーネントファイル(拡張子「SCT」)を感染PC にロードします。SCTファイルには拡張子「TXT」が加えられ、ランダムな名前で<AppData>フォルダに保存されます。

図4
図4
図4:マクロコード(上)と、”regsvr32.exe” を利用しSCTファイルを実行する DLLファイル(下)

SCTファイルは、感染PC がインターネットに接続されているかどうかをチェックします。 接続されている場合、リモートサーバからバックドア型マルウェアをダウンロードして実行します。

図4
図5:リモートサーバからダウンロードされるファイルは、実はバックドア型マルウェア

バックドアのコマンドには以下のものが含まれます。

  • d&exec – PEファイルをダウンロードして実行する
  • more_eggs – 追加のスクリプトをダウンロードする
  • gtfo – ファイルおよびスタートアップエントリを削除して終了する
  • more_onion – 追加のスクリプトを実行する
  • more_power – コマンドシェルコマンドを実行する

■脆弱性「CVE-2017-8759」を利用した攻撃方法

2回目の標的型メール送信活動で利用された RTF添付ファイルには、脆弱性「CVE-2017-8759」が利用されました。リモートサーバからは、指定された「Simple Object Access Protocol(SOAP)」と「Web Services Description Language (WSDL)」の定義がダウンロードされ、メモリに注入されます。Cobalt Strike をダウンロードするためのコードが含まれており、次に Cobalt Strike は C&Cサーバ86[.]106[.]131[.]207 に接続してコマンドを待ちます。

図6
図6:脆弱性「CVE-2017-8759」を利用する攻撃

図7
図7:添付ファイルには、脆弱性「CVE-2017-8759」のエクスプロイトコードが含まれている

同じエクスプロイトコードを利用した方法が、情報窃取型マルウェア「FINSPY(フィンスパイ)」にも採用されていました。COBALT の場合では、SOAP moniker が RTFファイルに埋め込まれており、hxxp://servicecentrum[.]info[/]test[.]xml から不正な SOAP WSDL定義を取得し、CVE-2017-8759の悪用が可能になっています。この Extensible Markup Language(XML)ファイルの内容が解析され、ソースファイル(拡張子「CS」)が生成されます。それから、Microsoft Officeがライブラリとして読み込む.NET Framework によってコンパイルされます。

感染PC のアーキテクチャに応じて、ライブラリがコードを注入し、不正活動を実行するマルウェアをダウンロードして実行します。32ビットアーキテクチャのためのマルウェアは「ZxT6」、64ビットでは「MZBt」と名付けられています。最終目標は、C&Cサーバ86[.]106[.]131[.]207に接続することで、このサーバはドイツにあることが確認されまています。最後に送り込まれるマルウェアは、Cobalt Strike のコンポーネントである DLLファイルです。DLLファイルは86[.]106[.]131[.]207[:]443に接続し、さらなるコマンドを待機します。

図8は、攻撃者が感染PCに 接触をした時、ダッシュボードに表示される画面の例です。

図8
図8:さまざまな攻撃者によって利用される Cobalt Strike のダッシュボード

■被害に遭わないためには

多くのセキュリティ対策技術において最新の検出メカニズムが採用されている一方で、サイバー犯罪者も遅れをとることなく新しい回避技術を利用します。COBALT の攻撃では、不正なコードがホワイトリスト方式による検出を回避するための方法として、正規のWindows のプログラムやツールが悪用されています。

今回解説した、ハッカー集団 COBALT のような脅威から組織や企業を保護するために、以下のベストプラクティスに従うことができます。

■トレンドマイクロの対策

クロスジェネレーションで進化を続ける「XGen™セキュリティ」は、AI 技術をはじめとする先進技術と実績の高いスレットインテリジェンスを融合した防御アプローチにより、データを保管するサーバ、データを交換するネットワーク、データを利用するユーザの各レイヤーで最適化されたセキュリティを提供します。Web/URLフィルタリング、挙動解析、カスタムサンドボックスのような機能を備えたクロスジェネレーション(XGen)セキュリティアプローチは、既知または未知/未公開の脆弱性を狙い、個人情報の窃取や暗号化などをする脅威をブロックします。XGen は Hybrid Cloud Security エンドポイントセキュリティ、そして Network Defense に組み込まれています。

■侵入の痕跡(Indicators of Compromise、IoCs)

●不正なマクロコードを利用する標的型メール送信活動に関連するハッシュ(SHA256値):

「W2KM_CALLEM.ZGEI-A」として検出されるEメールの添付ファイル(RTFファイル):

  • ccb1fa5cdbc402b912b01a1838c1f13e95e9392b3ab6cc5f28277c012b0759f9
  • dcad7f5135ffa5e98067b46feec2563be8c67934eb3b14ef1aad8ff7fe0892c5

「TROJ_DROPFCKJS.ZHEI-A」として検出される不正なDLLファイル

  • dab05e284a9cbc89d263798bae40c9633ff501e19568c2ca21ada58e90d66891

「35CE74A54720.txt)」 「 JS_NAKJS.ZGEI-A」として検出される不正なJScript ファイル

  • 2b4760b5bbe982a7e26af4ee618f8f2dcc67dfe0211f852bf549db457acd262c

「README.TXT)」、「JS_GETFO.ZIEI-A」として検出される不正なTXT ファイル

  • e9ab3195f3a974861aa1135862f6c24df1d7f5820e8c2ac6e61a1a5096457fc3

「BKDR_COBALT.ZHEJ-Aとして検出れるバックドア型マルウェア ”RLxF”

  • 0dedb345d90dbba7e83b2d618c93d701ed9e9037aa3b7c7c58b62e53dab7d2ce

● 脆弱性「CVE-2017-8759」を利用する標的型メール送信活動に関連するハッシュ(SHA256値):

「TROJ_MDROP.ZHEI-A」として検出される添付ファイル(RTFファイル)

  • eb4325ef1cbfba85b35eec3204e7f79e4703bb706d5431a914b13288dcf1d598
  • a0292cc74ef005b2e5e0889d1fc1711f07688b93b16ebc3174895d7752a16a23
  • 94155a2940a1d49a92a602a5232f156eeb1d35018847edb9c6002cefe4c49f94
  • 69e55d2e3207e29d9efc806ff36f13cd49fb92f7c12f0145f867674b559734a3

「TROJ_CVE20178759.ZIEI-A」として検出される不正なXML ファイル ”test.xml”

  • 0f5c5d07ed0508875330a0cb89ba3f88c58f92d5b1536d20190df1e00ebd3d91

「BKDR_COBALT.ZIEI-A」として検出されるバックドア型マルウェア “ZxT6”

  • 9d9d1c246ba83a646dd9537d665344d6a611e7a279dcfe288a377840c31fe89c

「BKDR64_COBALT.ZIEI-A」として検出されるバックドア型マルウェア “MZBt”

  • e78e800bc259a46d51a866581dcdc7ad2d05da1fa38841a5ba534a43a8393ce9

関連する不正な URL:

  • hxxp://visa-fraud-monitoring[.]com/t[.]dll
  • hxxps://webmail[.]microsoft[.]org[.]kz/portal/readme[.]txt
  • hxxps://webmail[.]microsoft[.]org[.]kz/portal/ajax[.]php
  • hxxp://servicecentrum[.]info/test[.]xml
  • hxxps://5[.]135[.]237[.]216[/]RLxF
  • hxxps://86[.]106[.]131[.]207[/]ZxT6
  • hxxps://86[.]106[.]131[.]207[/]MZB

参考記事:

翻訳:室賀 美和(Core Technology Marketing, TrendLabs)