ロシア製でないマトリョーシカ: ロシアのサービスセンターが攻撃を受ける

FortiGuardの社内用脅威インテリジェンスプラットフォーム(Kadena)のおかげで、FortiGuard Labsはロシアのサービスセンターを標的とした一連の攻撃を発見しました。これらのサービスセンターは、様々な電子製品に対する保守サービスやサポートを提供しています。

攻撃の顕著な特徴として挙げられるのが、段階式になっている点です。これらの攻撃では偽のEメールや、17年前からの脆弱性を狙うエクスプロイトを備えた悪意あるOffice文書、5層で構成される保護用パッカーに組み込まれた市販の遠隔操作ツール(RAT)が使用されています。

今回の記事では、攻撃の全段階を見ていきます。同じグループが実行している別の攻撃とのつながりも探りたいと思います。記事の最後にはIOCのセクションも設けました。


スピアフィッシングEメール

3月末、電子機器の修理やアフターサービスを行っているロシアの某サービス会社が、いくつかのEメールを受信しました。これらのEメールはサムスンの担当者からであることを装っていました。下の図がEメールの一例です。

これらのEメールは計画的な標的型攻撃の出発点であり、無作為の大規模な攻撃キャンペーンの一環ではないと私たちは考えています。結論にいたった理由を挙げてみましょう。

  • Eメールはサムスンの電子機器の修理を行うサービス会社に送られた
  • この会社はロシアに拠点を置き、Eメールはロシア語で書かれており、「From」欄にはロシアの名前が入っていた
  • 送信者はサムスンの担当者であることを名乗っている
  • Eメールには標的とされた企業の概要に関連する、Symptom_and_repair_code_list.xlsxというファイルが含まれている

Figure 1. A Part of the email sample. Exploit file is attached

図1. Eメールサンプルの一部。エクスプロイトファイルが添付されている

Eメールをじっくり調べてみた結果、この文章はロシア語を母語とする人が書いた可能性は低く、おそらく機械翻訳されたものという結論に達しました。攻撃者たちはロシアの企業を標的としたものの、ロシア語は話せないと想定できます。

Eメールのヘッダーも分析してみました。SPFの認証結果はsoftfailとなっています。つまり、送信者のIPアドレスは「From」欄のドメインと関連がないことになります。

Figure 2. Sender Policy Framework soft-fail

図2. センダーポリシーフレームワークのsoft-fail

見つけたEメールにはすべて異なるファイルが添付されていたのですが、これらには共通するパターンがありました。添付ファイルはすべて.XLSX形式になっており、どれも正規のものに見えます。下の図はファイルの中身の一例です。

Figure 3. Content of the one of the .xlsx exploits

図3. .xlsx形式のエクスプロイトの1つの中身

もう1つ、サンプルに共通する特長があります。すべてにエクスプロイトが含まれていたのです。これについては、次のセクションで詳細を述べたいと思います。

ちなみに、悪意のある文書のなかには、下図のようなプリンタ設定の文字列が入っています。

Figure 4. PrinterSettings1.bin from the malicious sample

図4. 悪意のあるサンプル内のPrinterSettings1.bin

調べた結果、文字列はこれらのファイルのソースに関連するものであり、攻撃者のものではないという結論に達しました。しかし、文字列のIPはおそらく、これらの文書が最初に作成された組織に関連するものです。文書内のプリンタはすべてサムスン製でした。攻撃者は後からこれらを改変し、エクスプロイトを入れ込んだのです。

これらの怪しい文書で動的テストをしている最中に、eqnedt32.exeの不正なアクティビティが記録されました。そこで、CVE-2017-11882が使用されている疑いが持ち上がりました。後に、新しいサンプルのすべてが同じ脆弱性CVE-2017-11882のエクスプロイトであることが判明しました。この脆弱性は現在のあらゆるWindowsプラットフォームに入ることができる安定したものであるため、マルウェアの作成者は気に入っているのでしょう。「eqnedt32.exe」というコンポーネントが17年間更新されていないのが、その理由です。

