IISpy: フォレンジック対策機能を備えた複雑なサーバー側バックドア

ソースノード: 1860948

IIS の脅威に関するシリーズの 2 回目では、侵害されたサーバーでの長期的なスパイ活動を確保するために巧妙なトリックを使用する悪意のある IIS 拡張機能を詳しく分析します。

ESETの研究者は、これまで文書化されていなかったバックドアを発見し、分析しました。 インターネット 情報サービス (IIS)、Microsoft の Web サーバー ソフトウェア。私たちが IISpy と名付けたこのバックドアは、長期にわたるスパイ活動を行うために、さまざまなトリックを使用してサーバーのログ記録を妨害し、検出を回避します。 IISpy は、ESET セキュリティ ソリューションによって Win{32,64}/BadIIS として検出されます。

このブログ投稿は、ESET の研究者が IIS Web サーバーの脅威を顕微鏡下で調査するシリーズの 2 回目の記事です。他の部分では、次の目的で使用される IIS マルウェアについて説明します。 サイバー犯罪 および SEO詐欺それぞれ。 IIS マルウェアを検出、分析、削除する方法に関する包括的なガイドについては、ホワイト ペーパー「ネイティブ IIS マルウェアの解剖学」を参照してください。そこでは、IISpy が研究対象ファミリー (グループ 7) の XNUMX つとして取り上げられています。

攻撃の概要

ESET テレメトリによると、このバックドアは少なくとも 2020 年 XNUMX 月からアクティブであり、以下の目的で使用されています。 ジューシーポテト (ESET セキュリティ ソリューションによって Win64/HackTool.JuicyPotato として検出されます)、これは権限昇格ツールです。攻撃者は、まず何らかの脆弱性を介して IIS サーバーへの初期アクセスを取得し、その後、 ジューシーポテト 管理者権限を取得するには、 インストールするために必要な ネイティブ IIS 拡張機能としての IISpy。

弊社のテレメトリによると、IISpy はカナダ、米国、オランダにある少数の IIS サーバーに影響を与えていますが、管理者がサーバー上でセキュリティ ソフトウェアを使用しないのが依然として一般的であるため、これがすべてではない可能性があります。 IIS サーバーに対する可視性は限られています。

IISpy は IIS 拡張機能として構成されているため、侵害された IIS サーバーが受信したすべての HTTP 要求を確認し、サーバーが応答する HTTP 応答を形成できます。 IISpy は、このチャネルを使用して C&C 通信を実装し、IISpy が IISpy として動作できるようにします。 パッシブネットワークインプラント。図 1 に示すように、オペレーター (バックドアではない) は、侵害されたサーバーに特別な HTTP リクエストを送信して接続を開始します。バックドアは攻撃者のリクエストを認識し、埋め込まれたバックドア コマンドを抽出して実行し、コマンド出力を含めるように HTTP 応答を変更します。

次のバックドア コマンドがサポートされています。

  • システム情報の取得
  • ファイルのアップロード/ダウンロード
  • ファイルまたはシェルコマンドを実行する
  • リバースシェルを作成する
  • ファイルとフォルダーの作成/一覧表示/移動/名前変更/削除
  • ローカルドライブとリモートドライブ間のマッピングを作成する
  • 収集したデータを抜き出す

IISpy は、正規の訪問者によって侵害された IIS サーバーに送信された他のすべての HTTP リクエストを無視します。もちろん、これらは依然として無害なサーバー モジュールによって処理されます。

図 1. IISpy バックドア制御メカニズム

図 1. IISpy バックドア制御メカニズム

ネットワーク通信

IISpy のオペレーターからの制御リクエストには、事前定義された構造があり、それらの間の特定の (隠された) 関係があります。 クッキー および ライブ、セミライブ、オンデマンドビデオ ヘッダーと URL。このようなリクエストを識別するために、IISpy はまず URL と URL の両方の MD5 ハッシュを計算します。 ライブ、セミライブ、オンデマンドビデオ インバウンド HTTP リクエストのヘッダーを作成し、各 MD5 を XNUMX つのダブルワードに分割します。

  • = md0(ホストヘッダー値)
  • = md0(生の URL 値)

次に、Cookie ヘッダーに次の値から構築された部分文字列が含まれていることを確認します。

  • <r1><h2>=<h3><r2><r3><r0><h0><h1>

図 2 は、この部分文字列がどのように組み立てられるかを示しています。バックドア コマンドは HTTP 本文に埋め込まれ、AES-CBC で暗号化され、base64 でエンコードされます。

図 2. IISpy コントロールの HTTP 要求フォーマット

図 2. IISpy コントロールの HTTP 要求フォーマット

