エクスプロイト&脆弱性
脆弱性攻撃ツール「Purple Fox」に採用された新たな攻撃経路と高度化するツール群を解説
本ブログ記事では、Purple Foxに採用された新たな侵入経路と、Purple Foxボットネットの背後に存在する侵入ツール群との関連性が示唆される感染チェーンの初期段階で用いられるアクセスローダを取り上げます。
トレンドマイクロは2018年に世界で3万人以上のユーザが感染被害を受けたとする報道がなされて以来、脆弱性攻撃ツール「Purple Fox」の脅威を継続的に追跡調査しています。本ブログではこれまでにも、Purple Foxが暗号資産採掘ツール(コインマイナー)を感染PC端末内にダウンロードして実行する手口や、新種のバックドア型マルウェアを追加すると同時に、自身のインフラストラクチャを高度化させ続ける手口などを取り上げてきました。
本ブログ記事では、Purple Foxに採用された新たな侵入経路と、Purple Foxボットネットの背後に存在する侵入ツール群との関連性が示唆される感染チェーンの初期段階で用いられるアクセスローダを取り上げます。トレンドマイクロのデータでは、ユーザのPC端末が正規のアプリインストーラを偽装したトロイの木馬型ソフトウェアパッケージの標的となっていることが明らかとなりました。この偽インストーラは、ユーザを騙してボットネット全体のインフラを拡大するために積極的にインターネット上で頒布されています。他のセキュリティ会社もまた、PurpleFoxの最近の活動や最新のペイロードについて報告しています。
Purple Foxのオペレータは、高度化し続けている遠隔操作ツール「FatalRAT」の亜種を含む新たなマルウェアを用いて自身の攻撃手口を継続的に更新していると同時に、ウイルス対策製品のセキュリティ機能を回避するために署名されたルートキット(攻撃ツール群)を高度化しようと試みています。これらの注目すべき変更点については、以下の項で概説します。詳細は、トレンドマイクロの技術論文(英語)をご参照ください。
■ Purple Foxの感染チェーンとペイロードの更新点
攻撃者は、第一段階のローダを同梱させた偽のソフトウェアパッケージを用いてマルウェアを頒布します。攻撃者は、「Telegram」、「WhatsApp」、「Adobe」、「Chrome」などの人気のある正規アプリの名前を悪用して、悪意のあるパッケージのインストーラを隠匿します。
この偽インストーラには、特定のペイロードに対応する特定の一文字が含まれています(図1で「A」と強調表示)。第二段階のペイロードは、親プロセス(実行ファイル)から第一段階の遠隔操作サーバ(C&Cサーバ)に送信されるリクエスト内の一文字として追加されます(図2に「r」として強調表示)。この一文字は、モジュールファイル名の最後の文字を使って取得された後、第一段階のC&Cサーバは、リクエスト内で送信された実行ファイルのタイムスタンプを文字と一緒にログに記録します。この一文字により、悪意のあるインストーラを感染PC端末上で作成するためにどのペイロードを返送するか、が決定します。
Purple Foxは2019年に観測された攻撃キャンペーンで、感染PC端末上にファイルを設置するC&Cサーバを稼働させるために、HTTPファイルサーバ(HFS)を悪用していました。トレンドマイクロは最新の調査で、Purple Foxの背後にいる攻撃者グループが第二段階の検体すべて(更新されるタイムスタンプを含む)を設置するために用いた外部公開されたHTTPファイルサーバを発見しました。トレンドマイクロは、これらのタイムスタンプのデータを用いて、外部公開されたサーバにプッシュされた第二段階のパッケージの更新頻度を追跡調査しました。図3は、更新情報を受け取った第二段階の不正パッケージの数を示しています。Purple Foxグループは、本稿執筆時点においても自身のコンポーネントを積極的に更新し続けていることが明らかとなりました。
■ Purple Foxに採用された注目すべき攻撃ツールや手法
svchost.txt内で見つかった偽パッケージおよび不正コンポーネント
トレンドマイクロはPurple Foxグループが偽装したソフトウェアの中に、中国ユーザがよく利用する正規パッケージの名前が含まれていることに注目しました。以下の表1は、最近用いられたソフトウェアと感染チェーンの第二段階で対応する悪意のあるペイロードを示したものです。先ほどご紹介した通り、モジュールファイル名の最後の文字に基づき、実行時に異なるペイロードがC&Cサーバから配信されます。
トレンドマイクロは、第二段階のペイロードが設置されているサーバを追跡調査したところ、圧縮されたRARアーカイブ内で、第二段階のローダおよび第二段階で作成されるすべての不正なポータブル実行可能(PE)モジュールコンポーネントを含むファイル「svchost.txt」を確認しました。
svchost.txt内のPEモジュールの配列は、偽インストーラがリクエストしたパッケージによって異なります。先ほどご紹介した通り、偽インストーラのファイル名の最後の文字に基づき、svchost.txt内に格納される補助モジュールの最終セットが決まります。
ユーザモードで動作するシェルコードローダおよびアンチフォレンジック手法
マルウェアから最も頒布されたクラスタの一つで見つかったポータブル実行可能(PE)モジュールの特定のセットは、セキュリティ機能を回避するための幅広い機能を備えていました。このクラスタは、以下のような理由により注目に値します。
- 以前の攻撃キャンペーンでPurple Foxが用いたMSIインストーラを読み込んだり、他のマルウェアファミリ(情報窃取型マルウェア「Zegost」)とのつながりがある点
- 補助PEモジュール内に異なるルートキット機能を備えている点
このクラスタの詳細については、トレンドマイクロの技術論文(英語)をご参照ください。
トレンドマイクロは、異なるクラスタを配信していたすべての親プロセス(実行ファイル)を分析した結果、作成されたsvchost.txtのプロローグに存在するシェルコードのコンポーネントは、シェルコードの後に埋め込まれた実際のペイロードに関係なく、異なる亜種すべてにおいて類似していることが判明しました。このコンポーネントは、すべてのクラスタにわたって2つの異なる実装機能を備えています。
一つ目のシェルコードは、意図した機能に対する主要な機能を4つ実装します(図4)。
一方、新たに実装されたもう一つのシェルコードは、メモリ内にPEモジュールを読み込み、システムAPIのIPアドレスをいくつか構文解析(パース)するために、重要な機能のみを実装しているため、より最小限に抑えられています。このシェルコードは、最初に解説したシェルコードとは異なるシステムAPIを名前解決します。
もう1つ注意すべき点は、Purple Foxグループがサイバーセキュリティにおけるフォレンジックの手法に対してほとんど痕跡を残さないようにカスタマイズしたユーザモードのシェルコードローダを実装していることです。これによりコード実行の際にネイティブローダに依存せず、実行を成功させるためにPE形式にこだわる必要がないため、フォレンジック・エビデンスの量と質の両方を最小限に抑えています。
遠隔操作ツール「FatalRAT」の使用と段階的な更新手口
シェルコードがsvchost.txt内のPEモジュールをメモリに読み込んで割り当てた後、実行フローは、シェルコードの後に見つかった最初のPEモジュールを呼び出します。これは、「FatalRAT」として知られるマルウェアから機能を継承した遠隔操作ツール(RAT)であり、攻撃者のために幅広いリモート操作機能を実装しているC++で巧妙に開発された遠隔操作ツールです。
実行されたFatalRATの亜種はクラスタごとに異なっており、攻撃者が段階的に更新していることを示しています(図5~6)。
この遠隔操作ツールは、感染PC端末上で実行された検査結果に基づいて補助モジュールを読み込み、実行する役割を担っています。感染PC端末上で特定のウイルス対策製品が稼働していたり、レジストリキーが検出されたりすると、改変が行われる可能性があります。Purple Foxグループは、特定の目的を遂行するために補助モジュールを用います。
サイバーセキュリティ機能を回避するための新機能
トレンドマイクロが分析したsvchost.txt内に埋め込まれた実行ファイルの1つは、付属のルートキットモジュールとのインターフェースに使用されるクライアント(ユーザモード)です。このクライアントは5つの異なるコマンドをサポートしており、各コマンドは特定の機能を実装します。それらの機能は、適切な入出力制御(IOCTL)インターフェースが公開されているカーネルドライバから実行されます。表2に、各コマンドの詳細を示します。
セキュリティ回避における「ミニフィルタを強制終了させる」機能には注意が必要です。ファイルシステムは、ファイルにアクセスする入出力(I/O)操作(処理)の標的であり、ファイルシステムのフィルタリングは、ファイルシステムに送られる呼び出しをドライバが傍受する為に必要な機構であり、特にセキュリティ対策製品にとって有用なものです。「ファイルシステム・ミニフィルタ」と呼ばれるモデルは、従来のフィルタ機構を置き換えるために開発されました。ミニフィルタは記述が簡単で、多くのセキュリティ対策製品に対するファイルシステム・フィルタドライバの開発手段として推奨されています。
トレンドマイクロは、ミニフィルタドライバを強制終了させる機能や、攻撃者がこの機能をどのように実装させたかをさらに詳しく調査しました。ドライバはまず、システムAPI「FltEnumerateFilters」を使って感染PC端末上に登録されたミニフィルタドライバをすべて列挙した後、「FltGetFilterInformation」を呼び出して検索対象のミニフィルタオブジェクト情報を取得します。最後にドライバは、ミニフィルタドライバの登録を解除するために新たなシステムスレッドを作成し、作成したシステムスレッド「PsCreateSystemThread」、「FltUnregisterFilter」を強制終了させます。
図7に、この機能に用いられるシステムAPIの具体的なコールグラフを示します。
Purple Foxグループが失効したコード署名証明書を悪用した手口
カーネル空間で実行されるコードの品質を制御するために、Microsoft社は署名されたドライバのみをカーネルモードで実行することを許可しています。これは、カーネルモードにおけるコード署名(KMCS)の仕組みを適用することで実行されます。
実際のところWindows端末は、パフォーマンスの問題と後方互換性のために、失効したコード署名証明書によって署名されたカーネルドライバの読み込みを許可しています。このため、以前のカーネルドライバをテストし、失効させることで、正常に読み込ませることが可能になります。熟練した攻撃者はこの設計上発生してしまう選択肢を悪用することにより、窃取したコード署名証明書を追跡・追求し、マルウェアの手口に加えることができます。マルウェアの作成者が、信頼できる認証局やMicrosoft社によって検証された任意の証明書を取得した場合、たとえそれが失効したものだとしても、攻撃者は不正活動の目的に用いる可能性があります。
以前に確認されたPurple Foxの活動やアーティファクトとの関連性
新たに確認されたPurple Foxの感染チェーンにより作成されたアーティファクトを分析するためにトレンドマイクロはまず、カーネルモジュールへの署名に用いられた、窃取されたコード署名証明書を確認しました。これによりトレンドマイクロは、弊社のマルウェアレポジトリ内に存在する別の署名された検体を分析することにつながり、以前に確認された侵入ツール群との関連性を明らかにしました。
今回調査した攻撃キャンペーンとの関連性が確認された、3つの異なる窃取されたコード署名証明書の悪用手口およびトレンドマイクロが分析したさまざまな検体を紐づける証拠について以下に概説します。
- Hangzhou Hootian Network Technology Co., Ltd. - トレンドマイクロは2019年に開始されたPurple Foxボットネットの初期活動との強いつながりを確認しました。
- 上海域联软件技术有限公司(Shanghai Oceanlink Software Technology Co. Ltd) - トレンドマイクロの分析により、Purple Foxの攻撃活動で以前に用いられた悪意のあるカーネルモジュールのクラスタが複数明らかとなりました。
- Shanghai easy kradar Information Consulting Co. Ltd. - この証明書は、Purple Foxの攻撃活動で以前にも確認された共通のカーネルドライバのクラスタに署名している点で「Hangzhou Hootian Network」と一致します。
本記事で概説した攻撃キャンペーンは、上記以外の点においても、攻撃インフラの運営方法やC&Cサーバ上に設置されているマルウェアの種類など、以前のPurple Foxの活動と類似しています。
- 第一段階のC&Cサーバ「202[.]8.123[.]98」は、FatalRATのオペレータとPurple Foxを紐づけています。このC&Cサーバ上には今回の攻撃キャンペーンで用いられた圧縮されたアーカイブが設置されていますが、FatalRATが以前に主要なC&Cサーバとして使用していたものです。
- 第一段階で用いられるC&Cサーバの1つ(194[.]146[.]84[.]245)には、Purple Foxが用いるMSIインストーラ(e1f3ac7f.moe)の古いモジュールが設置されており、最終的には以前のブログ記事で解説したようにコインマイナーを読み込みます。
- 第一段階のC&Cサーバ上で見つかった悪意のあるアーカイブから作成されるFatalRATは、セキュリティ企業「Fortinet社」の報告により、情報窃取型マルウェア「Zegost」とのコードの類似点が明らかとなりました。これらのPurple Foxキャンペーンで用いられたモジュールとZegostの古い検体との間に見られる共通点については、トレンドマイクロの技術論文をご参照ください。
■ まとめ
Purple Foxボットネットのオペレータは現在も活動を続けており、常に新たなマルウェアを用いて攻撃手口を更新していると同時に、保有するマルウェアの亜種も高度化させています。また、セキュリティ機能を回避するために署名されたルートキット(攻撃ツール群)を高度化させ、カスタマイズされた署名済みカーネルドライバを用いて、検出機能の回避を試みています。窃取されたコード署名証明書や保護されていないドライバを悪用する手口は、攻撃者の間で一般的になりつつあります。ドライバソフトウェアのベンダは、コード署名証明書の安全性を確保し、Windowsカーネルドライバの開発プロセスにおけるベストプラクティスに準拠する必要があります。
本記事の詳細については、トレンドマイクロの技術論文(英語)をご参照ください。
■ 侵入の痕跡(Indicators of Compromise、IoC)
今回の記事に関する侵入の痕跡は、こちらをご参照ください。
参考記事:
- 「Purple Fox Uses New Arrival Vector and Improves Malware Arsenal」
by Sherif Magdy, Abdelrhman Sharshar, Jay Yaneza
翻訳:益見 和宏(Core Technology Marketing, Trend Micro™ Research)