threat-research

認証をバイパスする中国人を狙った巧妙なトロイの木馬

FortiGuard Labsによる脅威分析レポート

はじめに

FortiGuard Labsは、WinRARファイル(cve-2018-20250)およびRTFファイル(cve-2017-11882)に存在する既知の脆弱性を悪用して通常の認証をバイパスするマルウェアにより、中国語を使うユーザーを標的にした新たな攻撃を発見しました。これは、中国語ユーザーを標的にした戦略的な水飲み場型攻撃であり、中国語のニュースサイトをハッキングすることでマルウェアを拡散しています。エンドユーザーコミュニティを絞り込むために、さまざまな手法やツールを使っている点で、実験的な攻撃という側面があると私達は分析してます。

このバックドアマルウェア攻撃は、2017年に発見されて以来、機能アップグレードを続けています。このブログ記事では、まずマルウェアの拡散方法、続いて機能、C2接続を分析し、開発の経緯を説明します。


中国語のニュースサイトのハッキング

ハッキングされた前述の中国語のニュースサイトは当初米国にあり、海外で生活する中国語ユーザー向けに中国のニュースを配信しています。この記事では、被害を受けたこのサイトを保護するため、サイトの特定が可能な関連情報はすべて伏せて表示します。またこれ以降、このサイトをvictim1(犠牲者1)と呼ぶことにします。

図1:赤枠:インジェクトされたWinRARエクスプロイトへのリンク青枠:偽のTwitterログインページへのリンク

図1:赤枠:インジェクトされたWinRARエクスプロイトへのリンク青枠:偽のTwitterログインページへのリンク

ハッキングされたサイトを初めて発見した時には、フィッシングリンクが既にインジェクトされていました。このリンクは、victim1の紹介情報に偽装しています。さらに、「Twitterに問い合わせ」リンクは、フィッシングのTwitterログインページでした。

また、victim1では、悪意のあるスクリプトが実行されています。

図2:victim1で実行されている悪意のあるスクリプト

図2:victim1で実行されている悪意のあるスクリプト

図3:難読化を解除したJSスクリプト

図3:難読化を解除したJSスクリプト

図3のJavaScriptスクリプトの正規化と難読化解除を行った結果、次のことが判明しました。まず、このスクリプトは、CookieデータをチェックしてWindowsシステムからのアクセスであることを確認します。次に、「___utma」が存在することをチェックします。これは、Google Analyticsでユーザーとセッションを区別するために使用されるCookieです。存在する場合、victim1への新規アクセスであることを意味しています。次に、hxxps://click.clickanalytics208[.]com/s_code.js?cid=239&v=243bcb3d3c0ba83d41fcからvictim1へと、スクリプトを動的にダウンロードします。このインジェクションにより、任意のJSスクリプトがURLから実行可能になります。また我々は、このURLに関連する偽のアップデートを示す分析レポートも発見しました。しかしながら、調査中このスクリプトによる攻撃は確認できませんでした。

詳しくは、こちらのレポートをご覧ください。


マルウェア分析

複数のエクスプロイトの悪用

攻撃は、脆弱性が存在するWinRARファイル(cve-2018-20250)を標的にしたエクスプロイトで始まります。このエクスプロイトにより、脆弱性が存在するRTFファイル(cve-2017-11882)のエクスプロイトが抽出されます。以下に、攻撃のフローを示します。

図4:WinRARエクスプロイト(cve-2018-20250)

図4:WinRARエクスプロイト(cve-2018-20250)