このコンポーネントは非常に古いため、リサーチャーのなかにはMicrosoftがeqnedt32.exeのソースコードをなくし、脆弱性を修正するのに既存の実行可能ファイルのバイナリパッチをする必要があったのではと考える人もいますEMBEDI.comで公開されている記事(英文)では、この脆弱性に関するより詳細な分析をご覧いただけます。

Figure 5. Malicious activity of the eqnedt32.ex

図5. eqnedt32.exeの不正なアクティビティ


シェルコードの分析

今回のシェルコードは、位置独立コード(PIC)の標準的なタスクを解決するのに使用されています。

  • 本文の残りの部分の非暗号化を行う
  • kernel32.dllのアドレスを決定する
  • kernel32.dllのエクスポートディレクトリのパースを行い、LoadLibraryAGetProcAddressという2つの関数のアドレスの位置を特定する。この2つの関数を使って、ペイロードの実行に必要な関数にアクセスできるようになる。
  • LoadLibraryAGetProcAddressを使い、必要な他の関数のアドレスを入手する。この場合、興味深いことに「hashing names」のテクニックは使用されていない。つまり、シェルコードの作成者は実際にはコードサイズに制限されていなかったため、プレーンテキストに関数名を保存する「余裕があった」ことになる。
  • シェルコードが「インポート」した2つの最も重要な関数は、URLDownloadToFileWExpandEnvironmentStringsW
  • 1つ目の目的は明らか。2つ目の関数はダウンロードしたペイロードをシェルコードが保存すべき正確な位置を決定するのに使用される。位置がプラットフォームにより異なるのがその理由。
  • 最後に、このシェルコードはhxxp://brrange.com/imm.exeというURLからファイルをダウンロードし、それを%APPDATA%server.exeに保存し、実行を試みる。

Figure 6. Shellcode: obtaining an address of URLDownloadToFileW

図6. シェルコード: URLDownloadToFileWのアドレスを取得


ペイロードの分析

今回の記事では、悪意のあるURL、Brrange[.]com/imm.exeからダウンロードされたペイロードの1つを分析してみることにしました。

そのプロセスが上の図5になります。参考までに、分析したサンプルのSHA-256チェックサムは、975ddf75491e3f482a7d7941e4fd33fb98e4daf339f57a4c7843fd2b375c199bでした。


ペイロードの解凍

不正な関数を分析する前に、サンプルを解凍する必要があります。サンプルは多層かつ複数のパッカーにより保護されています。

第1段階: ConfuserEx

1層目の保護は、有名なConfuserExというパッカーです。このパッカーはオブジェクト名、メソッドやリソースの名前を難読化し、人間による解読、理解を困難にしています。また、ConfuserExには多くのケースジャンプが含まれており、実行のワークフローを変えるのに使用されます。従って、静的分析だけでは、コードのどの部分が次に実行されるのかを予測するのは困難です。

Figure 7. ConfuserEX: Obfuscated code of the sample

図7. ConfuserEX: サンプルの難読化されたコード

サンプルの自己解凍プロセスの一般的なワークフローは以下の通りです。

  • 「パディング」の記号を削除し、リソース名を復号。例えば、「ADAeAmAasAAuAAAAAsLAoAtAAaAAAsAiAAAAtAAAAAAAAoAAAAA」の文字列から大文字の「A」をすべて削除すると、「DemasusLotasito」が得られる。
  • 復号した名前のリソースから、バイトのBLOBを読み込み、配列を形成。この配列がペイロードの次の段階となっており、これはDES暗号で暗号化されている。
  • ペイロードの復号のため、パッカーは以下のパラメータでDES.decryptorを初期化。
    KEY: 0x59, 0x2F, 0x55, 0x3D, 0x17, 0x4A, 0x55, 0x10
    IV: 0x4A, 0x59, 0x36, 0x0D, 0x60, 0x59, 0x4A, 0x55

    Figure 8. ConfuserEX: Payload decryption

    図8. ConfuserEX: ペイロードの復号

  • 最後に、リソースの復号を行い、復号したファイルを実行。下の図は、「sender2」という配列の内部。DOSヘッダーのMZマジック値である0x4D, 0x5Aで始まっている。ここでは、復号したファイルの名前は「BootstrapCS」になっている。これについて次のセクションで分析します。

    Figure 9. ConfuserEX: Running the next stage of the Payload

    図9. ConfuserEX: ペイロードの次の段階を実行


