FireEye は今年、Click2Gov のオンプレミス インストールを含む Web 決済ポータルを標的としたキャンペーンを追跡してきました。 Click2Govは、Superion が開発した Web ベースのインタラクティブなセルフサービスの請求書支払いソフトウェア ソリューションです。これには、ユーティリティ、建築許可、事業許可など、さまざまな地方自治体のサービスに関連する請求書をユーザーが支払うことを可能にするさまざまなモジュールが含まれています。 2017 年 10 月、Superion は、疑わしい活動が少数の顧客に影響を与えたことを確認する声明を発表しました。 2018 年 6 月中旬、このキャンペーンの影響を受けた可能性のある Click2Gov の顧客が少なくとも 7 人いると多くのメディアが報じました。 2018 年 6 月以降、追加の被害者が公開報告で特定されています。これらの組織による公式声明のレビューにより、Click2Gov に関連する侵害が確認されたようです。
2018 年 6 月 15 日、Superion は、影響を受ける顧客への積極的な通知、サードパーティのフォレンジック会社 (Mandiant ではない) との協力、Click2Gov ソフトウェアおよび関連するサードパーティ コンポーネントへのパッチの展開について説明する声明を発表しました。その後、Superion は、推奨されるパッチと構成を備えたホスト型またはセキュアなオンプレミス ネットワークで Click2Gov を使用して支払いを行うことが安全でないという証拠はないと結論付けました。
Mandiant は、侵害されたシステムをフォレンジックに分析し、このキャンペーンに関連するマルウェアを回復しました。これにより、この新しい攻撃者の能力に関する洞察が得られました。 VirusTotal の報告によると、この記事の時点で、議論されているマルウェア ファミリはアンチウイルス ソリューションによる検出率が非常に低くなっています。
攻撃の概要
キャンペーンの第 1 段階は通常、攻撃者が SJavaWebManage Web シェルをアップロードして、侵害された Click2Gov Web サーバーとのやり取りを容易にすることから始まりました。 Web シェルとの対話を通じて、攻撃者は Click2Gov 構成ファイルでデバッグ モードを有効にし、アプリケーションが支払いカード情報を平文のログ ファイルに書き込むようにしました。次に攻撃者は、FireEye が FIREALARM と呼ぶツールを Web サーバーにアップロードして、これらのログ ファイルを解析し、支払いカード情報を取得し、エラー メッセージを含まないすべてのログ エントリを削除しました。さらに、攻撃者は別のツール SPOTLIGHT を使用して、HTTP ネットワーク トラフィックから支払いカード情報を傍受しました。このブログ投稿の残りの部分では、攻撃者の戦術、手法、および手順 (TTP) の詳細について掘り下げます。
SJavaWebWeb シェルの管理
攻撃者が Click2Gov Web サーバーをどのように侵害したかはわかっていませんが、CVE-2017-3248、CVE-2017-3506、または CVE-2017-10271 などの Oracle Web Logic を標的とするエクスプロイトを使用した可能性があります。任意のファイルをアップロードするか、リモート アクセスを実現します。脆弱性を悪用した後、攻撃者は公開されている JavaServer Pages (JSP) Web シェル SJavaWebManageのバリアントをアップロードして、Web サーバーでの永続性を維持しました。 SJavaWebManage は、図 1 に示すように、4 つの特定のページにアクセスするために認証を必要とし、Tomcat サービスのコンテキスト (デフォルトではローカル システム アカウント) でコマンドを実行します。
- EnvsInfo : Java ランタイムに関する情報、Tomcat のバージョン、および環境に関するその他の情報を表示します。
- FileManager : ファイルを参照、アップロード、ダウンロード (オリジナルまたは圧縮)、編集、削除、およびタイムスタンプする機能を提供します。
- CMDS : cmd.exe (Windows 以外のシステムの場合は /bin/sh) を使用してコマンドを実行し、応答を返します。
- DBManage : 接続、データベース メタデータの表示、および SQL コマンドの実行により、データベースと対話します。
公開されている Web シェルとこの亜種との相違点には、検出を妨げる可能性があるように変更された変数名、英語に変更された漢字、削除された SjavaWebManage への参照、および削除された Web シェルへの更新を処理するコードが含まれます。さらに、キャンペーンの調査中に特定された亜種には、サーバー上のファイルのタイムスタンプを操作する機能が含まれていました。この機能は、パブリック バージョンにはありません。 SJavaWebManage Web シェルは、侵害されたホストと簡単にやり取りして操作するための十分なインターフェイスを攻撃者に提供しました。
攻撃者は、Click2Gov XML 構成ファイルを編集した後、SJavaWebManage CMDS ページを使用して DEBUG モードでモジュールを再起動します。 DEBUG ログ オプションを有効にすると、Click2Gov モジュールは、命名規則 Click2GovCX.logYYYY-MM-DD を使用して、平文の支払いカード データを Click2Gov ログ ファイルに記録します。
火災警報
攻撃者は、Web シェル内の対話型コマンドを使用して、FireEye が追跡するデータマイニング ユーティリティを FIREALARM としてアップロードおよび実行しました。このユーティリティは、Click2Gov ログ ファイルを解析して、支払いカード データを取得し、データをフォーマットして、コンソールに出力します。
FIREALARM は C/C++ で記述されたコマンド ライン ツールで、3 つの数値を引数として受け取ります。サンプル コマンド ラインでは、年、月、日は次のように表されます。evil.exe 2018 09 01。この例から、FIREALARM は 2018-09-01 から現在までのログを開いて解析しようとします。ログ ファイルが存在する場合、FIREALARM は MAC (変更、アクセス、作成) 時刻を後の時刻にコピーし、対応するファイルを元の時刻に戻します。次に、各ログ ファイルが 1 行ずつ読み取られ、解析されます。 FIREALARM は、各行で次の内容を検索し、データを解析します。
- medium.アカウント番号
- medium.cvv2
- medium.expirationDate.year
- medium.expirationDate.month
- medium.firstName
- medium.lastName
- medium.middleイニシャル
- medium.contact.address1
- medium.contact.address2
- medium.contact.city
- medium.contact.state
- medium.contact.zip.code
このデータはフォーマットされ、コンソールに出力されます。マルウェアは、テキスト ERROR – を含む行も検索します。この文字列が見つかった場合、ユーティリティはその内容を %WINDIR%tempTHN1080.tmp という名前の一時ファイルに保存します。 Click2GovCX ログ ファイルのすべての行を検索した後、一時ファイル THN1080.tmp がコピーされて、それぞれの Click2GovCX ログ ファイルが置き換えられ、タイムスタンプが元のコピーされたタイムスタンプに置き換えられます。その結果、FIREALARM は支払いカード情報をコンソールに出力し、各 Click2GovCX ログ ファイルから支払いカード データを削除して、エラー メッセージだけを残します。最後に、THN1080.tmp 一時ファイルが削除されます。このプロセスを図 2 に示します。
- 攻撃者は Tor やその他のプロキシを通過し、SjavaWebManage に対して認証を行います。
- 攻撃者は、Web シェル経由でコマンド プロンプトを起動します。
- 攻撃者はパラメータを指定して FIREALARM を実行します。
- FIREALARM は、ログ ファイルを検証して反復し、MAC 時間をコピーし、支払いカード データを解析してコンソールに出力し、エラー メッセージを THN1080.tmp にコピーし、元のログ ファイルを上書きし、元の時間でタイムスタンプします。
- THN1080.tmp を削除します。
スポットライト
その後、侵害されたシステムへの攻撃者のアクセス中に、攻撃者は Web シェルを使用してネットワーク スニファ FireEye トラックを SPOTLIGHT としてアップロードしました。このツールにより、攻撃者はホストへの持続性が向上し、支払いカード データの継続的な収集が可能になり、Click2GovCX ログ ファイルが管理者によって削除された場合でも、マイニングされたデータが失われないようになりました。 SPOTLIGHT も C/C++ で記述されており、コマンド ライン引数でインストールするか、サービスとして実行することができます。サービスとして実行される場合、そのタスクには、2 つの JSP ファイルが存在することの確認、および特定の HTTP POST 要求コンテンツのネットワーク トラフィックの監視とログ記録が含まれます。
SPOTLIGHT は、次の 2 つのコマンド ライン引数を受け入れます。
- gplcsvc.exe -i 表示名が Group Policy Service の gplcsvc という名前の新しいサービスを作成します。
- gplcsvc.exe -u gplcsvc という名前のサービスを停止して削除します
インストール時に、SPOTLIGHT は感染したホスト上の 2 つのパスを 1 時間ごとに監視します。
- C:beac2gdomainapplicationsClick2GovCXscriptsvalidator.jsp
- C:beac2gdomainapplicationsePortalLocalServiceaxis2-webRightFrame.jsp
いずれかのファイルが存在しない場合、マルウェア Base64 は、埋め込まれた SJavaWebManage Web シェルをデコードし、同じファイルをいずれかのパスに書き込みます。これは、攻撃者が最初の侵入時にインストールした Web シェルと同じものです。
さらに、SPOTLIGHT はポート 80 および 7101 で IPv4 TCP トラフィックを検査するソケット リスナーを開始します。Superion インストール チェックリストによると、TCP ポート 7101 は、内部ネットワークから Click2Gov Web サーバーへのアプリケーション解決に使用されます。接続の内容が GET / で始まらない限り、マルウェアは受信したパケットのバッファを保存し始めます。マルウェアは、2 つの条件のいずれかが発生するまで、パケットの内容を内部バッファーに保存し続けます。バッファーのサイズが 102399 を超えるか、パケットの内容が文字列 POST /OnePoint/services/OnePointService で始まります。これら 2 つの条件のいずれかが発生した場合、内部バッファー データで次のタグが検索されます。
- <at:AccountNum>
- <on:CSC>
- <on:有効期限>
- <at:名>
- <at:姓>
- <at:ミニマル>
- <at:Street1>
- <at:Street2>
- <on:都市>
- <on:状態>
- <at:郵便番号>
タグ間のコンテンツが抽出され、区切り文字として使用される `|` でフォーマットされます。フォーマットされたデータは Base64 でエンコードされ、ハードコードされたファイル パス c:windowstempopt.log にあるログ ファイルに追加されます。次に、攻撃者は SJavaWebManage を使用して、支払いカード データを含む Base64 でエンコードされたログ ファイルを盗み出しました。 FireEye は、侵害されたホストの SSL 構成設定の操作や、暗号化されていないポートへの SSL トラフィックのリダイレクトを確認していません。このプロセスを図 3 に示します。
- SPOTLIGHT は Webshell ファイルを 1 時間ごとに検証し、欠落している場合は SJavaWebManage を書き込みます。
- SPOTLIGHT は、ポート 80 または 7101 で IPv4 TCP トラフィックを検査し、受信パケットのバッファを保存します。
- ユーザーは Click2Gov モジュールにアクセスして支払いを行います。
- SPOTLIGHT は、支払いカード データのパケットを解析し、Base64 でエンコードして opt.log に書き込みます。
- 攻撃者は Tor または他のプロキシを通過し、SJavaWebManage に対して認証を行い、ファイル マネージャーを起動します。
- 攻撃者は opt.log ファイルを盗み出します。
帰属
入手可能なキャンペーン情報に基づくと、この攻撃者は、FireEye が現在追跡している金銭目的の脅威グループとは一致しません。攻撃者が Click2Gov ホスト要件、プロセス ログの詳細、支払いカード フィールド、および内部通信プロトコルを理解していることは、Click2Gov アプリケーションの高度な知識を示しています。アンダーグラウンド フォーラムやマーケットプレイスの機能を考えると、ツールの開発が第三者に委託され、侵害されたシステムへのリモート アクセスが 1 つのエンティティによって達成され、別のエンティティに売却された可能性があります。この攻撃者についてはまだ解明されていないことがたくさんあります。
攻撃が 1 人の個人によって行われた可能性もありますが、FireEye は、次の必要なスキルセットに基づいて、このキャンペーンにチームが関与した可能性が高いと中程度の確信を持って評価しています。
- Click2Gov のインストールを特定し、悪用可能な脆弱性を特定する機能。
- エクスプロイトを作成または再利用して、標的の組織のネットワーク環境に侵入する能力。
- 基本的な JSP プログラミング スキル。
- 中程度に高度なマルウェアを開発するのに十分な Click2Gov 支払いプロセスとソフトウェアに関する高度な知識。
- 熟練した C/C++ プログラミング スキル。
- 運用上のセキュリティに関する一般的な認識。
- 盗まれた支払いカード情報を収益化する機能。
結論
FireEye は、厳格なパッチ管理プログラムに加えて、組織がファイル整合性監視ソリューションを実装して、静的コンテンツと、e コマース Web サーバー上の動的コンテンツを生成するコードを監視し、予期しない変更がないかどうかを検討することを推奨しています。もう 1 つのベスト プラクティスは、すべての Web サービス アカウントが少なくとも特権で実行されるようにすることです。
攻撃のライフサイクルで観察された TTP は、FireEye が追跡した他の金銭目的の攻撃グループと概ね一致していますが、この攻撃者は Click2Gov のインストールを悪用するマルウェアを巧妙に作成し、中程度の成功を収めました。新たな形で発生する可能性はありますが、FireEye は、この攻撃者がインタラクティブで金銭目的の攻撃を継続すると予想しています。
検出
FireEyeのTechnical Operations & Reverse Engineering – Advanced PracticesのAdversary Pursuit Teamは、Mandiant ConsultingおよびFireEye Labs Advanced Reverse Engineering (FLARE)と協力して調査を行い、組織を標的とした国家または金銭的利益の侵入を直接支援していると評価され、インタラクティブで焦点を絞った取り組みを行います。この関係の相乗効果により、FireEye は、現在追跡されている脅威グループに関連する新しい活動、脅威グループが利用する新しい脅威アクター、高度なマルウェア、または TTP を迅速に特定し、FireEye エンタープライズ全体でそれらを迅速に軽減することができます。
FireEye は、このブログ投稿に記載されているマルウェアを次のように検出します。
- FE_Tool_Win32_FIREALARM_1
- FE_Trojan_Win64_SPOTLIGHT_1
- FE_Webshell_JSP_SJavaWebManage_1
- Webshell.JSP.SJavaWebManage
侵害の痕跡 (MD5)
SJavaWebManage
- 91eaca79943c972cb2ca7ee0e462922c
- 80f8a487314a9573ab7f9cb232ab1642
- cc155b8cd261a6ed33f264e710ce300e (公開バージョン)
火災警報
- e2c2d8bad36ac3e446797c485ce8b394
スポットライト
- d70068de37d39a7a01699c99cdb7fa2b
- 1300d1f87b73d953e20e25fdf8373c85
- 3bca4c659138e769157f49942824b61f
参照: https://www.mandiant.com/resources/blog/click-it-up-targeting-local-government-payment-portals
Comments