エグゼクティブ サマリー
JasperLoader と呼ばれる新しいマルウェア ローダが登場し、この数ヵ月間、イタリアやその他のヨーロッパ諸国をターゲットに Gootkit などのバンキング型トロイの木馬を配布しています。先頃 Talos は、JasperLoader に関連する機能の総合的な分析を発表しました。分析の公開後まもなく、このキャンペーンに関連する配信アクティビティが停止しました。数週間にわたってアクティビティの件数が比較的少なくなりましたが、その後新しいバージョンの JasperLoader が拡散していることが判明しました。この新しいバージョンでは、Talos が分析した初期バージョンからいくつかの点が変更、改良されています。JasperLoader は通常、マルウェア ペイロードを追加してシステムに感染するために使用されます。マルウェア ペイロードは、機密情報を抜き取ったりシステムにダメージを与えたりして、組織に悪影響を及ぼすことができます。
この脅威を操る攻撃者は、追加のメカニズムを実装してマルウェアを拡散できる場所を制御しており、サンドボックスやウイルス対策企業による分析を回避するための対策を講じています。また、感染システムとその制御に使用されているインフラストラクチャの間の通信を促進する新しいコマンド アンド コントロール(C2)メカニズムもあります。現在 JasperLoader を配布しているキャンペーンは、引き続きイタリアをターゲットにしています。JasperLoader は比較的新しい脅威ですが、その開発者はこのマルウェアを積極的かつ急ピッチで改良し続けており、金銭目的のマルウェアにはあまり見られない巧妙なキャンペーンとなっています。
配信の変更点
以前の JasperLoader の分析で説明したように、このマルウェアの拡散を試みる配布キャンペーンでは、イタリアの認定電子メール サービスが多用されています。ただし、この配布方法にいくつか変更が加えられています。
最初に確認された電子メールには、VBS ファイルを含む ZIP ファイルが添付されていました。この VBS ファイルは感染プロセスを開始するファイルで、以前のキャンペーンで確認された VBS ファイルと DOCM ファイルに類似していました。添付ファイルのあるバージョンは長続きせず、件数はあまり多くありませんでした。
その後すぐに、添付ファイルを直接使用する手法から新しい手法に変化しました。次に示すケースでは、最初の電子メールが、JasperLoader を仕掛けている攻撃者によって繰り返し利用されてきた通常の認定電子メール サービスを通じて送信されています。
以前も確認されたように、電子メールはイタリア語で書かれており、元のメッセージが添付ファイルとして挿入されているという内容になっています。「postacert.eml」という名前の元の電子メールが添付されています。この電子メールを開くと、次のメッセージが表示されます。
ここから配布プロセスが変化しています。電子メールに添付ファイルはありませんが、代わりに、電子メールで言及されているパラメータを含む hxxp:\\tribunaledinapoli[.]recsinc[.]com/documento.zip に接続するハイパーリンクがあります。たとえば、上の図では、完全な URL は hxxp:\\tribunaledinapoli[.]recsinc[.]com/documento.zip” target=”_blank” rel=”noopener”>214299 です。番号 214299 は、電子メール自体で言及されている番号です。最初にこの変更点が確認されてすぐに調査を開始しましたが、当初は無害のように見えました。この URL は、Web サーバからの HTTP 302 応答につながります。HTTP 302 は一時的に移動するためのリダイレクト コードで、長年にわたって攻撃者に悪用されています。たとえば、数年前にエクスプロイト キットによって 302 Cushioning が使用されていました。
この 302 は www.cnnic[.]cn にリダイレクトされました。これは、中国におけるインターネット業務を担当する組織である中国インターネット情報センター(CNNIC)です。これは明らかに、侵害を受ける可能性のある攻撃対象者の転送先ではありません。そこで、Talos はジオフェンシングの可能性を調査し始めました。
ジオフェンシングは、攻撃対象を特定の地域や国に限定するために使用されることがあり、この手法が使用されると我々研究者にとってアクティビティの追跡がより困難になります。高度な攻撃で繰り返し使用されてきましたが、JasperLoader のようなクライムウェアではあまり一般的ではありません。その判断を下すために、イタリアの IP スペース経由でトラフィックをルーティングし、同じリンクをたどってみました。
トラフィックがイタリアの IP スペースを経由してルーティングされると、結果は大きく異なります。この要求に対して返されるのは、今週初めに電子メールへの添付が確認されたサンプルと同様の悪意のある VBS ファイルを含む ZIP ファイルです。この VBS ファイルが実行されると感染プロセスが開始され、ローダがインストールされます。
以前のキャンペーンで確認されたように、JasperLoader は引き続きドメイン シャドウイングを利用しており、制御するサブドメイン間をすばやく移動します。次のチャートは、JasperLoader によって利用されるいずれかの C2 ドメインに関連付けられた DNS 解決アクティビティを示しています。範囲はかなり限定されていますが、95% 以上の解決がイタリアから行われたため、適用されたジオフェンシングが功を奏しているようです。
ここで、新たな感染プロセスを見てみましょう。Talos が発見した進化をいくつか紹介します。
JASPERLOADER の機能の変更点
JasperLoader に関連する感染プロセスは、依然として、システムにおける足掛かりの確保、攻撃者が制御するインフラストラクチャとの通信の開始、ローダのコア機能の実装という複数のステージで構成されています。プロセス機能の多くは、JasperLoader の以前の分析で説明した機能と同様ですが、以降の項で説明するように、マルウェアの動作に目立った変更がいくつか加えられています。
難読化層の追加
JasperLoader の感染プロセスで以前確認されたように、マルウェアの動作を隠すために複数の難読化層が利用されています。感染プロセスでは一般に、文字置換メカニズムを利用して実行時に数学的計算を実行し、感染システムで実行される PowerShell 命令を再構築します。これと同じプロセスが、このキャンペーンで確認された Visual Basic Script(VBS)ダウンローダでも使用されています。
JasperLoader を拡散している現在のキャンペーンでは、文字置換層が追加され、基盤となる PowerShell がさらに難読化されています。VBS の難読化が解除されると、基盤となる PowerShell は次のようになります。
上の図の各文字を置換するとステージ 1 の PowerShell になり、この PowerShell によって攻撃者が制御するサーバから後続のステージが取得されます。このステージの PowerShell の例を次に示します。
この PowerShell は、以前の JasperLoader キャンペーンで見られたものと似ていますが、顕著な違いがいくつかあります。
デコイ ドキュメント
ステージ 1 に関連付けられた PowerShell で確認できるように、指定された URL から PDF が取得され、ユーザに表示されます。この PDF はあからさまに悪意のあるものではなく、単にデコイ ドキュメントとして機能するように設計されており、ユーザが VBS を実行すると予想される結果が得られるようになっています。
被害者には単にこの PDF が表示されますが、バックグラウンドでは感染プロセスが継続しており、マルウェアがステージ 2 を取得しようとしています。
地理位置情報フィルタリング
JasperLoader で行われた変更の 1 つに、地理位置情報ベースのフィルタリングの追加があります。地理位置情報ベースのフィルタリングが、感染プロセスの配信ステージでも利用されていました。以前のバージョンの JasperLoader では、マルウェアは感染プロセスの各ステージで Get-UICulture PowerShell コマンドレットを使用して、システムが中国、ロシア、ウクライナ、またはベラルーシに関連付けられた言語パックを使用するように設定されている場合は実行を終了していました。最新バージョンの JasperLoader ではルーマニア語のチェックが追加され、これらの言語設定のいずれかが使用されている場合は実行を終了します。
仮想マシンとサンドボックスの検出
最新バージョンの JasperLoader に追加されたもう 1 つの新機能は、ハイパーバイザベースの環境の検出です。多くの場合、マルウェアはさまざまなチェックを行って仮想環境で実行されているかどうかを判断し、実行を終了してサンドボックスまたはマルウェア対策ソリューションによって分析されないようにします。
最新バージョンの JasperLoader では、Windows Management Instrumentation(WMI)サブシステムに対してクエリを実行して感染対象のシステムのモデルを取得するメカニズムが導入されました。モデル識別子がチェックされ、次のハイパーバイザと一致するかどうかが確認されます。
- VirtualBox
- VMware
- KVM
一致する場合、マルウェアは実行を終了し、システムに対してこれ以上アクションを実行しようとしません。これと同じチェックが感染プロセスの各ステージで実行されます。
ステージ 3 の機能とペイロードの取得
ステージ 2 では若干の変更が行われていますが、その大半がファイルの保存場所、ファイルの命名規則に関連するものです。その他の特性はキャンペーンごとに頻繁に変更されますが、全体的な機能とステージ 2 の取得、難読化解除、実行によってステージ 3 を取得するプロセスは比較的変わっていません。このプロセスの仕組みの詳細については、こちらで以前のブログ記事を参照してください。
進行中の開発アクティビティの大部分は、JasperLoader 感染プロセスのステージ 3 に重点を置いているようです。このステージに JasperLoader の機能の大半が含まれているためです。最新バージョンの JasperLoader では、リブート後もマルウェアを保持する方法が変更され、C2 通信を保護するメカニズムが導入されました。また、JasperLoader ボットネットに含まれるすべてのシステムに JasperLoader の更新を効率的に伝播するためのより堅牢なメカニズムが追加されました。
永続性メカニズム
以前のバージョンの JasperLoader では、マルウェアはシステムのスタートアップ フォルダに悪意のある Windows ショートカット(LNK)を作成することで、感染システムに永続的に存在できるようになっていました。最新バージョンの JasperLoader では、この実現のためにタスク スケジューラも使用します。次のシンタックスを使用して、感染システムにスケジュール タスクを作成します。
schtasks.exe /create /TN "Windows Indexing Service" /sc DAILY /st 00:00 /f /RI 20 /du 24:59 /TR (Join-Path $bg_GoodPAth 'WindowsIndexingService.js');
これにより、JasperLoader を定期的に再起動するスケジュール タスクが作成されます。このプロセスが失敗すると、JasperLoader はショートカットを使用した永続性の確保に戻ります。
フェールバック C2 メカニズム
JasperLoader に追加された機能の 1 つに、時間ベースの Flux を可能にするフェールバック C2 ドメイン取得メカニズムがあります。デフォルトの C2 ドメインが指定されています。そのドメインが使用できない場合、システムの現在の日付を使用して、マルウェアが C2 通信に使用する一連のフェールバック ドメインが生成されます。
ボットの登録
また、このマルウェアは新しいボットの登録および ID の生成メカニズムを実装しており、以前のバージョンの JasperLoader で確認されたものとは異なる情報を使用してシステムごとに一意の識別子を作成します。以前と同様に、この情報は HTTP GET 要求内のパラメータとして C2 に伝達され、次のようにして生成されます。
興味深い PowerShell アーティファクト
JasperLoader のステージ 3 に関連付けられた PowerShell に興味深いアーティファクトがあり、これは将来の通信に使用する C2 ドメインを定義する関数にあります。この関数は BG_SelectDomen() と呼ばれます。「domen」という単語は「domain(ドメイン)」を意味し、ルーマニアを含む複数の国で広く使われています。
これは兆候としては信頼性の低いものですが、このマルウェアの明らかなターゲット設定と、感染システムで実行を継続するかどうかを判断するために実行される地理位置情報チェックに関連していることは、注目すべき点です。
ペイロードの配信
最新の JasperLoader キャンペーンの分析では、攻撃者の C2 インフラストラクチャから悪意のある PE32 を取得するために必要なコマンドと URL 情報を受け取ることができませんでした。C2 通信チャネルはアクティブであり、ビーコンを送信していました。
原因としては、現時点ではペイロードを追加で拡散するために JasperLoader が積極的に使用されていないことが考えられます。ボットネットのオペレータは、将来的にボットネットを利用してマルウェアを追加で配布する目的で、収益源となる機能を構築するために JasperLoader を感染させようとしている可能性があります。このキャンペーンのペイロードに GootKit が再び選ばれている可能性があるというレポートがあります。GootKit は Talos が分析した以前のキャンペーンのペイロードであったため、このキャンペーンに使用されている可能性は高いと思われます。
まとめ
この新しい JasperLoader キャンペーンからわかるように、攻撃者は常に、感染手口を改良すると同時に検出と分析を回避できるように対策を講じています。JasperLoader はこの対策に極限まで取り組んでおり、迅速に追加機能を開発し、難読化層を追加しました。同時に、仮想マシンを回避し、攻撃対象をイタリアに限定するための対策を講じています。これらの変更の大半はすぐに行われており、JasperLoader をセキュリティ制御や検出機能の変化に応じて迅速に更新できる堅牢で柔軟性に富む脅威にするというこだわりが垣間見えます。しかし、こうした対策が講じられても、Talos は十分な情報を引き出してそのアクティビティを暴き、お客様や一般の人々を攻撃から保護することができます。
JasperLoader は、脅威が急速に変化することを示す典型的な例です。攻撃者がエンタープライズ ネットワークに導入された防御策に対抗しようとして常にツールの改良に時間、労力、リソースを注ぎ込んでいても、その攻撃に対する防御体制を整えるために、脅威インテリジェンスがどれほど重要かがわかります。手法の効果が低くなると、サイバー犯罪者は、ミッションの目標達成率を最大限に高めるために他の手法に移行し続けます。JasperLoader は、他の確立されたマルウェア ローダに比べて比較的新しいものですが、このマルウェアが継続的に改良され、組織に対して利用されていることが明らかになっています。このボットネットは、拡大し続けるにつれて、さまざまなマルウェア ペイロードを配布するためにさらに多用されるようになると予想されます。このボットネットのオペレータは、ボタンを押すかコマンドを発行するだけで、すでに感染しているシステムを利用できるのです。
カバレッジ
お客様がこの脅威を検出してブロックできる別の方法を以下に記載します。
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 を、以下に示します。
ドメイン
JasperLoader に関連付けられていることが確認されたドメインのリストは、次のとおりです。
breed[.]wanttobea[.]com
zzi[.]aircargox[.]com
nono[.]littlebodiesbigsouls[.]com
tribunaledinapoli[.]recsinc[.]com
tribunaledinapoli[.]prepperpillbox[.]com
tribunaledinapoli[.]lowellunderwood[.]com
tribunaledinapoli[.]rntman.com
IP アドレス
JasperLoader に関連付けられていることが確認された IP アドレスのリストは、次のとおりです。
185[.]158[.]251[.]171
185[.]158[.]249[.]116
ハッシュ
JasperLoader に関連付けられていることが確認されたファイルのハッシュ(SHA256)のリストは、次のとおりです。
052c9895383eb10e4ad5bec37822f624e443bbe01700b1fe5abeeea757456aed
54666103a3c8221cf3d7d39035b638f3c3bcc233e1916b015aeee2539f38f719
ee3601c6e111c42d02c83b58b4fc70265b937e9d4d153203a4111f51a8a08aab
本稿は 2019年5月23日に Talos Group のブログに投稿された「Sorpresa! JasperLoader targets Italy with a new bag of tricks」の抄訳です。