この制御リクエストの構造は IISpy、つまり他のすべての既知の IIS バックドア (ホワイト ペーパーに記載されています) に固有であることに注意してください。 ネイティブIISマルウェアの構造) は、ハードコードされたパスワード、特定の URI、またはカスタム HTTP ヘッダーによって制御されます。これらの「秘密」とは対照的に、IISpy の制御リクエストはフィンガープリントを取得してログ内で見つけるのがより困難であり、C&C 通信が気づかれないようにする試みです。

もう 1 つの同様のトリックは、通信の反対側で使用されます。IISpy は、暗号化およびエンコードされた応答を、偽の PNG 画像内の、PNG ファイルのヘッダー間に埋め込みます。 TEXT or BLOB かたまり。制御 HTTP 要求に応答するために、IISpy は元の HTTP 応答本文 (IIS サーバーによって送信された) を偽の PNG ファイルに置き換え、 コンテンツタイプ へのヘッダー 画像/ PNG この茶番劇の信頼性を高めるために。

C&C 通信の両側は、次のパラメータを使用して AES-CBC 暗号化され、base64 でエンコードされます。

  • 暗号化キー: DA1F8BE19D9122F6499D72B90299CAB080E9D599C57E802CD667BF53CCC9EAB2
  • IV: 668EDC2D7ED614BF8F69FF614957EF83EE

テクニカル分析

技術的な観点から見ると、IISpy はネイティブ IIS モジュール、つまり、 %windir%system32inetsrv または %windir%SysWOW64inetsrv 侵害された IIS サーバー上の次の名前のフォルダー cache.dll or logging.dll.

IISpy は、IIS 拡張機能として構成されています。 %windir%system32inetsrvconfigApplicationHost.config 構成ファイルなので、IIS ワーカー プロセスによって自動的にロードされます (w3wp.exe)、IIS Web サーバーに送信されるすべてのリクエストを処理します。実行と永続性に関しては、IISpy を IIS モジュール自体として構成すると、すべてのチェックボックスがチェックされます。悪意のあるモジュール内で実装する必要があるのは、実際のリクエストの処理だけです (さらに、いくつかの検出防止およびフォレンジック対策のトリックも追加されます)。 )。このセクションでは両方について説明します。

モジュール設計

IISpy は、 IIS C++ API、のインスタンスを使用します IHttpContext, IHTTPリクエスト および IHttpResponse HTTP リクエストを解析し、HTTP レスポンスを操作するためのインターフェイス。

すべてのネイティブ IIS モジュールの要求に応じて、次の関数をエクスポートします。 登録モジュールここで、コア クラスのインスタンスを作成し、サーバー イベントのメソッドを登録します。 IHttpModuleRegistrationInfo::SetRequestNotifications 図 3 に示すような方法です。

図 3. IISpy の RegisterModule エクスポート

図 3. IISpy の RegisterModule エクスポート

IISpy のコア クラスは次から継承されます。 CHttpモジュール そして、図 4 に示すように、そのメソッドのうち XNUMX つ (サーバー イベントのイベント ハンドラー) をオーバーライドします。

  • OnBeginRequest サーバーが新しい HTTP 要求の処理を開始するたびに呼び出され、IISpy はこのハンドラーを使用して攻撃者の要求を検索して解析します。
  • オンエンドリクエスト、HTTP 内の最後のステップで呼び出されます リクエスト処理パイプライン、IISpy のバックドア インタープリターを実装します。
  • OnLogRequestIIS サーバーが処理された HTTP 要求をログに記録する直前に呼び出され、IISpy のログ対策機能を実装します。

IISpy は、これらのハンドラーを最高の優先順位で登録します ( IHttpModuleRegistrationInfo::SetPriorityForRequestNotification API)。複数の IIS モジュール (悪意のあるものと正規のもの) を同じイベントに登録できるため、同じイベントに登録された他のハンドラーよりも前に IISpy のハンドラーが実行されることが保証されます。

図 4. IISpy のコア クラスは XNUMX つのイベント ハンドラーを実装します

図 4. IISpy のコア クラスは XNUMX つのイベント ハンドラーを実装します

バックドアコマンド

その中で オンエンドリクエスト IISpy ハンドラーは、攻撃者のリクエストの HTTP 本文を復号化し、そのパラメーターを抽出します。これらのパラメーターは、キーと値のペアとして構成されており、表 1 にリストされています。

表 1. IISpy 攻撃者のリクエストパラメータ

キー
/モード コマンドの種類
/アクション Command
/道
/バイナリ
/データ
...
コマンド引数 (完全なリストについては表 2 を参照)
/資格情報/ユーザー名 ローカルユーザーのユーザー名、偽装に使用されます
/資格情報/パスワード ローカルユーザーのパスワード、偽装に使用されます

