エグゼクティブサマリー
オーストラリアの金融機関をターゲットにしたバンキング型トロイの木馬の Gustuff が、最初に登場してから数ヵ月後に、新しい機能を加えて再び発生しました。Cisco Talos が初めて Gustuff について報告したのは 4 月です。その直後、Gustuff の背後にいる攻撃者は、まず配信ホストを変更し、その後、コマンドアンドコントロール(C2)インフラストラクチャを無効にしました。攻撃者は、SMS を利用した 2 つめの管理チャネルを利用して引き続きマルウェアを制御していました。
最新バージョンの Gustuff では、パッケージ名はハードコーディングされておらず、以前のバージョンに比べて、静的な痕跡が大幅に少なくなっています。機能面では、JavaScript ベースの「資金のない人向けスクリプトエンジン」を追加することで、JavaScript 言語の機能を利用した内部の独自コマンドを使用しながら、スクリプトを実行できるようになっています。これは、Android のマルウェア空間においては非常に革新的なものです。
Talos が分析した Gustuff の最初のバージョンは、明らかに Marcher をベースにしていました。Marcher は、数年前から発生している別のバンキング型トロイの木馬です。現在の Gustuff には、感染後の手法など、Marcher と異なる点がいくつかあります。
現時点で Gustuff は、依然として悪意のある SMS メッセージをメインで利用し、主にオーストラリアのユーザを標的にして感染しています。Gustuff は進化してきましたが、最適な防御方法が、Cisco Duo などのトークンベースの二要素認証であることに変わりはありません。合わせて、セキュリティに対する意識を高めることと、公式のアプリストアだけを使用することも重要です。
キャンペーン
Talos が最初にレポートした後、Gustuff のオペレータは、導入用のリダイレクト先を変更しました。それらがブラックリストに登録されると、最終的には C2 を無効にしましたが、攻撃を完全に停止することはありませんでした。まだ存在していたいくつかのサンプルでは、C2 はハードコーディングされていませんでした。2019 年 6 月頃に新しいキャンペーンを検出しましたが、マルウェアに大きな変更はありませんでした。このキャンペーンは、Facebook ではなく Instagram を使用してユーザを誘導し、マルウェアのダウンロードとインストールを実行させていました。
ドメインに対するアクセス数(6 月)
Instagram 関連のドメインは最初の感染に使用され、方法は以前とまったく同じです。
一方、新しいキャンペーンが今月の初めに始まり、今回は、マルウェアのバージョンが更新されていました。以前のバージョンと同様に、実際のターゲットとしては価値のないターゲットを利用して、感染を広める SMS メッセージを送信します。各ターゲットは、1 時間に 300 件のスピードで SMS を送信するように指示されます。このスピードは、各ターゲットのモバイルプラン内には制限されますが、かなり攻撃的な指示です。
ドメインに対するアクセス数(10 月)
この伝播方法は、SMS しか使用しないため痕跡はほとんど残りませんが、マルウェアをホストするドメインで確認されたアクセス数は少なく、あまり効果的ではないと思われます。
標的となったアプリケーション
以前と同様に、このキャンペーンは、主にオーストラリアの銀行とデジタル通貨ウォレットを標的にしています。今回の新しいバージョンは、転職サイトのモバイルアプリを標的にしているようです。
Gustuff には、WebView の動的ロード機能があります。リモートサーバから必要なインジェクションを取得しながら、特定のドメインを対象とした WebView を作成するコマンドを入手することができます。
調査の間、税金や社会保障など、いくつかの公共サービスをホストするオーストラリア政府のポータルを標的にしたコマンドを C2 から受信しました。このコマンドは、ローカルのインジェクションがロードされる前に発行されたものです(changearchive コマンドを使用)。インジェクションは、C2 インフラストラクチャサーバの 1 つからロードされています。このコマンドは、標準のアクティベーションサイクルには含まれておらず、4 月に分析したバージョンによってロードされたインジェクションにも存在しませんでした。
これは攻撃者が変わったことを示し、その攻撃者は現在、オーストラリア政府の公式 Web ポータルで使用されるクレデンシャルをターゲットにしているように思われます。
技術分析
この新しいバージョンの Gustuff は、計画された進化のもう 1 つのステップのようです。このマルウェアは引き続き同じパッカーを使用して導入されますが、
アクティビティサイクルにはいくつか変更点があり、すでに存在している機能かこれから準備する機能のいずれかを利用します。ふるまいの変更の 1 つは、インストール間でのステータスの永続性です。
ID ファイル
マルウェアは、アクティベーションプロセス中に、外部ストレージに「uu.dd」という名前のファイルを作成しようとします。ファイルが存在する場合は、内部に格納されている UUID の値を読み込み、C2 の ID として使用します。この場合、マルウェアはすべてのアクティベーションプロセスを実行しません。代わりに、C2 からコマンドをすぐに取得します。このファイルは以前のバージョンですでに存在していましたが、このようなふるまいは確認されませんでした。
メイン API も同じ原理で動作します。Gustuff は、あらかじめ決められた間隔で C2 に ping を送信します。C2 は「OK」を返すか、実行するコマンドを発行します。
ターゲットとなるアプリケーションは、サンプル内にハードコーディングされなくなりました。今のバージョンでは、「checkApps」コマンドによって、アクティベーションサイクル中にマルウェアに示されています。このコマンドは以前のバージョンでもすでに存在していましたが、アクティベーションサイクル中に必ず使用されるわけではありませんでした。
checkApps コマンド
自己防衛メカニズムとして Gustuff がブロックするウイルス対策/マルウェア対策ソフトウェアの一覧も、アクティベーションサイクル中にロードされるようになりました。
ブロックするアプリケーションの例(すべてではありません)
Gustuff のアクティベーションサイクルにおけるこれらの変更は、攻撃者が、ハードコーディングされたリストを削除して、静的分析の対象となるマルウェアの痕跡を減らすようにしたことを示しています。いずれのコマンドもすでに通信プロトコルに存在し、実行時に使用された可能性があります。
コマンド 結果
今回のマルウェアも、アクティベーションサイクル中にユーザにクレジットカード情報を更新させます。違いは、ユーザが情報を入力するためのパネルをすぐに表示しないことです。代わりにユーザが入力するまで待ち、Android Accessibility API を活用して取得します。被害者にクレジットカード情報を入力させるよう誘導するこの方法は、あまり露骨ではないため、時間はかかっても成功する可能性が高くなります。
通信プロトコルにセカンダリのコマンド実行制御機能が追加されました。各コマンドが発行される際に一意の ID が付与され、Gustuff は、その ID を利用してコマンドの実行状態を確認します。
これにより攻撃者は、実行状態を正確に知ることができます。以前は、コマンドが受信されたかどうかとコマンドの実行結果しかわかりませんでした。この新しい制御メカニズムによって、非同期コマンドも生成されました。マルウェアオペレータは、他のタスクを実行しながらコマンド実行に関するフィードバックを受け取れる、非同期コマンドを発行できるようになりました。「uploadAllPhotos」コマンドと「uploadFile」コマンドは、非同期コマンドです。
これらの変更により、攻撃者は、マルウェアの痕跡を減らしながら、マルウェアをより細かく制御できるようになっています。
今回のバージョンの Gustuff では、デバイスとの連携方法が大きく変わっています。socks サーバ/プロキシに関するコマンドが削除され、そのコマンドに関連するコードもすべて削除されました。この機能によって攻撃者がデバイスにアクセスし、デバイスの UI でアクションを実行できていました。Talos では、このようにして悪意のある活動が行われていたと考えています。また、攻撃者は、WebView を使用してクレデンシャルを収集した後、この接続を利用して、銀行アプリケーションでインタラクティブにアクションを実行すると思われます。
現在この機能は、「interactive」コマンドを使用して実行されています。このコマンドは、アクセシビリティ API を使用して銀行アプリケーションの UI と連携します。この方法は、新しい接続を確立するのではなく、C2 接続を利用するため、ネットワーク上での「ノイズ」が少なくなります。
「script」コマンドも新しい機能です。このコマンドは非常にシンプルですが、大きな可能性を秘めています。Gustuff は、JavaScript を有効にして WebChromeClient を起動します。その後、WebView に JavaScript インターフェイスが追加されます。このインターフェイスによって、マルウェアコードに定義されたメソッドを実行できます。
WebView オブジェクトは、デフォルトでファイルシステムにアクセスできます。それだけでセキュリティリスクが増すわけではありませんが、スクリプトがアプリケーションを介してコマンドにもアクセスできる場合には、攻撃者が、あらゆる種類のスクリプトを実行してタスクを自動化できるようになります。
まとめ
Gustuff は進化を続ける脅威であり、今回のキャンペーンの対象範囲にかかわらず、背後にいる攻撃者は、さらに進化させようとしています。一方マルウェアコードは、静的分析、特にアンパックされた後の分析で検出される痕跡が少なくなるように変更されています。キャンペーンの実施方法に変更はありませんが、マルウェアを使用して不正行為を実施する方法は変わっています。主な標的は、引き続き銀行と暗号通貨ウォレットです。ただし、アプリの一覧とコードが変わっていることから、背後にいる攻撃者が、マルウェアの対象を変えようとしていると思われます。
カバレッジ
SNORT
SID:51908-51922
お客様がこの脅威を検出してブロックできる別の方法を以下に記載します。
Advanced Malware Protection(AMP)は、これらの攻撃者がマルウェアを実行できないようにするための最適な方法です。AMP 内に存在するエクスプロイト防止機能は、このような未知の攻撃からお客様を自動的に保護するように設計されています。
Cisco クラウド Web セキュリティ(CWS)または Web セキュリティ アプライアンス(WSA)の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、これらの攻撃で使用されるマルウェアを検出します。
電子メール セキュリティは、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。
次世代ファイアウォール(NGFW)、次世代侵入防止システム(NGIPS)、およびMeraki MX などのネットワーク セキュリティ アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
AMP Threat Grid は、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を埋め込みます。
シスコのセキュア インターネット ゲートウェイ(SIG)である Umbrella は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。
オープン ソースの SNORT? サブスクライバ ルール セットをお使いであれば、Snort.org で購入可能な最新のルール パックをダウンロードすることで、システムを最新状態に維持できます。
IOC(侵入の痕跡)
IP
88.99.174[.]142
88.99.175[.]152
88.99.170[.]43
88.99.170[.]141
78.46.201[.]36
88.99.174[.]140
ドメイン
instagram-shared[.]pw
instagram-shared[.]store
instagram-shared[.]info
instagram-share[.]com
intagram-share[.]com
instagram-shared[.]net
instagram-shared[.]com
video-hd33[.]site
video-hd30[.]site
video-hd29[.]site
video-hd24[.]site
video-hd20[.]site
video-hd18[.]site
video-hd17[.]site
hd-video5[.]site
hd-video4[.]site
video-hosting[.]site
video-hd1[.]site
video-hd[.]site
hd-video1[.]site
homevideo641a[.]cf
homevideo651a[.]cf
homevideo5-23b[.]ml
homevideo631a[.]cf
homevideo611a[.]cf
homevideo4-23b[.]ml
homevideo641a[.]ga
homevideo3-23b[.]ml
homevideo54-1a[.]ml
videohosting32-e[.]cf
videohosting23c[.]cf
videohosting62-b[.]tk
ハッシュ
5981f8ec5b35f3891022f1f1cdbf092c56a9b0ac8acbcd20810cc22e7efb5e0b – SexyJassica.apk
03d1a55ce6879d79239db32c2c8e83c4a3e10cb9123d513ce7fd04defb971886 – gscptzorx.jar
3027fbd59b8dd25dcabd21800d8e8ab3222a1ae3e2d268857def4311bb01ea2e – gscptzorx.dex
b13e6d70b07d6127d803d2374ebfb1e66a3b4cfd865cc2eb0e45455401be527e – flash
65a7d4f9b3549198b008a089d0c8feb30c5409efc52e8a496f503fa262a6e922 – flash2
本稿は 2019年10月21日に Talos Group のブログに投稿された「Gustuff return, new features for victims」の抄訳です。