JasperLoader の概要
マルウェア ローダは、マルウェアの配布においてますます重要な役割を果たしています。マルウェア ローダは、攻撃者にシステムへの最初の足場を提供し、攻撃者が侵害に成功した後はさまざまなマルウェアのペイロードの配信に使用されます。Talos が 7 月に Smoke Loader、今年初めに Brushaloader の記事で紹介したように、こうした攻撃が続発しています。ローダによって、攻撃者は取得したアクセスから最大の利益を得る方法を考慮して、ドロップするマルウェアを決定することができます。マルウェア ローダは、一般的に電子メールベースの脅威で使用されていますが、長年にわたってエクスプロイト キットにも広く普及しています。最近 Cisco Talos は、ヨーロッパ諸国内のシステムにさまざまなマルウェアを配信するために使用されているローダの活動の増加を確認しています。
特に Talos は「JasperLoader」として知られているローダを追跡しています。このローダの活動はこの数ヵ月で活発化しており、現在は主に中央ヨーロッパ諸国、特にドイツとイタリアを標的とする悪意のあるスパム キャンペーンを通じて配布されています。JasperLoader は、マルチステージの感染プロセスを採用しており、分析を困難にする複数の難読化技術を活用します。このローダは、感染プロセスの後半のステージからわかるように、復元力と柔軟性を念頭に置いて設計されたようです。
Talos はこの数ヵ月にわたり、JasperLoader、そして最終的に Gootkit バンキング型トロイの木馬に被害者を感染させようとする署名付き電子メールを使用した複数のスパム キャンペーンを確認しました。メッセージ署名は、証明書の検証を使用して電子メールの送信者の信頼性を確認します。メッセージに署名できるのは、秘密キーにアクセスできる人のみです。メッセージ署名は、メッセージの暗号化と同じではありません。メッセージ送信者の身元の検証の目的でのみ使用され、メッセージ自体の機密性を保証するものではありません。Talos は、メッセージに信頼性を与え、潜在的な被害者が悪意のある添付ファイルを開く可能性を最大限に高める手段として、このタイプのメッセージ署名を活用している複数の悪意のあるキャンペーンを確認しました。
悪意のあるスパム キャンペーン
Talos では、多くの電子メールベースの脅威と同様に、JasperLoader を配布するために活用されている異なるキャンペーンを複数確認しました。各キャンペーンでは、さまざまな電子メール テンプレートとダウンローダの設定が使用されています。また各キャンペーンは比較的ローカライズが進んでおり、標的となった各国に固有の複数の言語が使用されています。キャンペーン活動のほとんどは、ヨーロッパ諸国が対象で、特に標的となっているのはイタリアです。ただし Talos は、ヨーロッパ以外の国を対象としたキャンペーンも確認しています。以下に、ドイツを標的とするキャンペーンに関連する電子メールの例を示します。
図 1:電子メールの例(ドイツ)
この電子メールはかなり基本的なもので、ZIP アーカイブが添付されています。件名の「Zahlungserinnerung」とは「支払のお知らせ」という意味で、実際によく確認されているマルスパム キャンペーンの多くと一致するテーマです。このキャンペーンでは、JasperLoader の感染プロセスを開始させる Visual Basic for Applications(VBS)スクリプトが活用されました。この難読化されたスクリプトについては後で詳しく説明します。ドイツを狙ったこのキャンペーンは、JasperLoader 感染プロセスを開始させるために VBS ファイルの使用が確認された数少ないキャンペーンの一部でした。たいていの攻撃では、JasperLoader と最終的な Gootkit のダウンロードには、DOCM ファイルが使用されていました。
前述のように、過去数ヵ月にわたって観察されたほとんどの JasperLoader キャンペーン活動の標的はイタリアでした。以下のスクリーンショットからわかるように、これらの電子メールは、他のキャンペーンで見られるメールとは大幅に異なっています。これらは、悪意のあるファイルを添付するのではなく、「認定された電子メール」の受領に関連する通知として送信され、添付の EML ファイルが含まれています。
JasperLoader を配布する攻撃者は、こうした電子メールを配布するために、Posta Elettronica Certificata(PEC)と呼ばれる正当な認定メール サービスを利用しています。PEC は、最近イタリアで可決され 2019 年初めに発効した、電子請求の新しい要件を定めた法律に関連する認定メール サービスです。この新しい法律は、企業間(B2B)と企業/消費者間(B2C)の両方の取引の請求書配布に、電子請求書を使用することをイタリア企業に義務付けています。攻撃者は、すでに信頼されている電子メール サービスを活用して、悪意のある電子メールが開かれる可能性を最大限に高めるこのやり方の魅力を認識しています。
図 2:「認定」電子メールの例
この新しい法律に関連する要件のひとつは、すべての電子請求書電子メールに署名をし、「Sistema di Interscambio(SDI)」という新しいプラットフォームを使用して送信することです。また、請求書は特定の XML ベース形式を使用して送信する必要があります。さらにその形式の検証を行い、請求書の受領者に転送される前にその妥当性を確認しなければなりません。
おわかりのように、このキャンペーンはこのサービスを活用しているため、攻撃者はこの新しい法律関連の要件を満たしているメッセージを送信して、潜在的な被害者と認定電子メール サービスとの間の信頼を悪用することが可能です。
図 3:証明書の詳細
この証明書自体は有効で、前述の PEC 認定電子メール サービスに関連付けられています。PEC 認定電子メール サービスを使用することで、組織は最大 30 MB の添付ファイルを受領者に送信することができます。Posta Elettronica Certificata(PEC)は、現在イタリア、スイス、香港で幅広く普及しており、利用者は登録済み電子メール メッセージを送信できます。このプロジェクトの背景には、メッセージ送信者の信頼性を検証しながら、居住地が国内か国外かを問わず、誰でも公式チャネルを通じて通信できるようにするという意図があります。このサービスにより、通常の郵便サービスに頼らずに、公式のビジネス関連情報のやりとりが可能になり、より高速なリアルタイムのコミュニケーションが促進されます。
図 4:証明書のプロパティ
PEC サービスを活用していることが確認されたキャンペーンには、「認定電子メール メッセージ」の受領通知であると主張する電子メールと、EML 添付ファイルが含まれていました。以下のスクリーンショットは、潜在的な被害者によって開かれたときの EML 添付ファイルの例を示しています。
図 5:添付の電子メール メッセージ
この図からわかるように、添付の EML ファイルには、元のメールと同じ請求書を参照する Microsoft Word DOCM ファイルを含む ZIP アーカイブが添付されています。この DOCM ファイルには、JasperLoader 感染プロセスを開始する悪意のある組み込み VBA マクロが含まれています。多くのキャンペーンで使用されている DOCM ファイルに関連するメタデータは、複数のメタデータ フィールドに文字列値「VPS2day」が含まれていることが確認されています。
図 6:ZIP 添付ファイルのコンテンツ
図 7:ドキュメントのプロパティ
Talos は、数週間の間に発生した JasperLoader キャンペーンと関連する一意の悪意のある DOCM ファイルを多数確認しました。メタデータに文字列「VPS2day」が含まれるファイルのサンプル検索では、VirusTotal で 167 個の一意のファイルが見つかりました。
https://2.bp.blogspot.com/-I2zSl8zWZgE/XMGgPJnBExI/AAAAAAAABFY/LYqlLr2Ynhggktl_aPwicvPjGSLaxk-tACLcBGAs/s640/image34.png
図 8:メタデータの検索結果
Talos は、悪意のある DOCM ファイルを使用して JasperLoader を配布するキャンペーンに加えて、悪意のある JS ダウンローダを含むメッセージも確認しました。また、正当で悪意のあるファイルを添付する複数のキャンペーンも見つかりました。たとえば、確認されたキャンペーンの一部では、JS ファイル、XML ファイル、無害な PDF 形式の請求書を含む ZIP ファイルが使用されていました。いくつかのキャンペーンでは、ファイルの一部に不適切な名前が付けられていました。たとえば、XML ファイルには .XML ではなく .XM、PDF 形式の請求書には .PDF ではなく .PF の拡張子が付けられていました。
このような微妙な違いは、潜在的な被害者に添付ファイルを開かせようとするときに驚くほど効果的です。また Talos は、ファイル拡張子を一切含まない PDF 添付ファイルを利用したキャンペーンも確認しました。Talos は、PEC 認定電子メール サービスを調査した結果、このサービスがこの法律が施行された 2019 年初めから、悪意のあるさまざまな目的で攻撃者に幅広く悪用されていることを突き止めました。
このキャンペーンでもうひとつ興味深いのは、ドメイン シャドウイングが使用されていたことです。Cisco Talos が発見したこの技法がエクスプロイト キット ユーザによって開発された時期は、2015 年に遡ります。この技法により、攻撃者は正当なドメインのサブドメインで悪意のあるコンテンツをホストできるようになります。通常ドメイン シャドウイングでは、登録者アカウントが悪用され、攻撃者が所有するインフラストラクチャをポイントするサブドメインが作成されます。
JasperLoader の詳細
このような悪意のある電子メールの一部には、Microsoft Word ドキュメントが添付されていました。これらのドキュメントを開くと、以下のようなデコイ イメージが表示されます。
図 9:悪意のある Word ドキュメントの例
画像に表示されているメッセージはイタリア語で、次のように訳すことができます:
このファイルは、以前の Microsoft Office 365 バージョンを使用して作成しました。コンテンツを表示するには、上部の黄色いバーにある [変更の有効化(Enable modifications)] ボタンをクリックし、次に [コンテンツの有効化(Enable content)] をクリックしてください。
JasperLoader ステージ 1
この Microsoft Word ドキュメントには、JasperLoader を実行して感染プロセスを開始する悪意のあるマクロが含まれています。Python oletools パッケージを使用することで、このマクロの実行をさらに分析し、感染プロセスがどのように行われるかを確認することができます。
図 10:oletools を使用した分析結果
上記のスクリーンショットに示されているように、oletools は Word ドキュメント内に埋め込まれている VBA マクロを検出しました。このマクロは、Word ドキュメントが開かれたときに実行されるように設定されており、感染を開始するコマンドを実行します。VBA マクロ内の「Chr」は、このマクロが難読化されている可能性を示しています。アナリストがこの種のマルウェア ローダの分析で実行できる作業の例として、ここでは難読化されているこのマクロを取り上げます。
Talos は、Microsoft Word ドキュメントが使用されたケースだけでなく、VBS ダウンローダが直に含まれる ZIP アーカイブが使用されたケースも確認しました。ただし感染プロセスはどちらのケースでも同じです。難読化プロセスはこの 2 つのタイプのキャンペーンで若干異なりますが、アプローチは非常によく似ています。これから、VBS とハッシュ(SHA256)「dc78dbd42216fdb64c1e40c6f7a2fad92921f70c40446d62eb1873d6b77ee04c」を使用する感染プロセスについて説明していきます。
すでに oletools で確認したとおり、このマクロは難読化されているため、静的分析が困難になっています。このマクロには、変数と多数の要素を含む配列が定義されています。
図 11:難読化された VBScript 配列
このスクリプトの末尾で、以下のコードによって配列内のすべての数値に対する数学演算が行われ、実行可能なコードとして再構築され、そのコードが実行されます。その後感染プロセスが続行されます。
図 12:VBScript 配列の再構築
変数 d1 に割り当てられた値は 267 です。実際に実行される内容を特定するには、配列内の各数値から 267 を減算し、こちらから使用可能なものに類似する変換テーブルを使用して、得られた値を対応する VBScript 文字に変換します。
配列の値を正しい VBScript 文字値に置換すると、この VBScript によって PowerShell コマンドが実行されることがわかります。ただし、難読化された VBScript にはさらに多くのアーティファクトが存在しているため、追加の分析は困難です。私たちは、減算に使用される値はサンプル全体で頻繁に変化しますが、ロジックは同じままであることを確認しました。
図 13:変換後の VBScript の文字値
次に、VBScript とこの感染ステージで使用する PowerShell を再作成するために、難読化された VBScript に含まれている不要な文字をすべて削除します。こうした余分な文字を削除すると、部分的に難読化された以下のようなコードが残されました。
図 14:部分的に難読化されたスクリプト
この VBScript が実行する PowerShell には、文字列ベースの検出を回避し、PowerShell の大半を判読できないようにするために、複数の文字列値が挿入されています。PowerShell 命令の難読化されていない部分を詳しく見てみると、難読化された PowerShell を再構築できるように、実行プロセス中に -replace を使用してこれらの余分な文字列値が削除されることがわかります。この操作の例は、以下のシンタックスで確認できます。
-replace ‘6ayBRVW’,””;
-replace ‘uVRWRut’,””;
-replace ‘6xzQCRv’,””;
このコードは、スクリプト全体のこの 3 つの文字列値を「」に置き換えるよう指示しています。これにより効果的に文字列を削除し、PowerShell コードを正しく実行できるようになります。この 3 つの文字列へのすべての参照を手動で削除すると、次のようになります。
図 15:難読化解除ステージ 1 – Powershell
このスクリプトは次の操作を実行します。
- WScript を呼び出し、これを使用して PowerShell を実行します。
- PowerShell を使用して Get-UICulture コマンドレッドを呼び出し、システムで使用される言語セットを特定します。
- 言語セットが以下のいずれかの国に関連付けられている場合、感染プロセスは終了します。
-
- ロシアウクライナ
- ベラルーシ
- 中国
- 以下の URL から追加データをダウンロードします。
- hxxp://cdn[.]zaczvk[.]pl/loadercrypt_823EF8A810513A4071485C36DDAD4CC3.php?vid=
- hxxps://www[.]telekom[.]de/resources/images/130468/eSS-illustrations-V006-MeineErsteRechnung-FN-SG.png
- hxxp://cloud[.]diminishedvaluecalifornia[.]com/501?dwgvhgc
- 上記の URL からダウンロードされたデータが、それぞれ以下のファイル格納先に保存されます。
- %TEMP%\SearchIE32.js
- %TEMP%\illustrations5543.png
- %TEMP%\AdobeAR.exe
- ダウンロードされたファイルを実行し、感染プロセスを続行します。
感染プロセスでは、攻撃者の配布サーバから取得されたコンテンツの実行が続行されます。
JasperLoader ステージ 2
前述のように、ステージ 1 で実行された PowerShell は、感染システムのコンテンツの取得と実行に使用する 3 つの異なる URL に到達します。定義されている最初の URL は、hxxp://cloud[.]diminishedvaluecalifornia[.]com/501?dwgvhgc です。
マルウェア ローダは、上記の URL でホストされているコンテンツに対する HTTP GET 要求を開始し、攻撃者が制御するサーバから数値が返されます。このコードは、HTTP サーバ応答のコンテンツ本文内に存在することに注意してください。
図 16:HTTP GET 要求の例
ステージ 1 の Powershell 命令で定義されているように、返されたコンテンツは %TEMP%\AdobeAR.exe に保存されます。
Talos は、このクライアントに返された値「500」に加えて、「404」、「408」などの追加コードが返されることも確認しました。Talos で確認したすべてのケースで、HTTP 応答コードは 200 OK のままですが、コンテンツ本文に存在するコードは異なっています。
マルウェア ローダは、以下の攻撃者のサーバにも到達します:hxxp://cdn[.]zaczvk[.]pl/loadercrypt_823EF8A810513A4071485C36DDAD4CC3.php?vid=.
マルウェア ローダによる HTTP GET 要求に続き、悪意のあるサーバが応答し、難読化された JavaScript を含む HTTP 応答を返します。
図 17:ステージ 2 – 難読化された JavaScript
ステージ 1 で定義されているように、返された JavaScript のコンテンツは %TEMP%\SearchIE32.js に保存されて実行されます。このコンテンツは、分析をより困難にするために難読化されています。感染のステージ 1 の VBScript の難読化と同様に、このコードは配列を定義し、次に push() を使用して難読化されたデータの文字列を作成します。返されたコンテンツの末尾にある JavaScript コードは、逆アセンブルと難読化解除を行い、eval() を使用して JavaScript を実行します。
図 18:JavaScript 実行機能
JavaScript の難読化に関しての朗報は、通常このコードが実行前に自身で難読化を解除することです。手動で JavaScript の難読化の解除を試みる代わりに、この動作を使用してコード自身に自動的に難読化を解除させることができるのです。悪意のある JavaScript の難読化をより効率的に解除して分析するために、Malzilla のような分析ツールを使用できます。
図 19:Malzilla デコーダ タブ
Malzilla は JavaScript の難読化を解除し、下部のペインに表示します。JasperLoader の場合は、結果として別のスクリプトが表示されます。このスクリプトには、このマルウェアが感染プロセスを続行する方法を定義する、部分的に難読化された PowerShell 命令が含まれています。
図 20:Malzilla の出力
返されたスクリプトは、私たちが前の手順で確認したのと同じ方法で部分的に難読化されています。前のセクションで説明したように、このスクリプト全体に含まれる不要な文字列を削除するだけで完全に難読化を解除できます。これらの文字列を削除してみると、先ほど確認したスクリプトと似たスクリプトが残されましたが、若干違いもあります。
図 21:ステージ 2 – PowerShell の難読化解除
このスクリプトは、感染プロセスの次のステージに関連するコマンドの取得を行います。次のアクションを実行します。
- WScript を呼び出し、これを使用して PowerShell を実行します。
- PowerShell を使用して Get-UICulture コマンドレッドを呼び出し、システムで使用される言語セットを特定します。
○ 言語セットが以下のいずれかの国に関連付けられている場合、感染プロセスは終了します。
・ロシア
・ウクライナ
・ベラルーシ
・中国
- 以下から追加のデータをダウンロードします:hxxp://cdn[.]zaczvk[.]pl/crypt0DD1D2637FDB71097213D70B94E86930.php
○ ダウンロードしたコンテンツを %TEMP%\SearchIE32.txt に保存します。
○ ダウンロードしたファイルのコンテンツを読み取り、正規表現ベースの置換を実行して難読化を解除します。
○ 難読化解除されたコードを実行して、感染プロセスを続行します。
このスクリプトは、感染プロセスの続行に必要なデータを取得するだけでなく、180 秒間の Sleep コマンドレットも実行し、次にステージ 1 で参照された URL と同じ URL でホストされている難読化された最新の JavaScript の取得を試みます。
図 22:ステージ 2 – JavaScript の取得
次にこの JavaScript が再度実行されます。攻撃者は、このメカニズムを使用することで、感染プロセスを変更しても、以前に感染したすべてのシステムにこの変更を取得させ、この変更に従って更新することが可能になります。このアプローチは、このローダを繰り返し使用し、長期的にさまざまなマルウェアのペイロードを配信できることを示しています。
すでに説明したように、このマルウェアは以下の URL に HTTP GET 要求を行い、攻撃者が制御するサーバから追加の指示を取得します:hxxp://cdn[.]zaczvk[.]pl/loadercrypt_823EF8A810513A4071485C36DDAD4CC3.php.
図 23:ステージ 3 – 取得
サーバから返された難読化されたデータは、%TEMP%\SearchIE32.txt に保管されます。次にこのスクリプトは、このファイルのコンテンツを読み込み、正規表現の置換操作を実行して難読化を解除し、ファイルを実行可能にします。
図 24:ステージ 3 – 難読化解除命令
感染プロセスをさらに分析するには、PowerShell によって取得されたコンテンツの難読化を解除する必要があります。難読化を解除する方法のひとつは、PowerShell と同じ操作を手動で実行する方法です。
前のスクリーンショットでは、以下に示す PowerShell の行によって、以前取得したコードの難読化が解除され、変数割り当ての末尾に追加されました。これが後で実行されます。
図 25:ステージ 3 – 難読化解除の正規表現
SearchIE32.txt ファイルが読み込まれると、-replace ステートメントによって、ファイル内の各 3 文字から 2 文字が削除されて難読化が解除され、実行する PowerShell コマンドが再構築されます。この動作は次のようになります。
難読化されたコードには、多くのジャンク コードが含まれています。
0zig7fs9(y4 7b(i6G7aet5tvf-giUdtIacC4zuxelactd7u6wr53ehy)26.izNejahgm71ewf ga-99mefau6twyctvhu6 6w'cxRf7Ua5|5aUuzAxi|4uBv6Yez|7eCd7N13'v3)66{v4 81eigxjyitct83;3e z4}e0
難読化されたコードに含まれる 3 文字ごとに、最初の 2 文字を削除し、残った文字を変数 $jwihbyjzvhwwziwzadiuxat の末尾に追加します。
たとえば、次の文字列の場合
0zig7fs9(y4 7b(i6G7aet5tvf-giUdtIacC4zuxelactd7u6wr53ehy)26.izNejahgm71ewf ga-99mefau6twyctvhu6 6w'cxRf7Ua5|5aUuzAxi|4uBv6Yez|7eCd7N13'v3)66{v4 81eigxjyitct83;3e z4}e0
以下のような PowerShell コマンドになります。
if( (Get-UICulture).Name -match 'RU|UA|BY|CN'){ exit; }
次のステージの命令の難読化解除を効率化するために、PowerShell ISE コンソールを活用してコードを解凍します。これを行うには、サーバから取得したデータを自社システムにコピーし、前述のスクリプトで指定された PowerShell コマンドと同じコマンドを修正します。
図 26:PowerShell ISE の入力
変数 $jwihbyjzvhwwziwzadiuxat に難読化解除コードが含まれているので、必要な操作はこの変数に格納されている現在の値の取得だけです。
図 27:PowerShell ISE を使用したコードの取得
これにより、PowerShell ISE コンソールに、次の一連の操作で使用する難読化解除コマンドが表示されます。この情報を取得して、分析を継続できます。
図 28:PowerShell ISE ステージ 3 – 出力
JasperLoader ステージ 3
感染プロセスの次のステージで使用される PowerShell を取得できたので、マルウェア ローダ自体の主な特性の観察を開始できます。以下に、このステージの操作で使用する PowerShell コードを示します。
図 29:ステージ 3 – 難読化が解除された PowerShell
上記のスクリーンショットからわかるように、ここで JasperLoader に関連するアクティビティの大半が行われます。次のセクションでは、このステージの PowerShell が実行する操作を説明します。
地理位置情報チェック
JasperLoader の感染プロセスのステージ 3 で使用される PowerShell は、これまでのすべての感染ステージで確認された地理位置情報検証とまったく同じ検証を実行します。システムの UICulture をチェックし、UICulture がロシア、ウクライナ、ベラルーシ、または中国と一致する場合は、実行を終了します。
図 30:ステージ 3 – 地理位置情報チェック
永続性の確保
以下の一連のアクションは、システムへのアクセスの維持と関連しています。定義されている CreateShortcut() と呼ばれる関数は、システムのリブート時にマルウェアを確実に実行できるように、感染システムのスタートアップ フォルダに LNK ショートカットを作成して永続性を確保します。
図 31:ステージ 3 – 永続性メカニズム
ボット ID の生成
またこのマルウェアは、WMI を使用してシステムに対してクエリを実行し、感染システムの一意の識別子の生成に使用されるさまざまな情報を取得します。この情報は後で C2 サーバに送信されるため、新たに感染したシステムが登録され、一意に識別されるようになります。これらのアクティビティは、以下に示すように、定義済みの CreateID() 関数によって実行されます。
図 32:ステージ 3 – BotID の生成
ボットの登録とコマンドの取得
次に感染システムは、HTTP GET 要求を使用してコマンド アンド コントロール(C2)サーバに信号を送り、一意のボット識別子を転送して新しいボットを登録します。また、次の手順を決定するために C2 サーバからの応答を待ちます。
図 33:ステージ 3 – C2 の登録
上記のスクリーンショットからわかるように、C2 サーバは HTTP 応答を発行します。この応答に含まれているパイプで区切られたパラメータによって、JasperLoader に追加のコマンドが提供され、次の手順が指示されます。
サポートされているコマンド:
現在 JasperLoader は、この操作中に C2 サーバから受信する可能性がある 3 つの異なるコマンドをサポートしています。これらのコマンドは、C2 サーバから受信した応答内の最初の文字で表されます。(前のスクリーンショットの文字「d」など。)
更新メカニズム(「u」)
「u」コマンドは C2 サーバから送信され、変数 $action に割り当てられた配列値として処理されるパラメータを使用して自身の更新を試みるように JasperLoader に指示します。
図 34:ステージ 3 – 更新メカニズム
ボット管理メカニズム(「m」)
「m」コマンドは、攻撃者に感染システム上で PowerShell を使用して任意のシステム コマンドを実行できるメカニズムを提供します。ローダは、パイプで区切られた情報が含まれる C2 からの応答を待ちます。ローダは C2 から PowerShell コマンドを取得すると、Invoke-Expression(IEX)PowerShell コマンドレットに渡し、コマンドを実行可能にします。
図 35:ステージ 3 – ボット管理
ダウンロード メカニズム(「d」)
「d」コマンドは、感染システムに最終的なマルウェア ペイロードを取得するよう指示するとともに、この操作の実行に必要なパラメータを提供します。最終的なマルウェア ペイロードの取得場所、その保存場所、このペイロードの取得が成功した後のステータス更新の送信先が JasperLoader に通知されます。
図 36:ステージ 3 – ダウンロード機能 I
図 37:ステージ 3 – ダウンロード機能 II
また、システムで PowerShell バージョン 4 以降が実行されている場合は、PE32 が保存されるディレクトリに対する Windows Defender の AV 除外も作成します。
図 38:ステージ 3 – Windows Defender の除外
その後システムは、この感染で使用する悪意のあるペイロードである PE32 ファイルの取得を試みます。以下のスクリーンショットは、感染したシステムに悪意のある PE32 ファイルを配信する C2 サーバを示しています。
図 39:ステージ 3 – ペイロードの配信
マルウェア ペイロードの導入成功のステータスは、攻撃者のサーバにも伝達されます。
図 40:感染後のステータスの更新
このケースでは、JasperLoader によって配信されている悪意のあるペイロードは、広域に拡散している「Gootkit」と呼ばれるバンキング型トロイの木馬です。このマルウェアは、主にユーザの情報を盗み出し、侵害されたマシンのバックドアとして機能できます。
まとめ
JasperLoader は、マルチステージの感染プロセスを活用するマルウェア ローダです。このプロセスは、ローダの復元力を高めるとともに、ローダを活用してマルウェアの配布を試みる攻撃者に柔軟性を提供できるように構築されています。現在このローダは Gootkit バンキング型トロイの木馬の配布に使用されていますが、ローダのインフラストラクチャのオペレータが、運用の収益化の方法を変更したときに、新しいペイロードの配布に使用できるように設計されているため、将来的には他のマルウェア ペイロードの配布にも使用される可能性があります。PEC などの認定電子メール サービスが悪用されていることは、攻撃者が常にソーシャル エンジニアリング攻撃の信頼性を高める新しい方法を模索していることを示しています。このケースでは、正当な電子メール サービスを悪用して悪意のある電子メールを送信することにより、潜在的な被害者が添付ファイルを開き、JasperLoader に感染する可能性を最大限に高めています。Talos では、これらのサービスを悪用していることが確認されたさまざまな脅威に加えて、さらに多くの脅威がこの種のサービスの悪用を開始するとみています。
カバレッジ
お客様がこの脅威を検出してブロックできる別の方法を以下に記載します。
Advanced Malware Protection(AMP)は、これらの攻撃者によるマルウェアの実行の阻止に最適です。
Cisco クラウド Web セキュリティ(CWS)または Web セキュリティ アプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、これらの攻撃で使用されるマルウェアを検出します。
電子メール セキュリティは、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。
次世代ファイアウォール(NGFW)、次世代侵入防止システム(NGIPS)、およびMeraki MX などのネットワーク セキュリティ アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を埋め込みます。
シスコのセキュア インターネット ゲートウェイ(SIG)である Umbrella は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
特定の環境および脅威データに対する追加の保護は、Firepower Management Center から入手できます。
オープン ソースの SNORT サブスクライバ ルール セットをお使いであれば、Snort.org で購入可能な最新のルール パックをダウンロードすることで、システムを最新状態に維持できます。
侵害の兆候
JasperLoader アクティビティの分析中に確認された各種マルウェア配信キャンペーンに関連する IOC を、以下に示します。
添付ファイルのハッシュ値(SHA256)
悪意のある電子メール添付ファイルに関連するハッシュのリストはこちらに掲載されています。
ドメイン
JasperLoader に関連付けられていることが確認されたドメインのリストは、こちらに掲載されています。
IP アドレス
JasperLoader に関連付けられていることが確認された IP アドレスのリストは、こちらに掲載されています。
本稿は 2019年4月25日に Talos Group のブログに投稿された「JasperLoader Emerges, Targets Italy with Gootkit Banking Trojan」の抄訳です。