資格情報が存在する場合、IISpy はそれを使用してユーザーとしてログインします ( ログオンユーザーW, LoggedOnUser を偽装する) ユーザーのコンテキストでバックドア コマンドを実行します。バックドア コマンドと引数も、表 2 にリストされているように、ネストされたキーと値のペアとして編成されます。

表 2. IISpy バックドア コマンドと引数

コマンドの種類 (/モード 値) 指示 (/アクション 値) 引数(キー名) コマンドの説明 返されるデータ (マップ構造または説明)
INIT 無し 無し 基本的なシステム情報 (コンピュータ名とドメイン、ユーザー名とドメイン、論理ドライブ情報) を収集します。 /コンピュータ/ドメイン
/コンピュータネーム
/ユーザー/ドメイン
/ユーザー/名前
/-
  /ヤムイモ
  /タイプ
file リスト /道 指定したフォルダー内のファイルに関する情報を収集します。 /-
  /ヤムイモ
  /属性
  /サイズ
  /作成する
  /アクセス
  /書く
取得する /道
/バイナリ
侵害された IIS サーバーから指定された名前のファイルをダウンロードします。 ファイルの内容は暗号化され、偽の PNG 画像内に埋め込まれます (PNG ヘッダーとその後に非画像データが続きます)。
作ります /道
/ディレクトリ
/データ
指定されたパスに新しいファイルまたはディレクトリを作成します。オプション /データ 引数にはファイルの内容を保持できます。 /-
  /ファイル
  /属性
  /サイズ
  /作成する
  /アクセス
  /書く
upload /道
/データ
指定された名前のファイルを侵害されたサーバーにアップロードします。の /データ エントリには、base64 でエンコードされたファイルのコンテンツが含まれています。 /-
  /ファイル
  /属性
  /サイズ
  /作成する
  /アクセス
  /書く
削除 /道
/ files
  /ヤムイモ
  /属性
指定されたパス内のファイル/ディレクトリのリストを削除します。 / files
  /コード
  /ヤムイモ
/道
/dest
/コピー
/ files
  /ヤムイモ
  /新着
リストにあるファイルをコピー元ディレクトリからコピー先ディレクトリにコピーまたは名前変更します。 / files
  /コード
  /ヤムイモ
時間 /道
/作成する
/アクセス
/書く
ファイルのタイムスタンプを変更します 無し
ドライブ 地図 /手紙
/共有
/ユーザー名
/パスワード
ネットワーク リソースに指定された資格情報を使用して、ローカル ドライブとリモート ドライブ間のマッピングを作成します。 無し
削除します /手紙 既存のドライブマッピングを削除します 無し
CMD exec /cmd 現在のユーザーまたは引数で指定されたユーザーのコンテキストで、指定されたコマンドを実行します。コマンド出力を返します。 /出力

バックドア コマンドを実行した後、IISpy はその戻りデータを暗号化およびエンコードし、それを使用して攻撃者の要求に対する HTTP 応答を変更します。返されるデータも、表 2 にリストされているエントリと、 GetLastError 結果 (またはカスタム エラー メッセージ):

  • /エラーコード
  • /エラーメッセージ

アンチロギング機能

最後に、IISpy は OnLogRequest イベント ハンドラー – IIS サーバーが処理された HTTP 要求をログに記録する直前に呼び出されます。バックドアは、このハンドラーを使用して、攻撃者からのリクエストのログ エントリを変更し、カジュアルなリクエストのように見せます。図 5 に示すように、次の手順が実行されます。

  • リクエスト内の HTTP メソッドを次のように書き換えます。 GET
  • リクエストの URL を次のように書き換えます。 /
  • リクエストから次のヘッダーを削除します。 クッキー, Origin, リファラー, 秒フェッチモード, 秒フェッチサイト, コンテンツタイプ, コンテンツ長, X 転送 IP, X-転送-について, X 転送者, X-Forwarded-Proto

このように変更されたログ エントリを使用して、攻撃者は悪意のある活動の痕跡をさらに隠蔽し、潜在的なフォレンジック分析をさらに困難にしようとします。

図 5. IISpy は攻撃者のリクエストのログ エントリを変更します

図 5. IISpy は攻撃者のリクエストのログ エントリを変更します

まとめ

IISpy は、IIS Web サーバー ソフトウェアの拡張性を永続性、実行、および C&C メカニズムに悪用する複雑なサーバー側のバックドアです。通常のネットワーク トラフィックに溶け込み、犯罪となるログを消去するトリックにより、侵害された IIS サーバー上で長期にわたるスパイ活動を行うように設計されています。