第2段階: BootstrapCS

BootstrapCSは多層保護の第2段階における実行可能ファイルの内部名です。この層は難読化されていませんが、アンチウイルスチェックが数多く含まれています。どのチェックが行われるべきかは、リソース部分の「settings」構造によって決定されます(下の図を参照)。mainfileというバイナリリソースがあるのにお気付きかと思いますが、これはペイロードの暗号化された第3段階です。

Figure 10. Resource section of the BootstrapCS

図10. BootstrapCS.のリソース部分

このモジュールの主なアンチアナリシス機能:

  1. エミュレーション、サンドボックス、仮想マシンに対し様々なチェックを実行
    1. 「SbieDLL.dll」をチェック
    2. 「Win32_VideoController object」の記述にある特定の値をチェック
      • VMware
      • VM additions S3 trio32/64
      • S3 trio32/64
      • VirtualBox graphics adapter
      • VMware SVGA II
  2. 指定したプロセスを検索し、シャットダウン
    1. Fiddler Web Debugger
    2. WPE PRO
    3. Wiresharkネットワークアナライザー
  3. システムユーティリティを無効化
    1. コマンドプロンプト
    2. レジストリエディタ
    3. タスクマネージャー
    4. ユーザーアクセス制御(UAC)
  4. 以下のスタートアップレジストリキーに、ペイロードのパスを書き込む
    1. HKLM\Software\Microsoft\Windows\CurrentVersion\Run\[Specified Name]
    2. HKCU\Software\Microsoft\Windows\CurrentVersion\Run\[Specified Name]
  5. システム属性と隠し属性をファイルに割り当て、ファイルを隠す
  6. 様々なプロセスにペイロードを注入
    1. Vbc.exe
    2. RegAsm.exe
    3. AppLaunch.exe
    4. Svchost.exe
    5. Notepad.exe
    6. Current process

解凍の手順:

「settings」リソースのなかにバイナリがあり、「mainfile」という名前のものが暗号化された実行可能ファイルです。これが圧縮保護の第3段階です。ここで使用されている暗号スキームはKEY = 0x20のシンプルなXORアルゴリズムです。

Figure 11. Decrypting the Payload

図11. ペイロードを復号

復号の後、「settings 」リソースのファイルの値に基づき、ペイロードがプロセスの1つに注入されます。

Figure 12. Possible injection targets

図12. 注入される可能性のある対象


第3段階: 7Zip

復号したペイロード「mainFile」を見てみると、内部名は「im3.exe」となっており、リソースの中に「application」と「_7z」という2つの項目があります。「Imminent-Monitor-Client-Watermark」という興味深い行もあります。

Figure 13. Internals of the

図13. 「im3.exe」の内部

ここには以下の情報が含まれています。

Figure 14. The developer's watermark

図14. 開発者のウォーターマーク

ここに入っているドメイン「imminentmethods.net」を調べてみると、「Imminent Monitor」という市販の遠隔操作ツール(RAT)の公式ウェブサイトであることがわかりました。

誰でもライセンスを購入し、サーバーを設置し、独自のクライアントスタブを構築できます。このツールの開発者たちは、悪意を持ってツールを使用するのを禁止すると、ポリシーではっきりと述べています。おそらく、このウォーターマークを入れているのは、悪意のあるキャンペーンにおいて、このツールがペイロードとして利用されないようにするためでしょう。

ウォーターマークは、Imminent Monitorソフトウェアのバージョン4.4のコードに含まれています。この記事を書いている時点では、公開されているバージョンでクラックされたものは3.9と4.1しかありません。従って、ライセンスを正式に購入した人物が、コンパイルも行った可能性がありますが、はっきりと断言できません。

ファイルの分析をさらに進めると、「application」となっているリソースを解凍する必要が出てきました。解凍手順としては7zipの正規の「lzma.dll」ライブラリを使用します。

Figure 15. Unpacking im3 internals

図15. Im3の内部を解凍


第4段階: ConfuserEx?

この段階で遭遇したのは、なんと、またもやConfuserExでした。