このバックドアマルウェアの感染経路は、2つあります。

  1. WinRAR(cve-2018-20250)エクスプロイトがバックドアを抽出

    この「.rar」ファイルは、実際には「.ace」ファイルです。図4で示す青枠がその解凍パスです。このファイルは、WinRARエクスプロイトを使用してconf.exeをスタートアップフォルダに抽出し、システムの起動時に実行可能にします。

    ただし、conf.exeが正しく抽出されるのはユーザー名が「test」である場合のみなので、ミスである可能性やテスト目的である可能性もあります。

    また興味深いことに、conf.exeは、悪名高い感染型マルウェアであるSalityに感染していることが判明しました。conf.exeを実行すると、conf.exe内のバックドアペイロードとSalityのシェルコードの両方が同時実行されます。

  2. RTF(cve-2017-11882)エクスプロイトがバックドアをダウンロード

    抽出された「.doc」ファイルは、実際には「.rtf」ファイルです。このファイルはMicrosoft Equation Editorをトリガーし、regsvr32.exeを実行して154.222.140[.]49に接続し、123.sctをダウンロードします。これは、次の段階で実行される悪意のあるスクリプトです。

    図5:RTFエクスプロイト(cve-2017-11882)

    図5:RTFエクスプロイト(cve-2017-11882)

    図6:次の段階のマルウェアをダウンロードするスクリプト「123.sct」

    図6:次の段階のマルウェアをダウンロードするスクリプト「123.sct」

123.sctスクリプトが実行されると、「hxxp://154.222.140[.]49/qq.exe」が「C:\\Windows\Temp\conf.exe」にダウンロードされます。conf.exeは、前のファイルとは異なり、Salityに感染していないマルウェアのバックドアです。

また、123.sctには、「hxxp://154.222.140[.]49/calc.exe」にアクセスする別のダウンロードスクリプトも見つかっています。これは、このURLを使用してクリーンなWindows 64ビットファイルをダウンロードするものであり、開発者が感染フロー全体をデバッグする際に使用した可能性があります。


Salityに感染したバックドア

Salityに感染したバックドアペイロードは、ダウンロードされたqq.exeと同じです。バックドアマルウェアコードとSalityコードは、いずれもマルウェアの実行時に動作されることがわかっています。また、このサンプルを実行すると、Sality C2サーバーからのさらなる動作は認められないものの、次の接続が検出されています。

図7:「オリジナル」のバックドア接続(グリーン)とSality感染による接続(赤)

図7:「オリジナル」のバックドア接続(グリーン)とSality感染による接続(赤)


バックドアペイロード

このセクションでは、バックドアペイロードについて詳しく分析します。この攻撃で検出された実行可能サンプル(ドロップおよびダウンロード)は、いずれも同じバックドア機能を持っています。実行すると、メモリの割り当てと悪意のあるDLLの動的ロードを行います。また、下図に示すように、3つのエクスポート関数が存在します。

図8:悪意のあるDLLのエクスポート関数

図8:悪意のあるDLLのエクスポート関数

デフォルトの「test.dll」は、マルウェアが開発中であることを示しています。

  1. DealC

    この関数は、システム情報を収集し、C2サーバーへ反復的に送信します。

  2. DealR

    この関数は、マルウェアをインストールします。インストールには2種類あります。1つは、マルウェアを「HKCU\Software\Classes\Folder\Shell\test\Command」に登録し、コピーしたマルウェアのショートカットをコンテキストメニューに追加するものです。もう1つは、マルウェアを「HKCU\Software\Microsoft\Windows\CurrentVersion\Run"に"[%PROGRAMDATA%]\Mpclient.exe」パスで永続的に登録するものです。興味深いことに、名前がkphonewiz(Kingsoft Phone Wizard)またはkminisite(Kingsoft Hot News Mini Site)かどうかをチェックしています。この2つは、Kingsoftが作成した中国語のソフトウェアの名称なので、ここからも、バックドアマルウェアが中国語ユーザーを標的にしていることがわかります。

    図9:この興味深い文字列は、マルウェアが中国語ユーザーを標的にしていることを示す

    図9:この興味深い文字列は、マルウェアが中国語ユーザーを標的にしていることを示す

  3. DealS

    DealSは、バックドアマルウェアの主な処理を実行する前にWindowsライブラリをロードします。これによってWindows APIコール機能アドレスを収集し、メモリ内に関数テーブルを生成します。特定のインデックスのシフトにより、ライブラリ名と関数名は、簡単な文字型テーブルを使ってすべてエンコードされます。

    図10:関数テーブルの生成と名前の文字列をデコードした関数

    図10:関数テーブルの生成と名前の文字列をデコードした関数