Exchange 電子メール サーバーで Outlook on the Web (OWA) サービスを有効にしている組織など、サーバー上で機密データを扱う組織は注意する必要があります。OWA は IIS 経由で実装されており、スパイ活動の興味深い対象となります。いずれの場合も、IISpy をサーバーから排除する最善の方法は、サーバーを最新の状態に保ち、どのサービスをインターネットに公開するかを慎重に検討して、サーバー悪用のリスクを軽減することです。

マルウェア、侵害の兆候、および YARA ルールに関する追加の技術的詳細については、当社の包括的なドキュメントを参照してください。 ホワイトペーパー、オン GitHubの。 この件に関するお問い合わせ、またはサンプルの提出については、次のアドレスまでご連絡ください。 Threatintel@eset.com.

侵入の痕跡(IoC)

ESET 検出名

Win32/BadIIS.F
Win64/BadIIS.U

SHA-1

22F8CA2EB3AF377E913B6D06B5A3618D294E4331
435E3795D934EA8C5C7F4BCFEF2BEEE0E3C76A54
CED7BC6E0F1A15465E61CFEC87AAEF98BD999E15

ファイル名

cache.dll
logging.dll

MITER ATT&CKテクニック

注:このテーブルは、 バージョン9 MITER ATT&CKフレームワークの.

戦術 ID 名前 Description
リソース開発 T1587.001 機能の開発:マルウェア IISpy はカスタムメイドのマルウェア ファミリです。
T1588.002 機能の取得:ツール IISpy のオペレーターは、ローカル権限昇格ツールである Juicy Potato を使用しました。
初期アクセス T1190 公開アプリケーションを悪用する IISpy は、権限昇格ツール Juicy Potato を使用してネイティブ IIS モジュールのインストールに必要な管理者権限を取得する前に、Web アプリケーションまたはサーバー上の何らかの脆弱性を介して IIS サーバーへの最初のアクセスを取得する可能性があります。
実行 T1059.003 コマンドおよびスクリプトインタープリター:Windowsコマンドシェル IISpy は、Windows コマンド シェルを使用して、侵害された IIS サーバー上でシェル コマンドを実行するバックドア コマンドをサポートしています。
T1569.002 システムサービス:サービスの実行 IIS サーバー (拡張子として IISpy) は Windows サービスとして存続します。
固執 T1546 イベントトリガー実行 IISpy は、IIS サーバーが受信 HTTP 要求を受信したときに、IIS ワーカー プロセス (w3wp.exe) によってロードされます。
権限昇格 T1068 特権昇格のための悪用 IISpy のオペレーターは、ローカル権限昇格ツール Juicy Potato を使用して権限を昇格させました。
防衛回避 T1134.001 アクセストークンの操作: トークンのなりすまし/盗難 IISpy には、別のユーザーのコンテキストでバックドア コマンドを実行する機能があります ( LogonUserW、ImpersonateLoggedOnUser).
T1070 ホスト上のインジケーターの削除 IISpy には、IIS サーバー上の攻撃者リクエストのログを無害化する機能があります。
T1070.006 ホストでのインジケーターの削除:Timestomp IISpy は、ファイルのタイムスタンプを変更するバックドア コマンドをサポートしています。
収集 T1005 ローカルシステムからのデータ IISpy は、侵害された IIS サーバーからファイルを収集して抽出するバックドア コマンドをサポートしています。
コマンドおよび制御 T1071.001 アプリケーション層プロトコル:Webプロトコル IISpy はパッシブ ネットワーク インプラントです。攻撃者はバックドアを制御するために、侵害された IIS サーバーに HTTP リクエストを送信します。
T1001 データの難読化 IISpy オペレーターは、URL、ホスト ヘッダー、Cookie を特別に組み合わせてコマンドを送信します。
IISpy は、C&C トラフィックを通常のネットワーク トラフィックのように見せかけようとして、偽の PNG ファイル (PNG ヘッダーとそれに続く非画像データ) 内のデータを窃取します。
T1132.001 データエンコーディング:標準エンコーディング IISpy は、C&C 通信を Base64 エンコードでエンコードします。
T1573.001 暗号化されたチャネル:対称暗号化 IISpy は AES-CBC を使用して C&C 通信を暗号化します。
T1105 入力ツール転送 IISpy は、侵害された IIS サーバーに追加のツールをアップロードするバックドア コマンドをサポートしています。
exfiltration T1041 C2チャネルを介した浸透 IISpy は、侵害された IIS サーバーからデータとファイルを抽出するバックドア コマンドをサポートしています。

出典: https://www.welivesecurity.com/2021/08/09/iispy-complex-server-side-backdoor-antiforensic-features/

タイムスタンプ:

より多くの WeLiveSecurity