しかも今回はリックロール(釣り動画)です。

Figure 16. Rick-Rolling URL in the ConfuserEX

図16. ConfuserEXのリックロール用URL

残念なことに、すでに動画はTwenty Century Foxによって著作権侵害が報告され、アクセスできませんでした。

Figure 17. Rickrolling attempt ...fails

図17. リックロール、失敗


RATの分析

これはImminent Monitorという RATの市販されているバージョンです。私たちの手元にあるバージョンのIMMは5つのモジュールで構成されています。

  • Aforge.Video.DirectShow 2.2.5.0
  • Aforge.Video 2.2.5.0
  • Injector 1.0.0.0
  • ClientPlugin 1.0.0.0
  • LZLoader 1.0.0.0

最初の2つのモジュールは、被害者のウェブカメラから録画することができます。あとの3つには、様々なスパイ&コントロール機能が含まれています。IMM機能の一覧は、公式ウェブサイトでご覧いただけますので、ここでは省きます。

私たちが行った動的解析によると、侵害の兆候(IOC)は次のフォルダにあります。

%AppData%\Roaming\Imminent\

Figure 18. Filesystem activity of the Imminent Monitor

図18. Imminent Monitorのファイルシステムのアクティビティ


関連する攻撃とのつながり

これらの攻撃で使われたC2サーバーも分析してみました。レジストラントのデータに基づき、同じ日に登録された50のドメインを発見しました。これらのドメインのなかには、すでにマルウェアの拡散に使用されたものもあります。フィッシングキャンペーンには別のグループも関連していました。これらのドメインは現在、フォーティネットのWebフィルタでブロックしています。ドメイン一覧は、記事の最後にあるIOCのセクションでご覧いただけます。

また、私たちが集めたサンプルの中で検索してみたところ、攻撃のサンプルと同じC2サーバーを使用する.XLSXサンプルがいくつか見つかりました。これらは以前からあるもので、違う脆弱性を使用します。どちらのサンプル群も、同一の攻撃者グループによるものと考えられます。サンプルの一覧も、IOCのセクションでご覧いただけます。


結論

FortiGuard Labsは、ロシアのサービスセンターを標的とした多段階攻撃を発見しました。これらの攻撃パターンは現在、かなり一般的になってきています。シンプルな実行可能ファイルよりも、エクスプロイトを使用したほうが高効率なのです。その理由は、脅威に対するユーザーの意識レベルが近年、大幅に高まっているからです。以前のように、ユーザーをだまして実行可能ファイルを開かせるのは容易ではありません。エクスプロイトはまた別の話です。

ワークフローのなかで、外部ソースからのMS Office文書を開くよう要求されたら、最も確実なセキュリティソリューションは、サンドボックステクノロジーに頼ることでしょう。例えばFortiSandboxは、未知の脆弱性につけ入る試みも検知可能です。皆さんの組織にFortiSandboxによる保護が導入されていて、未知のソースからのMS文書を受け取ったら、すぐに開かないようにしましょう。3~5分待ってください。悪意のあるファイルであれば、サンドボックス実行中にファイルが検知され、特殊シグネチャがリリースされ、FortiClientからサンプルに関して警告が送信されます。FortiSandboxと一緒にFortiMailも導入していれば、FortiMailが受信者にEメールを配信するのを差し止め、サンドボックスのプロセスが終了するまで待機します。

FortiGuardでは今後も登録されている残りのドメインや、この攻撃者グループのその他のアクティビティを監視していきます。

-= FortiGuard Lion Team =-


IOC

作成されるファイル:

  • %AppData%\RegAsm.exe
  • %AppData%\Roaming\Imminent\*.*

改変されるレジストリ:

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Regasm
  • "%AppData%\RegAsm.exe"

関連ファイルおよび検知内容:

015ec4becebcf293e7dac0f967818fdbe277d2c8567d1579c43ca7d647edeba6 MSIL/Kryptik.NJK!tr
1cb202f9da52e50b3f13bc93a1ccd12509593754ad178d8e1d47f18d539cb03a MSOffice/CVE_2017_11882.B!exploit
286f556cf1660f740c548a491f984a423c23605a6148828b97b0b46c7e34b2bd MSOffice/CVE_2017_11882.B!exploit
403f4e1bb443f57a6f26fcef699232ebfb3f5e1adabbce46a1ef03f4d23e601d W32/Generic.TJ!tr
4bdda7e7d4e4eda48ed39d3b8cb3162f8713f0ed75398f43cbd8727af050b6df MSIL/Kryptik.NKY!tr
6083ec0d005cf548073024e6f7c9296760972304bce569614ec5df9baa330926 MSIL/Kryptik.LOA!tr
67f5c55a5a61ceb50c3d37f106bba1fa57ae2d1f0a25c52aa949736908bc879f MSIL/Kryptik.NLJ!tr
711e8a64bb3aaf032753133c90a6a9c177ec146d378de9fb99497d2474229cae W32/Generic.TJ!tr
725d4e09fd28b41c62b66dd338f19e6b5cc871cbfbea69214a460beef00e7e70 MSIL/Kryptik.LOA!tr
74e3dc19b3b2cffd60865bd8ed248e7b2fe9e0826d125117206b12338849ad37 MSIL/Kryptik.NJK!tr
83772d16c4c791d44a27637376155781d1cf1b764b59b00430573e2efa936980 MSIL/Kryptik.MVX!tr
8969c56e0d541e0ea42021d4165505474c4dd99605926ab3c391df02af2d919e MSOffice/Exploit.CVE20178570!tr
975ddf75491e3f482a7d7941e4fd33fb98e4daf339f57a4c7843fd2b375c199b MSIL/Kryptik.NKY!tr
b0da24906af16ba77019e581f810923c97d7bc4e03c901cfb0158edb3de10f39 MSIL/Kryptik.NHX!tr
c7813f9520a2d906e72036a8766e04b3679b0f89cbea5ba4ceff494b4e0472c4 MSOffice/CVE_2017_11882.B!exploit
d29393a8aad337019794eb9bfb035950893350ed4f8fd559a8457754228fb9ae MSIL/Kryptik.NKY!tr
d58ab2d37666e1d4823af3325896d1fabc2b71338032d16adc52b4228ca56da7 MSIL/Kryptik.LOA!tr
ef8fe9afc0053e6a10ca568bbe3f71ec9358232d670d14af7da072a6e60cdf5e MSIL/Kryptik.NJK!tr

悪意のあるドメイン:

  • Brrange[.]com
  • cb4cb4.ddns[.]net
  • cb5cb5.noip[.]me
  • cb7cb7.ddns[.]net
  • derani[.]ir
  • frpfrp.ddns[.]net

フィッシング用ドメイン:

  • Brtory[.]com
  • Flscap[.]com

登録されているドメイン(現在監視中):

  • Agspre[.]com
  • Agtory[.]com
  • Agvill[.]com
  • Agworl[.]com
  • Bransio[.]com
  • Brcosm[.]com
  • Brdoma[.]com
  • Brfie[.]com
  • Brscap[.]com
  • Brspac[.]com
  • Brsphe[.]com
  • Brspre[.]com
  • Brteri[.]com
  • Brverse[.]com
  • Brvill[.]com
  • brworl[.]com
  • dacosm[.]com
  • dasphe[.]com
  • daspre[.]com
  • daworl[.]com
  • facosm[.]com
  • faspan[.]com
  • faverse[.]com
  • faworl[.]com
  • flcosm[.]com
  • flfie[.]com
  • flrange[.]com
  • flspac[.]com
  • flspan[.]com
  • flsphe[.]com
  • flspre[.]com
  • flteri[.]com
  • fltory[.]com
  • flval[.]com
  • nimatio[.]com
  • nimcosm[.]com
  • nimfie[.]com
  • nimfin[.]com
  • nimrange[.]com
  • nimrea[.]com
  • nimscap[.]com
  • nimspac[.]com
  • nimsphe[.]com
  • nimspre[.]com
  • nimter[.]com
  • nimteri[.]com
  • nimtop[.]com

最新の脅威に関する詳細につきましては、脅威レポートの最新版をご覧ください。

FortiGuard Labsでは、脅威インテリジェンス情報(英文)を毎週お届けしていますので、ぜひご購読ください。