次に、レジストリ「Software\Microsoft\Windows\CurrentVersion\Run」ファイルから「[%PROGDATA%]/Destro」ファイルへと、インストールパスを保存します。


主な機能

このマルウェアは、システム情報の収集とC2サーバーへの情報送信を目的に設計されたステルス機能を備えています。また、ファイルをダウンロードし、さらなる攻撃を行うためのリバースシェルを生成することも可能です。

バックドア機能:

  • システム情報の収集
  • ディスクハードウェア情報の収集
  • 特定のディレクトリにあるディレクトリリストの収集
  • 特定のディレクトリにあるファイルリストの収集
  • インストール済みプログラムリストの収集
  • プロセスリストの収集
  • 各種アプリケーション(Skype、Fetion、SogouInput、SogouDesktopBarなど)からのデータ収集
  • ネットワークアダプタ情報の収集
  • ファイルの検索
  • スクリーンショットの収集
  • リバースシェルの生成
  • ファイルのダウンロード
  • 収集したファイルMD5ハッシュの取得
  • クリップボードテキストの収集
  • CPU情報の収集

C2接続の概要

このバックドアマルウェアは、C2 IPアドレスを固定のRVAアドレスから読み取ります。この攻撃Iでは、次のC2アドレスへの接続が試行されます。122.112.245[.]78.

図11:固定アドレスのC2 IP

図11:固定アドレスのC2 IP

このマルウェアには、ポート55556のTCPとポート8000のUDPという2つの接続タイプがあります。

図12 左:データ送信のデコードとチェック 右:C2接続プロトコルの設定

図12 左:データ送信のデコードとチェック 右:C2接続プロトコルの設定

では、図7のバックドアC2接続をチェックしてみましょう。

まず、マルウェアは360.cnに接続して100バイトのデータを読み取りますが、常に「404 Not Found」メッセージを取得します。図13は、コンテンツチェックを示しています。コンテンツの先頭5バイトは、「0x11 0x22 [Data] 0x33 0x44」のような内容になります。コンテンツチェックに合格するとデータは保存され、C2データヘッダーで使用されます。ただし、コンテンツチェックは常に失敗するため、このテストは無意味です。

図13:www.360.cn/status/getsign.aspへのコンテンツチェックに失敗

図13:www.360.cn/status/getsign.aspへのコンテンツチェックに失敗

次に、http://icanhazip.comに接続し、標的となるシステムのIPアドレスを取得します。この情報を収集した後、C2に接続して情報を送信し、さらなるコマンドを取得します。


データのRC4暗号化

バックドアのC2接続データでは、RC4による暗号化 / 復号が実行されます。使用される暗号キーはハードコードされています。

図14:RC4暗号化機能とRC4キー

図14:RC4暗号化機能とRC4キー

次に、カスタムヘッダーがデータヘッダーに挿入されます。さらに、RC4アルゴリズムによってデータは暗号化され、C2に送信されます。

図15:暗号化されたデータの例とRC4暗号化シグネチャチェック

図15:暗号化されたデータの例とRC4暗号化シグネチャチェック

ヘッダーの最初の8バイトは、定数値として割り当てられることがわかりました。ソースをさらに分析したところ、この値はマルウェアのRC4復号関数によってチェックされることが明らかになりました。チェックに失敗すると、データの復号は不要になります。これは、データ暗号化にRC4アルゴリズムを確実に使用するための方法です。そして、次の4バイトがMAC集計関数で生成されます。これは、標的の特定に使用される可能性があります。


C2接続:Content-Type

窃取されたデータや情報のタイプを区別するために、標的からC2サーバーへの接続データで「Content-Type」が使用されます。 C2サーバーからのコマンド取得 / 処理には、スレッドが使用されます。

このマルウェアには、次のContent-Typeが含まれることがわかりました。

