- Cisco Talos は先ごろ、「HTTPSnoop」という新しいマルウェアファミリが展開されていることを発見しました。標的にされているのは中東の通信会社です。
- HTTPSnoop はシンプルながら実効性の高いバックドアで、Windows の HTTP カーネルドライバやデバイスとやり取りして HTTP/HTTPS URL の受信リクエストをリッスンし、感染したエンドポイントでそのコンテンツを実行するという新しい手法を導入しています。
- 「PipeSnoop」という「HTTPSnoop」によく似たインプラントも発見しました。PipeSnoop には、名前付きパイプから任意のシェルコードを受け取り、感染したエンドポイントで実行する機能があります。
- これらのインプラントには DLL ベースのバージョンと EXE ベースのバージョンがあり、正規のセキュリティ ソフトウェア コンポーネント、具体的には XDR(Extended Detection and Response)エージェントを装っているので検出が困難になっています。
- Talos では、両インプラントは「ShroudedSnooper」という新たなハッカー集団のものであると判断しています。インプラントで使用されている HTTP URL のパターン(Microsoft Exchange Web Services(EWS)プラットフォームに見せかけた URL など)から、攻撃グループはインターネットに接続しているサーバーを悪用して HTTPSnoop を展開し、最初のアクセスを獲得している可能性があるというのが Talos の見解です。
- ここ数年、巧妙化した攻撃者が頻繁に通信会社を標的にしている傾向が見られますが、今回確認された活動はこうした傾向が継続していることを示しています。Talos インシデント対応チームのデータによると、2022 年に最大の標的となったのが通信業界でした。
通信会社を標的にする脅威の最新動向を明らかにした ShroudedSnooper の活動
HTTPSnoop と PipeSnoop という 2 種類のインプラントと関連する TTP(戦術、手法、手順)は、Talos が追跡している既知のグループのものではありません。したがってこの活動は、Talos では「ShroudedSnooper」と呼んでいる新たなハッカー集団によるものだと考えています。
近年、国家の支援を受けた攻撃グループや巧妙化した攻撃者が世界各国の通信会社を標的にする事例が多発しています。2022 年の Talos IR の対応業務では、最大の標的となった業種の 1 つは一貫して通信業界でした。通信会社は通常、膨大な数の重要インフラ資産を管理しているため、大きな影響を与えようとする攻撃者にとっては優先順位の高い標的となっています。官民のほとんどのサービスが利用している各国の衛星、インターネット、電話ネットワークのバックボーンを形成しているのは、多くの場合通信会社です。また通信会社は、攻撃者が他の企業、加入者、サードパーティのプロバイダーに侵入する入口になる可能性があります。
Talos IR の調査結果は、各国の通信会社を標的としたさまざまな攻撃について他のサイバーセキュリティ企業が報告した内容と一致しています。CrowdStrike 社は 2021 年、APT(高度標的型攻撃)グループ LightBasin(UNC1945)による数年にわたる攻撃について情報を公開しました。標的となったのは世界各地の 13 の通信会社です。侵入先のネットワークで長期的にアクセスを維持するために、Linux ベースのインプラントが使用されていました。同年、「Operation Diànxùn」と名付けられた活動を McAfee 社が発見しました。中国の APT グループ MustangPanada(RedDelta)が関与したものであり、標的となったのはヨーロッパ、米国、アジアの通信会社です。この攻撃では、PlugX というマルウェアインプラントが多用されていました。同じく 2021 年に Recorded Future 社が報告したところでは、中国政府の支援を受けた 4 つの APT グループが、アフガニスタンの通信会社のメールサーバーを標的として攻撃を仕掛けています。この攻撃でもやはり PlugX インプラントが使用されていました。
中東アジアの通信会社を標的とした攻撃もかなり広がっています。2021 年 1 月、Clearsky 社は「Lebanese Cedar」という APT グループについて情報を公開しました。攻撃に使用されたのは RAT マルウェアファミリの「Explosive」と Web シェルで、米国、英国、中東アジアの通信会社が標的になりました。また別の攻撃では、「MuddyWater」という APT グループが中東の通信会社を標的にしたことを Symantec 社が指摘しています。Exchange Server に Web シェルを展開してスクリプトベースのマルウェアとデュアルユースツールをインストールし、ハンズオンキーボード攻撃を行うというものでした。
セキュリティコンポーネントに偽装
Talos は、HTTPSnoop と PipeSnoop の両方が、Palo Alto Networks 社の Cortex XDR アプリケーションのコンポーネントを装っていることも突き止めました。マルウェアの実行ファイル名は「CyveraConsole.exe」であり、これは Windows 用の Cortex XDR エージェントが含まれているアプリケーションです。Talos が発見した HTTPSnoop と PipeSnoop の亜種は、コンパイルのタイムスタンプが改ざんされていましたが、これはバージョン 7.8.0.64264 の XDR エージェントに見せかけたものでした。Cortex XDR v7.8 は 2022 年 8 月 7 日にリリースされ、2023 年 4 月 24 日に廃止されています。したがって、この期間中に両インプラントが攻撃に使用されていたと考えられます。例を挙げると、「CyveraConsole.exe」インプラントの 1 つがコンパイルされたのは 2022 年 11 月 16 日であり、これは Cortex XDR v7.8 が有効だった期間に該当します。
偽の Cortex XDR 情報をもつ HTTPSnoop サンプルのバージョン情報
HTTPSnoop の概要
HTTPSnoop はシンプルながら実効性の高い新種のバックドアであり、下位レベルの Windows API を使用してシステム上の HTTP デバイスと直接やり取りします。HTTPSnoop はこの機能を利用して、特定の HTTP/HTTPS URL のパターンをエンドポイントにバインドし、受信リクエストをリッスンします。指定された URL に対する受信リクエストはすべてインプラントが受け取り、HTTP リクエストに付随するデータのデコードが行われます。デコードされた HTTP データは、実際には、感染したエンドポイントで実行されるシェルコードです。
確認されたすべての HTTPSnoop の亜種は同じコードで構成されており、サンプル間の主な違いは、リッスンする URL のパターンです。これまでのところ、次の 3 種類のパターンを発見しています。
- 一般的な HTTP URL ベース:インプラントによって指定された一般的な HTTP URL をリッスンします。
- EWS 関連 URL リスナー:Microsoft Exchange Web Services(EWS)API を偽装した URL をリッスンします。
- OfficeCore 社の LBS(位置情報サービス)関連 URL リスナー:OfficeCore 社の LBS/OfficeTrack およびテレフォニー アプリケーションを偽装した URL をリッスンします。
HTTPSnoop の亜種
HTTPSnoop の DLL ベースの亜種は通常、無害なアプリケーションやサービスの DLL を悪用して、感染したシステムで起動させます。攻撃者は当初、2023 年 4 月 17 日にこのインプラントの最初の亜種を作成し、エンドポイント上の特定の HTTP URL にバインドして、感染したエンドポイントで実行されるシェルコードの受信ペイロードをリッスンできるようにしました。これらの HTTP URL は、アプリケーションがメールボックスのアイテムにアクセスするための製品である Microsoft Exchange Web Services(EWS)API の URL に似ています。
2023 年 4 月 19 日に生成された 2 つ目の亜種は、4 月 17 日に作成された HTTPSnoop の最初の亜種とほぼ同じです。唯一の違いは、この 2 つ目の亜種がポート 80 とポート 443 の別々の HTTP URL セットを排他的にリッスンするように設定されていることです。これは、攻撃者がインターネットに公開されている EWS 以外の Web サーバーに焦点を当てることを意図していた可能性を示しています。
攻撃者はその後、3 つ目の亜種を作成しました。キルスイッチ URL と、インプラントがリッスンする別の 1 つの URL で構成されるこのインプラントが作成されたのは 2023 年 4 月 29 日です。このバージョンのインプラントは、リッスンする URL の数を最小限にすることで検出される可能性を低くするために作成されたと考えられます。
HTTPSnoop の分析
Talos が分析した DLL はシンプルで、主要コンポーネントは次の 2 つです。
- エンコードされたステージ 2 のシェルコード
- エンコードされたステージ 2 の設定
悪意のある DLL は起動時にステージ 2 の設定とシェルコードを XOR でデコードし、実行します。
ステージの各コンポーネントをデコードするシングルバイトの XOR ルーチン
ステージ 2 の分析
ステージ 2 は、シングルバイトで XOR 演算されたバックドアのシェルコードであり、付随する設定データを使用して、感染したエンドポイントで実行される受信シェルコードをリッスンします。ステージ 2 の一部として、カーネルデバイスへの多数の呼び出しが行われます。これは、バックドアを設置する Web サーバーのエンドポイントを設定するためです。次に、インプラントが「\Device\Http\Communication」へのハンドルをオープンし、HTTP ドライバの API「http.sys!UlCreateServerSession」を IOCTL コード 0x1280000 で呼び出して、HTTP サーバーへの接続を初期化します。続いて、IOCTL コード 0x128010 の http.sys!UlCreateUrlGroup を使用して URL グループを新規作成し、リクエストキューのデバイス「\Device\Http\ReqQueue」をオープンした後、IOCTL コード 0x12801d の http.sys!UlSetUrlGroup を使用してセッションの新しい URL グループを設定します。
さらに、復号した設定を使用し、IOCTL コード l 0x128020 の http.sys!UlAddUrlToUrlGroup を介して HTTP サーバーに URL のフィードを開始します。これにより、指定された URL のパターンがリッスン可能なエンドポイントにバインドされ、マルウェアの通信が可能になります。HTTP サーバーがサービスしている既存の URL のパターンは上書きされないようになっています。これは、EWS などのサーバー上の以前の設定と共存し、URL リスナーの衝突を回避するためです。
URL をカーネルの Web サーバーでリッスンするようにバインドすると、インプラントは http.sys!UlReceiveHttpRequest を介して実行される HTTP 受信リクエストをループでリッスンします。HTTP リクエストのヘッダーに、設定されたキーワード(このサンプルの場合は「api_delete」)が含まれていると、ループで実行されていた感染エンドポイントのリッスンは終了します。リクエストが来ると、インプラントは新しいスレッドを作成し、http.sys!UlReceiveEntityBody を IOCTL コード 0x12403b(Windows Server 2022 バージョン 21H2 を実行している場合は 0x12403a)で呼び出して、攻撃者から完全なメッセージ本文を受信します。リクエストに有効なデータがある場合、リクエストの処理を続行するか、HTTP 302 Found のリダイレクト応答をリクエスト送信者に返します。
有効なデータは base64 でエンコードされており、リクエスト本文の形式で送信されます。デコードにはデータの先頭バイトが使用され、残りのデータをシングルバイト XOR でデコードします。復号されたデータの構造はシンプルです。攻撃者から受信するペイロードは、任意のシェルコードのペイロードです。実行のメタデータは、初期化されていないポインタとサイズ、およびメタデータ構造体のサイズ(定数 0x18)で構成されます。これらの初期化されていないポインタは、シェルコードの実行によって初期化され、最終的に HTTP リクエストへの応答として攻撃者に送り返すデータをインプラントに渡すために使用されます。
C2 のペイロード構造
任意のシェルコードの実行の最終結果は、base64 および XOR でエンコードされた blob の形式でリクエスト送信者(攻撃者)に返されます。応答の先頭バイトは ASCII テーブルのランダムな 1 文字で、これを使用して残りの応答を XOR します。これにより、IOCTL コード 0x12403f の http.sys!UlSendHttpResponse を介して、200 OK 応答とエンコードされた実行結果が本文で返されます。
PipeSnoop の概要
2023 年 5 月に作成された PipeSnoop はシンプルなインプラントです。IPC パイプから任意のシェルコードのペイロードを読み取って、感染したエンドポイントで実行することができます。セマンティクスとしては似ていますが、PipeSnoop は HTTPSnoop のアップグレードというわけではありません。どちらのインプラントも、さまざまな環境で動作するように設計されているようです。HTTPSnoop が使用する HTTP URL はおそらく、Windows 組み込みの Web サーバーへのバインドだけでなく、インターネットに公開されている Web サーバーや EWS サーバーで動作するように設計されています。一方 PipeSnoop はその名が示すとおり、Windows IPC パイプとの間で読み取り/書き込みを行うことで入出力(I/O)機能を実現しています。このことから、HTTPSnoop のような一般に公開されているサーバーではなく、侵入先の企業内でさらなる操作を実行することを目的に設計されていると考えられます。おそらくは、マルウェアを操作する攻撃者にとって価値もしくは優先度が高いエンドポイントに対して使用することが狙いです。PipeSnoop は、必要なシェルコードをフィードする機能を備えた別のコンポーネントと組み合わせて使用されているようです(このコンポーネントは、現在のところ明らかになっていません)。
PipeSnoop の分析
PipeSnoop はシンプルなバックドアです。HTTPSnoop とよく似ていて、感染したエンドポイントで任意のシェルコードを実行するバックドアとして機能することを目的としています。ただし HTTPSnoop とは対照的に、PipeSnoop は HTTP サーバーを介して受信する接続リクエストの開始とリッスンは行いません。PipeSnoop はその名前が示すとおり、単にシステム上の既存の名前付きパイプへの接続を試行します。名前付きパイプは、Windows オペレーティングシステムの IPC(プロセス間通信)の一般的な手段です。ここで重要なのは、PipeSnoop が接続する名前付きパイプがすでに作成(確立)されていることが必須であるということです。PipeSnoop がパイプを作成することはなく、パイプに接続する機能しかありません。このことは、PipeSnoop がエンドポイントで単体のインプラントとしては機能しないことを示しており、これが HTTPSnoop とは異なる点です。PipeSnoop にはもう 1 つ別のコンポーネントが必要です。そのコンポーネントがサーバーとして動作し、いくつかの方法で任意のシェルコードを取得して名前付きパイプを介して PipeSnoop にフィードします。
名前付きパイプに接続して任意のシェルコードを取得するインプラント
インターネット上で無害なトラフィックを偽装する URL
Talos は、接続している感染システムが Microsoft Exchange Web Services(EWS)API をホストしているサーバーであるかのように見せかけた URL パターンを HTTPSnoop がリッスンしていることを確認しました。この URL のポート番号は 443 および 444 で、キーワードとして「ews」と「autodiscover」がパスに含まれていました。
HTTPSnoop のインプラントの中には、OfficeTrack(OfficeCore 社が開発した、さまざまな管理タスクを実行するためのアプリケーション)の HTTP URL を装った URL を使用しているものがあります。URL の末尾が「lbs」や「LbsAdmin」になっているものがありましたが、これはブランド名が OfficeTrack に変わる前のアプリケーション名(OfficeCore 社の LBS System)を指していると思われます。OfficeTrack は現在、ロジスティクス、注文処理のオーケストレーション、設備管理を対象とするワークフォース管理ソリューションとして、特に通信会社向けに販売されています。HTTPSnoop が使用している LBS URL には以下のものがあります。
HTTP URL のパターンには、イスラエルの通信会社のプロビジョニングサービスを装ったものもあります。オープンソースの調査結果によると、この通信会社は、過去に OfficeTrack を使用していたか、現在も使用している可能性があるとのことです。
また、HTTPSnoop インプラントの URL のいくつかは、通信会社のシステムの URL に関連しています。
カバレッジ
今回の脅威は、以下の製品で検出してブロックすることが可能です。
Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。
Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。
Threat Defense Virtual、適応型セキュリティアプライアンス、Meraki MX など、Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトを検査します。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。
注:この脅威とハッカー集団に関する Talos の調査結果は、Microsoft 社および Palo Alto Networks 社と共有しています。
ClamAV で、次の脅威を検出できます。
Win.Trojan.WCFBackdoor
侵入の痕跡(IOC)
この脅威に関連する IOC は、こちらをご覧ください。
本稿は 2023 年 09 月 19 日に Talos Group のブログに投稿された「New ShroudedSnooper actor targets telecommunications firms in the Middle East with novel Implants」の抄訳です。