図16:Content-Typeのリストとその特徴

図16:Content-Typeのリストとその特徴

図17は、Content-Typeの使用例をまとめています。コンテンツの説明には、別のヘッダーが使用されています。「time」は、データの生成された時間です。「ackfile」は、このデータの保存に使用されたファイルを意味します。「content-length」は、データ全体の長さを示しています。

図17:Content-Typeの使用例

図17:Content-Typeの使用例


C2接続:C2リクエストの処理

C2コマンドは、いくつかの手法を使って関数をトリガーし、リクエストを処理します。次の図は、監視対象のファイルタイプを変更するリクエストの例です。C2リクエストデータのオフセット0x0Dにある0x2E(図18の赤枠)を関数インデックスとして使用し、それに対応する関数を呼び出します。

図18:関数をトリガーするC2コマンドの使用例

図18:関数をトリガーするC2コマンドの使用例


バックドアの開発

このバックドアマルウェアは、2017年から使用されていることがわかっています。以下に、開発の時系列を示します。

図19:バックドア開発の時系列

図19:バックドア開発の時系列

このバックドアマルウェアで注目すべきは、標的を誘い込むために、常に中国語ネイティブのソフトウェア名を使用するという点です。当初は単純な実行ファイルでしたが、2018年にはDLLバージョンに変更されました。バックドアのDLLバージョンは暗号化され、ローダープログラムのデータセクションに保存されています。ローダーが実行されると、バックドアDLLが復号され、実行用にロードされます。

最新のサンプルは、"XLAccount.dll"という名前でロードされていることが判明しています。また、興味深い機能として、VPNツールの情報を収集する「Shadowsocks」が新たに追加されています。これは、グレートファイアウオール オブ チャイナ(万里の長城をもじった中国のインターネットネット規制の呼び方)を超える目的で、中国において使用されています。「XLAccount.dll」は、Xunlei Game Box(Xunleiが開発したWebゲームプラットフォーム)に含まれる既知のモジュールです。


まとめ

FortiGuard Labsは、中国語のニュースサイトのハッキングを中心とする攻撃を調査しました。攻撃者はニュースWebサイトをハッキングし、偽のリンクをインジェクトしています。またこのWebサイトには、フィッシングリンクもインジェクトされていました。この記事の作成時点では、悪意のあるスクリプトが動的にロードされ、動作しています。

この攻撃で使用されるバックドアマルウェアは2017年から活動を開始しており、サンプルでは通常の中国語のアプリケーション名が使用されています。この攻撃キャンペーンにおいて、バックドアマルウェアはcve-2018-20250とcve-2017-11882の2つの脆弱性を悪用し、バックドアを強制的にインストールします。このブログ記事ではマルウェアの機能とC2接続を分析しましたが、現在も開発が進行しており、さらなる情報やデータの収集を可能にする新機能が追加されています。

FortiGuard Labsは、このマルウェアの開発とそれに関連する攻撃について、引き続き監視を行う予定です。

-= FortiGuard Lion Team =-


ソリューション

フォーティネットを採用しているお客様は、以下のソリューションによって前述の悪意のある脅威から保護されています。

  • ファイルはFortiGuardアンチウイルスによって検知されます
  • 悪意のあるURLおよびフィッシングURLは、FortiGuard Webフィルタリングサービスによってブロックされます

IOC

WinRARエクスプロイトのサンプル:

bbf36d18436c8993d2c2dc3ee2095db6bb23ece287568ebb31040124733367ee -

MSOffice/CVE_2017_11882.A!exploit

RTFエクスプロイトのサンプル:

88d13e9bb6a644bf258b353afdf48bbd83c8490d01f16b9b3731bf4a62eb4b30 - MSOffice/CVE_2017_11882.A!exploit

123.sct:

4614b2f398d17fe231fd690eeb5b842ea5135a504ee3f464daacbe55d669c2c0 - VBS/Agent.NUC!tr.dldr

バックドアマルウェア:

7692617edaeb5598c8a3653c44ad85aca5cf61cd7effcd4ae88af1eb057d8f08 - W32/Malicious_Behavior.SBX
6dc753cd93e1e5f205676b545dd1b9f81277f17c147a2e1bb5692560154f3ab9 - W32/Sality.E
25a2dee5c5e9d537def7a9027a799815c5796fe7513978b0335ec46ea8ac6698 - GenericRXBJ.PX!tr
46043089b8242b8b0066f7694faad8d353be1e564df1a28831102038b08859f8 - W32/Generic.AC.3F15F3!tr
e326393f0609c91a1c83b1a53c8be050966bf0d2414d0156476c27762214c752 - W32/GenKryptik.CTVY!tr
a66ec1ab17f71659965edd7aa4187ef776ca730a8c19439533c14f80ff6b45a8 - W32/GenKryptik.DGHA!tr
93d3201a560b34613327af582c76bb08cea9e74d1e02f2915b76d901e0d0b98c - W32/GenKryptik.CANP!tr
db1b203f2d169afadf026d470bc2d462ec13cfdf6fa4f3e990a460570188080e - W32/Kryptik.GHFL!tr
1567b42c3f95faf9a67e9b698ad80c8192cc0382ede5b42412cb6f18ddf52d25 - W32/Agent.PHR!tr.spy
263a967112ee6eeb15503f4a8327bda58cebac4e8e565447f300483f8fe0179a - W32/Agent.PHR!tr.spy
18082e681361d6994ab39d8bd5615de5cceafce49fa29f4771fabe2b97f65fd0 - W32/Kryptik.GRIG!tr

C2 URL:

hxxp://154.222.140[.]49/123.sct - Malicious
hxxp://154.222.140[.]49/qq.exe - Malicious
hxxps://click.clickanalytics208[.]com/s_code.js?cid=239&v=243bcb3d3c0ba83d41fc - Malicious
122.112.245[.]78:8000 - Malicious
122.112.245[.]78:55556 - Malicious
218.31.126[.]140:8000 - Malicious
218.31.126[.]140:55556 - Malicious

フィッシングURL:

hxxps://www.twitter.hnwfj[.]com/login/ - Phishing

Sality C2 URL:

hxxp://althawry[.]org/images/xs.jpg?62ba3=3639483 - Malicious
hxxp://althawry[.]org/images/xs.jpg?68697=2993697 - Malicious
hxxp://www.careerdesk[.]org/images/xs.jpg?6b4db=2637090 - Malicious
hxxp://www.careerdesk[.]org/images/xs.jpg?63cf2=3679362 - Malicious
hxxp://arthur.niria[.]biz/xs.jpg?63d8b=1635884 - Malicious
hxxp://arthur.niria[.]biz/xs.jpg?6983e=3889710 - Malicious
hxxp://amsamex[.]com/xs.jpg?640d7=1229445 - Malicious
hxxp://amsamex[.]com/xs.jpg?6a441=3046855 - Malicious
hxxp://apple-pie[.]in/images/xs.jpg?6c18d=4427650 - Malicious
hxxp://apple-pie[.]in/images/xs.jpg?2ae562=28112340 - Malicious
hxxp://ahmediye[.]net/xs.jpg?67f06=4257340 - Malicious
hxxp://ahmediye[.]net/xs.jpg?6b69d=3959685 - Malicious
hxxp://ampyazilim.com[.]tr/images/xs2.jpg?67994=3394720 - Malicious
hxxp://g2.arrowhitech[.]com/xs.jpg?66deb=421355 - Malicious
hxxp://g2.arrowhitech[.]com/xs.jpg?6e6c8=2713776 - Malicious


FortiGuard LabsおよびFortiGuardセキュリティサービスのポートフォリオの詳細については、こちらをご覧ください。FortiGuard Labsは、脅威インテリジェンスブリーフ(英文)を毎週お届けしています。ぜひご購読ください。

セキュリティ監査とベストプラクティスを提供するFortiGuard セキュリティレーティングサービスについては、こちらをご参照ください。