中東は長年にわたり、高度持続型脅威 (APT) の温床としての評判を維持してきました。 ESET Researchは、この地域に拠点を置く著名な顧客のシステム上で不審なアクティビティを定期的に監視している最中に、Deadglyphと名付けた非常に洗練された未知のバックドアを発見しました。 この名前は、バックドアで見つかったアーティファクト (たとえば、 0xDEADB001、にも示されています REF_Ref111452440h 表 1
)、ホモの存在と相まってグリフ 攻撃。 私たちの知る限り、これは、これまで文書化されていなかったこのバックドアの初の公開分析であり、顕著な高度さと専門知識を示すグループによって使用されています。 ターゲティングと追加の証拠に基づいて、Deadglyph は Stealth Falcon APT グループによるものであると確信しています。
Deadglyph のアーキテクチャは次のもので構成されているため、独特です。 連携コンポーネント - 64 つはネイティブ xXNUMX バイナリ、もう XNUMX つは .NET アセンブリです。 マルウェアは通常、そのコンポーネントに XNUMX つのプログラミング言語のみを使用するため、この組み合わせは異例です。 この違いは、これら XNUMX つのコンポーネントが別々に開発されていると同時に、それらが使用する異なるプログラミング言語の独自の機能も活用していることを示している可能性があります。 混合コードはナビゲートやデバッグがより困難になるため、異なる言語を利用して分析を妨げる可能性もあります。
従来のバックドア コマンドはバックドア バイナリには実装されていません。 代わりに、追加モジュールの形式でコマンド アンド コントロール (C&C) サーバーから動的に受信されます。 このバックドアには、検出を回避するための多くの機能も備えています。
このブログ投稿では、Deadglyph を詳しく調べ、このバックドア、その目的、および入手したいくつかの追加コンポーネントの技術分析を提供します。 Deadglyph に関する調査結果も、 LABScon 2023 会議。
ブログ投稿の要点:
- ESET Research は、Deadglyph と名付けた、珍しいアーキテクチャを備えた洗練されたバックドアを発見しました。
- 主要コンポーネントは、マシン固有のキーを使用して暗号化されます。
- 従来のバックドア コマンドは、C&C サーバーから受信した追加モジュールを介して実装されます。
- 多くのモジュールのうち、プロセス クリエーター、ファイル リーダー、情報コレクターの XNUMX つを取得しました。
- Deadglyph は Stealth Falcon グループのものであると考えられます。
- さらに、関連するシェルコード ダウンローダーも見つかりました。 Deadglyph のインストールに使用される可能性があると考えられます。
分析された侵入の被害者は、スパイ目的で侵害された中東の政府機関です。 VirusTotal で見つかった関連サンプルも、この地域、特にカタールからファイル スキャン プラットフォームにアップロードされました。 対象地域は地図上に次のように表示されます。 REF_Ref143614671h フィギュア 1
.
Stealth Falcon (Project Raven または FruityArmor としても知られる) は、アラブ首長国連邦に関連する脅威グループです。 MITREによると。 2012 年から活動を開始したステルス ファルコンは、中東の政治活動家、ジャーナリスト、反体制派を標的にすることで知られています。 最初に発見され、説明されたのは、 シチズンラボを出版した、 分析 2016 年のスパイウェア攻撃キャンペーンの様子。
2019年XNUMX月にロイター通信が発表した。 調査報告書 元 NSA 工作員を雇用し、ステルス ファルコンと同じ種類の標的を狙っているとされるプロジェクト、プロジェクト レイブンについて。 同じ標的と攻撃に言及したこれら XNUMX つの報告書に基づいて、アムネスティ・インターナショナルは 締結しました (に示されている REF_Ref144978712h フィギュア 2
) ステルス ファルコンとプロジェクト レイヴンは実際には同じグループであるということです。
私たちは2019年XNUMX月に、 公開された研究 Stealth Falcon によるものと思われる、異常な手法を使用したバックドアで、 バックグラウンドインテリジェント転送サービス、C&C通信用。 私たちはここで、ステルス ファルコンのスパイ活動ツールセットにおそらく最も新しく追加されたものについての詳細な分析の結果を明らかにします。
デッドグリフ バックドア
Deadglyph の読み込みチェーンは、図に示すように複数のコンポーネントで構成されています。 REF_Ref144978760h フィギュア 3
。 最初のコンポーネントはレジストリ シェルコード ローダーで、レジストリからシェルコードをロードします。 この抽出されたシェルコードは、バックドアのネイティブ x64 部分、つまりエグゼキュータをロードします。 その後、Executor はバックドアの .NET 部分、つまり Orchestrator をロードします。 特に、システムのディスク上にファイルとして存在する唯一のコンポーネントは、ダイナミック リンク ライブラリ (DLL) の形式である初期コンポーネントです。 残りのコンポーネントは暗号化され、バイナリ レジストリ値内に保存されます。
最初の侵害ベクトルの正確な方法はまだ決定されていませんが、インストーラー コンポーネントがさらなるコンポーネントの展開とシステム内での永続性の確立に関与しているのではないかと考えられます。
このセクションの残りの部分では、各コンポーネントを分析します。
レジストリシェルコードローダー
Deadglyph の最初のコンポーネントは、単一のエクスポートを含む小さな DLL です。 1。 このコンポーネントは次を使用して永続化されます Windows Management Instrumentation (WMI) イベント サブスクリプション レジストリ シェルコード ローダーとして機能します。 コマンドライン経由で実行されます rundll32 C:WINDOWSSystem32pbrtl.dll,#1.
レジストリ シェルコード ローダーは、RC4 を使用して、Windows レジストリ内に保存されている暗号化されたシェルコードへのパスを復号化することで動作を開始します。 このパスは被害者ごとに一意であると思われます。 ここで分析したケースでは、レジストリ パスは次のとおりでした。
SoftwareClassesCLSID{5abc7f42-1112-5099-b082-ce8d65ba0c47}cAbRGHLg
ルート レジストリ キーは次のいずれかです hklm or フク、現在のプロセスが昇格された特権で実行されているかどうかに応じて異なります。 同じロジックが他のコンポーネントにも見られます。
これに続いて、ローダーは、 未加工の SMBIOS ファームウェア テーブル。 このキーを使用して、シェルコードをロード、復号化してから実行します。 このキー導出アプローチでは、ローダーが別のコンピューターで実行された場合に適切な復号化が行われないことが保証されることを強調することが重要です。
興味深いことに、ローダーはその中のフラグによって構成することもできます。 .data セクションでは、マシン固有のキーではなく、ハードコーディングされたキーを使用してシェルコードを復号化します。
Microsoft Corporation を模倣したホモグリフ攻撃を発見しました。 バージョン情報 このおよび他の PE コンポーネントのリソース。 この方法では、元の文字と視覚的には似ていますが、この場合は同一ではない別個の Unicode 文字、特にギリシャ大文字の San (U+03FA、Ϻ) とキリル小文字の O (U+043E、о) を使用します。 ϺICRоsоフィートコーポレーションоラティーоn.
レジストリのシェルコード
レジストリ シェルコードは XNUMX つの部分で構成され、復号化ルーチンと暗号化された本体で構成されます。 まず、復号化ルーチンは、暗号化された本文の各バイトを左に XNUMX 回転します (ROL0x01)。 その後、この復号化された本体に制御が移ります。 復号化された本体は PE ローダーと PE ファイルで構成され、後者はバックドアのネイティブ部分を表す Executor です。 このローダーは、関連する PE ファイルの解析とロードを担当します。
執行者
Executor は Deadglyph バックドアのネイティブ x64 部分であり、次のことを行います。
- その設定をロードし、
- .NET ランタイムを初期化します。
- バックドアの埋め込み .NET 部分 (オーケストレーター) をロードします。
- オーケストレーターのライブラリとして機能します。
まず、 .data セクションは AES 復号化されています。 構成には、暗号化キー、安全性と回避の設定、後続のコンポーネントのエントリ ポイントなどのさまざまなパラメータが含まれます。
初回実行時に、これら XNUMX つのデフォルト構成は Windows レジストリ内に保存され、以降の実行時にそこから読み込まれて、更新の実装が可能になります。 各構成のレジストリ パスは次の形式で生成されます。
{HKCU|HKLM}ソフトウェアクラスCLSID{ }(デフォルト)
は生成された GUID であり、各被害者に固有です。
これに続いて、.NET ランタイムが初期化され、Executor RC4 がオーケストレーターとして知られるバックドアの .NET 部分を復号化します。 オーケストレーターは .rsrc エグゼキューターのセクション。 この構成では、Orchestrator の実行メソッドをエントリ ポイントとして指定します。 さらに、Orchestrator による Executor の機能へのアクセスを容易にするために、独特の構造が提供されています。
Orchestrator を起動すると、Executor は Orchestrator のサポート ライブラリとして機能します。 Executor には多くの興味深い関数が含まれています。 次のセクションでは、Orchestrator およびさらに読み込まれたモジュールによるそれらの使用状況のコンテキストで、それらのいくつかについて説明します。
オーケストレーター
.NET で書かれた Orchestrator は、Deadglyph バックドアの主要コンポーネントです。 このコンポーネントの主な役割には、C&C サーバーとの通信の確立とコマンドの実行が含まれ、多くの場合、Executor の仲介役割によって容易に実行されます。 前述のコンポーネントとは対照的に、Orchestrator は難読化されており、.NET Reactor を使用しています。 内部的には、バックドアは次のように呼ばれます。 エージェント、これは、さまざまなエクスプロイト後のフレームワークにおけるクライアント部分の一般名です。
初期化
Orchestrator はまず、その構成と、それぞれ独自の構成セットを伴う XNUMX つの組み込みモジュールをリソースから読み込みます。 これらのリソースは、 空気を抜く 圧縮されて AES 暗号化されています。 これらは、リソース名に SHA-1 ハッシュ化された ID によって参照されます。 これらのリソースの概要は、次のとおりです。 REF_Ref111452440h 表 1
.
表 1. オーケストレーターのリソース
リソース名 |
ID(XNUMX進数) |
ID (XNUMX進数) |
説明 |
43ed9a3ad74ed7ab74c345a876b6be19039d4c8c |
2570286865 |
0x99337711 |
オーケストレーターの構成。 |
3a215912708eab6f56af953d748fbfc38e3bb468 |
3740250113 |
0xDEEFB001 |
ネットワークモジュール。 |
42fb165bc9cf614996027a9fcb261d65fd513527 |
3740250369 |
0xDEEFB101 |
ネットワークモジュールの構成。 |
e204cdcf96d9f94f9c19dbe385e635d00caaf49d |
3735924737 |
0xDEADB001 |
タイマーモジュール。 |
abd2db754795272c21407efd5080c8a705a7d151 |
3735924993 |
0xDEADB101 |
タイマーモジュールの構成。 |
Orchestrator と組み込みモジュールの構成は XML 形式で保存されます。 Orchestrator 構成の例を以下に示します。 REF_Ref111452611h
フィギュア 4
.
Orchestrator 構成エントリの説明は、次のとおりです。 REF_Ref111452782h 表 2
.
表 2. オーケストレーター構成エントリー
キー |
説明 |
k
|
モジュール構成の永続化に使用される AES キー。 |
a
|
ネットワークモジュールの初期化メソッド名。 |
b
|
不明なネットワーク モジュール関連のフラグ。 |
c
|
タイマーモジュールの初期化メソッド名。 |
d
|
リソースに対するマシン固有の AES キー (システム UUID) の使用を有効にするフラグ。 |
p
|
ネットワークモジュールのリソースID。 |
t
|
タイマーモジュールのリソースID。 |
リソース コンポーネントがロードされた後、個別のタスクを実行するために複数のスレッドが作成されます。 これらのスレッドの XNUMX つは、Executor 内に実装された機能である環境チェックを実行する役割を果たします。 別のスレッドは、C&C サーバーとの定期的な通信の確立に専念し、コマンドの取得を可能にします。 最後に、受信したコマンドを実行し、その後生成された出力を C&C サーバーに送信するために、XNUMX つのスレッドのセットが使用されます。
環境チェック スレッドは、実行中のプロセスを監視して、不要なプロセスを特定します。 このスレッドは、プロセス名の XNUMX つの異なるリストを使用して動作します。 最初のリストにあるプロセスが検出された場合、不要なプロセスが存在しなくなるまで C&C 通信とコマンドの実行が一時停止されます。 XNUMX 番目のリストに一致するプロセスがある場合、バックドアはすぐに終了し、自身をアンインストールします。
分析されたインスタンスではどちらのリストも構成されていないため、通常どのプロセスがチェックされるのかはわかりません。 おそらく、不審なアクティビティを検出してバックドアの発見につながる可能性のある分析ツールを回避することを目的としていると考えられます。
コミュニケーション
オーケストレーターは、C&C 通信にタイマーとネットワークという XNUMX つの組み込みモジュールを利用します。 Orchestrator と同様に、これらのモジュールは .NET Reactor で難読化されています。 両方のモジュールの構成は、Orchestrator によって提供されます。 Orchestrator 内には、モジュールのプリセット構成が含まれています。 オプションで、Orchestrator は更新された構成バージョンをレジストリからロードすることもできます。
{HKCU|HKLM}ソフトウェアクラスCLSID{ }
バックドアには、通信に関する興味深い安全対策が含まれています。 バックドアが、Executor 内で構成された事前定義されたしきい値を超える期間にわたって C&C サーバーとの通信を確立できない場合、自己アンインストール メカニズムがトリガーされます。 この時間しきい値は時間単位で指定され、今回のケースでは XNUMX 時間に設定されました。
このアプローチには XNUMX つの目的があります。 一方で、アクセスできないサーバーに対する冗長なネットワーク要求の生成を防ぎます。 一方で、オペレーターがバックドアの制御を失った場合、その後の検出の可能性は低くなります。
タイマーモジュール
この小さなモジュールは、設定可能な間隔で指定されたコールバックを実行します。 これは、オーケストレーターがネットワーク モジュールと組み合わせて使用し、C&C サーバーと定期的に通信します。 ネットワーク ログに検出可能なパターンが作成されるのを防ぐために、実行間隔は、構成で指定されたパーセンテージに基づいてランダム化されます。 分析された例では、間隔は 20 分に設定され、ランダム性のために ±XNUMX% の変動が導入されました。
定期的な通信で検出可能なネットワーク パターンを回避する別の方法は、C&C サーバーに送信されるリクエストの生成にあります。 Executor に実装されたこのメカニズムには、リクエスト内にランダムなバイトで構成されるさまざまな長さのパディングが含まれるため、さまざまなサイズのリクエストが生成されます。
ネットワークモジュール
ネットワーク モジュールは、その構成で指定された C&C サーバーとの通信を実装します。 HTTP(S) POST リクエストを使用してデータを C&C サーバーに送信できます。 特に、プロキシ構成の詳細を取得するためのいくつかのメカニズムを提供します。 この機能は、インターネットに直接アクセスできない環境に重点を置く可能性があることを示唆しています。
復号化された (および美化された) 設定の例を以下に示します。 REF_Ref144978805h フィギュア 5
.
構成エントリには、ネットワーク通信に関する詳細 (C&C URL、HTTP ユーザー エージェント、およびオプションでプロキシ構成) が含まれます。
C&C サーバーと通信するときは、暗号化されたコンテンツを含むカスタム バイナリ プロトコルが HTTPS の下で使用されます。
コマンド
オーケストレーターは C&C サーバーからタスクの形式でコマンドを受け取り、実行のためにキューに入れられます。 処理されるタスクは XNUMX 種類あります。
- オーケストレーターのタスク、
- 実行タスク、および
- タスクをアップロードします。
最初の XNUMX 種類は C&C サーバーから受信され、XNUMX 番目はコマンドとエラーの出力をアップロードするために内部で作成されます。
オーケストレーターのタスク
オーケストレーター タスクでは、ネットワーク モジュールとタイマー モジュールの構成を管理したり、保留中のタスクをキャンセルしたりする機能が提供されます。 Orchestrator タスクの概要を以下に示します。 REF_Ref111101783h 表 3
.
表 3. オーケストレーターのタスク
タイプ |
説明 |
0x80
|
ネットワークおよびタイマーモジュールの構成を設定します。 |
0x81
|
ネットワークおよびタイマーモジュールの構成を取得します。 |
0x82
|
タスクをキャンセルします。 |
0x83
|
すべてのタスクをキャンセルします。 |
実行者のタスク
Executor タスクは、バックドアを管理し、追加のモジュールを実行する機能を提供します。 従来のバックドア機能がバイナリ自体に本質的に存在していないことは注目に値します。 代わりに、これらの関数は C&C サーバーから PE ファイルまたはシェルコードの形式で取得されます。 バックドアの可能性の全容は、その真の機能を効果的に解放するこれらの追加モジュールがなければ未知のままです。 モジュールタスクの概要を以下に示します。 REF_Ref117677179h 表 4
これには、特定されたいくつかのモジュールに関する詳細が含まれています。 同様に、 REF_Ref117677188h 表 5
に、Executor に関連する管理タスクの概要を示します。
表 4. 実行タスク - モジュール
タイプ |
説明 |
0x??–0x63
|
未知の |
0x64
|
ファイルリーダー |
0x65
|
未知の |
0x66
|
未知の |
0x67
|
未知の |
0x68
|
未知の |
0x69
|
プロセス作成者 |
0x6A
|
未知の |
0x6B
|
未知の |
0x6C
|
情報コレクター |
0x6D
|
未知の |
0x6E
|
未知の |
表 5. 実行者のタスク – 管理
タイプ |
説明 |
0x6F-0x76 |
実装されていません |
0x77 |
Executor 構成を設定する |
0x78 |
Executor 構成の取得 |
0x79-0x7C |
実装されていません |
0x7D |
アップデイト |
0x7E |
やめます |
0x7F |
アンインストールする |
Executor 構成を設定するコマンドは、以下を変更できます。
- 不要なプロセスのリスト、
- C&C 通信障害の時間しきい値、および
- 追加モジュールの実行の制限時間。
モジュール
C&C サーバーから XNUMX つの固有のモジュールを取得することができました。これらのモジュールはそれぞれ、異なる Executor タスク タイプに対応しています。以下に示します。 REF_Ref117677179h 表 4 08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003100310037003600370037003100370039000000
。 入手可能な情報に基づいて、合計 XNUMX ~ XNUMX 個のモジュールがあると推定されます。 モジュールは実際にはバックドア コマンドであるため、実行する基本操作が XNUMX つあり、オプションで出力を返します。 取得したモジュールは、名前のないエクスポート (通常の) が XNUMX つある DLL です。 1)、必要な API 関数を解決し、main 関数を呼び出します。
モジュールを実行すると、Windows API およびカスタム Executor API を解決できる API 解決機能が提供されます。 Windows API は、API とその DLL の名前から計算された DWORD ハッシュによって参照されます。 小さなハッシュ値 (<41) は、Executor API 関数を参照して特別に処理されます。 Executor API は、モジュールからアクセスできる合計 39 の関数で構成されています。 これらの関数は、次のようなさまざまな操作に関係します。
- ファイル操作、
- 暗号化とハッシュ、
- 圧縮、
- PE搭載、
- トークンの偽装にアクセスし、
- ユーティリティ。
このセクションの残りの部分では、取得したモジュールについて説明します。
プロセス作成者
モジュール 0x69 指定されたコマンド ラインを新しいプロセスとして実行し、結果の出力をオーケストレーターに返します。 プロセスは別のユーザーの下で作成でき、その実行時間を制限できます。 注目すべきは、異常な ジョブAPI このモジュールの機能で使用されます。
このモジュールはコマンドラインで提供されました cmd.exe /c タスクリスト /v.
これは自動的に発行されるアイドル コマンドとして機能し、オペレータは侵害されたコンピュータで何か興味深いことが起こるのを待つと想定しています。
情報コレクター
モジュール 0x6C WMI クエリを通じてコンピューターに関する広範な情報を収集し、それを Orchestrator に返します。 以下に関する情報が収集されます。
- オペレーティング·システム、
- ネットワークアダプター、
- インストールされているソフトウェア、
- ドライブ、
- サービス、
- ドライバー、
- プロセス
- ユーザーは、
- 環境変数、および
- セキュリティソフト。
ファイルリーダー
モジュール 0x64 指定されたファイルを読み取り、その内容をオーケストレーターに返します。 オプションで、読み取り後にファイルを削除できます。
このモジュールは、被害者の Outlook データ ファイルを取得するために使用されていることが確認されました。
c:ユーザーAppDataLocalMicrosoftOutlookoutlook.ost.
シェルコードダウンローダーによるチェーン
Deadglyph を調査する過程で、カタールから VirusTotal にアップロードされた、期限切れの証明書で署名され、タイムスタンプ付きの副署名のない疑わしい CPL ファイルを発見しました。 詳しく調べると、この CPL ファイルが多段階シェルコード ダウンローダーとして機能し、Deadglyph とコードの類似点を共有していることが明らかになりました。 ローディング チェーンを次のように示します。 REF_Ref143693067h フィギュア 6
.
最初の段階として機能する初期形式では、このファイルには 。伍長 拡張子 (コントロール パネル ファイル) であり、ダブルクリック アクションで実行することを目的としています。 この方法で実行すると、埋め込まれたシェルコードは XOR 復号化され、実行中のプロセスがチェックされて、後続の注入に適したホスト プロセスが特定されます。
If avp.exe (Kaspersky エンドポイント セキュリティ プロセス) が実行中である、 %windir%system32UserAccountBroker.exe 使用されている。 それ以外の場合は、デフォルトのブラウザが使用されます。 次に、ホスト プロセスを一時停止状態で作成し、メイン スレッドをハイジャックしてシェルコードを挿入し、スレッドを再開します。
第 XNUMX 段階のシェルコードは XNUMX つの部分で構成されます。 シェルコードの最初の部分は、Deadglyph で採用されているのと同じ独自のハッシュ計算手法を使用して API ハッシュを解決し、プロセス名を含む文字列を復号します。 これは、第 XNUMX 段階のファイルを上書きし、その後消去するというタスクを実行する自己削除スレッドを開始します。 これに続いて、シェルコードは現在アクティブなプロセスを検査し、セキュリティ ソリューションをターゲットにします。
指定されたプロセスのいずれかが検出された場合、シェルコードは優先度が最も低いスリーパー スレッドを作成します (THREAD_PRIORITY_IDLE)、操作を終了するまで 60 秒間アクティブなままにすることができます。 この間隔は、セキュリティ ソリューションで採用されている特定の検出メカニズムを回避するための予防措置として実装されている可能性があります。 最後に、シェルコードはコードの XNUMX 番目の部分の実行を呼び出します。
シェルコードの XNUMX 番目の部分は、ステージ XNUMX で埋め込み PE ファイルをロードし、序数を使用してそのエクスポートを呼び出します。 1.
XNUMX 番目のステージである DLL は、.NET ローダーとして機能し、その中にペイロードが含まれています。 .rsrc のセクションから無料でダウンロードできます。
ペイロードをロードするために、.NET ランタイムが初期化されます。 .NET の初期化中に、Windows を回避することを目的としていると思われる XNUMX つの興味深いテクニックが実行されます。 マルウェア対策スキャン インターフェイス (AMSI) スキャン:
- .NET ローダーは一時的にフックします。
- 次に、微妙にパッチを適用します。 AmsiInitialize インポート名文字列 .rdata ロードされたセクション clr.dll 〜へ aMSIi初期化する.
XNUMX 番目の段階は、ConfuserEx で難読化された .NET アセンブリで、シェルコード ダウンローダーとして機能します。 まず、リソースから設定を XML 形式で XOR 復号化します。 抽出された構成の美化されたバージョンが次のように表示されます。 REF_Ref143695453h フィギュア 7
。 構成エントリには、ネットワーク通信およびブロックリストに登録されたプロセスに関連する詳細が含まれます。
続行する前に、実行中のプロセスを構成のブロックリストに登録されたプロセスのリストと照合してチェックします。 一致が検出された場合、実行は停止します。 分析されたインスタンスでは、このブロックリストが設定されていないことに注意することが重要です。
次に、設定で指定されたパラメータ (URL、ユーザー エージェント、およびオプションでプロキシ) を使用して、HTTP GET リクエストを C&C サーバーに送信し、シェルコードを取得します。 残念ながら、調査中に C&C サーバーからシェルコードを取得できませんでした。 それにもかかわらず、取得されるコンテンツは潜在的に Deadglyph のインストーラーとして機能する可能性があるという仮説を立てています。
これに続いて、取得されたシェルコードが新しく作成されたスレッド内で実行されます。 シェルコード スレッドの実行が終了するまで待機した後、シェルコード ダウンローダーはディレクトリにあるすべてのファイルを削除します。 %WINDIR%ServiceProfilesLocalServiceAppDataLocalTempTfsStoreTfs_DAV.
最後に、20 秒の間隔の後に後続のコマンドを使用して自身の削除を試行し、その後操作を終了して終了します。
cmd.exe の選択 /CY /N /DY /T 20 & Del /f /q
この連鎖では、この自己削除は意味がありません。 これは、シェルコード ダウンローダーが独立した実行可能ファイルとして動作するのではなく、挿入された後にブラウザーまたはシステム プロセス内で実行されるという事実によるものです。 また、最初のファイルは XNUMX 段階目までにすでに削除されています。 この観察は、シェルコード ダウンローダーがこのチェーンの排他的なペイロードではなく、他の操作でも個別に使用される可能性があることを示唆しています。
まとめ
私たちは、Stealth Falcon グループが使用する洗練されたバックドアを発見し、分析しました。これを Deadglyph と名付けました。 これは珍しいアーキテクチャを持ち、そのバックドア機能は追加モジュールの形で C&C によって提供されます。 私たちはこれらのモジュールのうち XNUMX つを入手することに成功し、Deadglyph の全機能の一部を明らかにしました。
特に、Deadglyph は、システム プロセスの継続的な監視やランダム化されたネットワーク パターンの実装など、さまざまな対抗検出メカニズムを備えています。 さらに、バックドアは、特定の場合に検出される可能性を最小限に抑えるために、それ自体をアンインストールすることができます。
さらに、私たちの調査により、VirusTotal 上で魅力的な多段階シェルコード ダウンローダー チェーンが発見されました。 おそらくこのダウンローダー チェーンが Deadglyph のインストール プロセスで利用されているのではないかと考えられます。
WeLiveSecurityで公開されている調査に関するお問い合わせは、次のURLまでお問い合わせください。 Threatintel@eset.com.
ESET Research は、非公開の APT インテリジェンス レポートとデータ フィードを提供します。 本サービスに関するお問い合わせは、 ESET脅威インテリジェンス ページで見やすくするために変数を解析したりすることができます。
IoC
SHA-1 |
ファイル名 |
検出 |
説明 |
C40F1F46D230A85F702DAA38CFA18D60481EA6C2 |
pbrtl.dll |
Win64/デッドグリフ.A |
レジストリ シェルコード ローダー。 |
740D308565E215EB9B235CC5B720142428F540DB |
無し |
Win64/デッドグリフ.A |
Deadglyph バックドア – 実行者。 |
1805568D8362A379AF09FD70D3406C6B654F189F |
無し |
MSIL/デッドグリフ.A |
Deadglyph バックドア – オーケストレーター。 |
9CB373B2643C2B7F93862D2682A0D2150C7AEC7E |
無し |
MSIL/デッドグリフ.A |
オーケストレーター ネットワーク モジュール。 |
F47CB40F6C2B303308D9D705F8CAD707B9C39FA5 |
無し |
MSIL/デッドグリフ.A |
オーケストレーター タイマー モジュール。 |
3D4D9C9F2A5ACEFF9E45538F5EBE723ACAF83E32 |
無し |
Win64/Deadglyph.A.gen |
プロセス作成モジュール。 |
3D2ACCEA98DBDF95F0543B7C1E8A055020E74960 |
無し |
Win64/デッドグリフ.A |
ファイルリーダーモジュール。 |
4E3018E4FD27587BD1C566930AE24442769D16F0 |
無し |
Win64/デッドグリフ.A |
情報収集モジュール。 |
7F728D490ED6EA64A7644049914A7F2A0E563969 |
無し |
Win64/インジェクター.MD |
シェルコード ダウンローダー チェーンの第 XNUMX 段階。 |
鑑定書
シリアルナンバー |
00F0FB1390F5340CD2572451D95DB1D92D |
拇印 |
DB3614DAF58D041F96A5B916281EA0DC97AA0C29 |
対象CN |
RHM株式会社 |
被験者O |
RHM株式会社 |
被験者L |
セントオールバンズ |
科目 |
ハートフォードシャー州 |
被験者C |
GB |
メール |
rhm@rhmlimited[.]co.uk |
から有効 |
2021-03-16 00:00:00 |
有効 |
2022-03-16 23:59:59 |
C&Cサーバー
IP |
ドメイン |
最初に見た |
コメント |
185.25.50[。]60 |
チェサンドリンクス[.]com |
2021-08-25 |
Deadglyph C&C サーバー。 |
135.125.78[。]187 |
easymathpath[.]com |
2021-09-11 |
Deadglyph C&C サーバー。 |
45.14.227[。]55 |
ジョイナスヘルス[.]com |
2022-05-29 |
シェルコード ダウンローダー C&C サーバー。 |
MITER ATT&CKテクニック
このテーブルは バージョン13 MITER ATT&CKフレームワークの
戦術 |
ID |
名前 |
説明 |
リソース開発 |
インフラストラクチャの取得:ドメイン |
Stealth Falcon は、C&C サーバーのドメインを登録し、コード署名証明書を取得しています。 |
|
インフラストラクチャの取得:仮想プライベートサーバー |
Stealth Falcon は、C&C サーバーに VPS ホスティング プロバイダーを使用しました。 |
||
機能の開発:マルウェア |
Stealth Falcon は、カスタム ローダーや Deadglyph バックドアなどのカスタム マルウェアを開発しました。 |
||
機能の取得:コード署名証明書 |
Stealth Falcon はコード署名証明書を取得しました。 |
||
実行 |
Windowsの管理の実装 |
Deadglyph は WMI を使用して読み込みチェーンを実行します。 |
|
コマンドおよびスクリプトインタープリター:Windowsコマンドシェル |
シェルコードダウンローダーが使用するもの cmd.exeを それ自体を削除します。 |
||
ネイティブAPI |
Deadglyph モジュールは次を使用します。 作成プロセスW および ユーザーとしてプロセスを作成W 実行するための API 関数。 |
||
ユーザーの実行:悪意のあるファイル |
シェルコード ダウンローダー チェーンを使用するには、ユーザーがダブルクリックして実行する必要があります。 |
||
固執 |
イベント トリガーによる実行: Windows Management Instrumentation イベント サブスクリプション |
初期の Deadglyph ローダーは、WMI イベント サブスクリプションを使用して永続化されます。 |
|
防衛回避 |
難読化されたファイルまたは情報 |
Deadglyph コンポーネントは暗号化されます。 Deadglyph Orchestrator と組み込みモジュールは .NET Reactor で難読化されています。 シェルコード ダウンローダーは ConfuserEx で難読化されています。 |
|
インジケータの削除: ファイルの削除 |
Deadglyph 自体をアンインストールできます。 シェルコード ダウンローダー チェーンはそれ自体を削除し、WebDAV キャッシュ内のファイルを削除します。 |
||
レジストリを変更する |
Deadglyph は、その構成と暗号化されたペイロードをレジストリに保存します。 |
||
アクセストークン操作 |
Deadglyph は別のユーザーになりすますことができます。 |
||
ファイルまたは情報の難読化/デコード |
Deadglyph は暗号化された文字列を復号します。 シェルコード ダウンローダー チェーンは、そのコンポーネントと構成を復号化します。 |
||
システム バイナリ プロキシの実行: Rundll32 |
初期の Deadglyph ローダーは次を使用して実行されます。 rundll32.exe. |
||
実行ガードレール: 環境キーイング |
Deadglyph は、システム UUID から派生したマシン固有のキーを使用して暗号化されます。 |
||
防御を損なう: ツールの無効化または変更 |
シェルコード ダウンローダーはパッチを適用することで AMSI スキャンを回避します clr.dll 記憶にあります。 |
||
リフレクションコードの読み込み |
Deadglyph は、カスタム PE ローダーを使用してモジュールを反射的にロードします。 |
||
Discovery |
システムサービスディスカバリ |
A Deadglyph モジュールは、WMI クエリを使用してサービスを検出します Win32_Service から * を選択します。 |
|
クエリレジストリ |
シェルコード ダウンローダー チェーンは、デフォルトのブラウザーのレジストリを照会します。 |
||
システムネットワーク構成の検出 |
Deadglyph モジュールは、WMI クエリを使用してネットワーク アダプターを検出します。 SELECT * FROM Win32_NetworkAdapter および SELECT * FROM Win32_NetworkAdapterConfiguration where InterfaceIndex=%d. |
||
システム所有者/ユーザーの発見 |
Deadglyph モジュールは WMI クエリを使用してユーザーを検出します SELECT * FROM Win32_UserAccount. |
||
プロセスディスカバリー |
Deadglyph モジュールは、WMI クエリを使用してプロセスを検出します SELECT * FROM Win32_Process. |
||
システム情報の発見 |
Deadglyph モジュールは、WMI クエリを使用して、OS バージョン、ドライブ、環境変数、ドライバーなどのシステム情報を検出します。 |
||
ソフトウェアディスカバリー |
Deadglyph モジュールは、WMI クエリを使用してインストールされているソフトウェアを検出します SELECT * FROM Win32_Product. |
||
ソフトウェアの発見: セキュリティ ソフトウェアの発見 |
Deadglyph モジュールは WMI クエリを使用してセキュリティ ソフトウェアを検出します SELECT * FROM AntiVirusProduct, SELECT * FROM AntiSpywareProduct および SELECT * FROM ファイアウォール製品. シェルコード ダウンローダー チェーンは、実行中のプロセスのセキュリティ ソリューションをチェックします。 |
||
収集 |
ローカルシステムからのデータ |
Deadglyph にはファイルを読み取るためのモジュールがあります。 |
|
コマンドおよび制御 |
アプリケーション層プロトコル:Webプロトコル |
Deadglyph とシェルコード ダウンローダーは、HTTP プロトコル経由で C&C サーバーと通信します。 |
|
プロキシ |
Deadglyph とシェルコード ダウンローダーは、C&C 通信に HTTP プロキシを使用できます。 |
||
暗号化されたチャネル:対称暗号化 |
Deadglyph は AES を使用して C&C 通信を暗号化します。 |
||
exfiltration |
C2チャネルを介した浸透 |
Deadglyph は、流出に C&C チャネルを使用します。 |
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://www.welivesecurity.com/en/eset-research/stealth-falcon-preying-middle-eastern-skies-deadglyph/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 10
- 100
- 11
- 125
- 14
- 視聴者の38%が
- 179
- 180
- 20
- 2012
- 2016
- 2019
- 23
- 25
- 321
- 39
- 41
- 60
- 7
- 75
- 8
- 9
- 91
- a
- 能力
- 私たちについて
- アクセス
- 接近性
- アクセス可能な
- 付随する
- 取得する
- Action
- アクティブ
- 活動家
- 活動
- アクティビティ
- 使徒行伝
- 実際に
- 添加
- NEW
- 高度な
- 利点
- AES
- 後
- に対して
- 目指す
- すべて
- 容疑者
- ことができます
- 既に
- また
- an
- 分析
- 分析します
- 分析
- および
- 別の
- 期待する
- どれか
- API
- API
- 現れる
- アプローチ
- APT
- アラブ
- アラブ首長国連邦
- 建築
- です
- AS
- アセンブリ
- 関連する
- 引き受けます
- At
- 攻撃
- 攻撃
- 自動的に
- 利用できます
- 避ける
- バック
- 裏口
- ベース
- 基本
- BE
- になりました
- なぜなら
- き
- さ
- 信じる
- BEST
- 誇る
- ボディ
- 両言語で
- ブラウザ
- 内蔵
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- キャッシュ
- 計算された
- 計算
- コール
- 呼ばれます
- 呼び出し
- コール
- キャンペーン
- 缶
- 機能
- できる
- 資本
- キャリー
- 場合
- 例
- センター
- 一定
- 証明書
- チェーン
- チャンス
- 変化する
- チャネル
- 文字
- チェック済み
- 小切手
- 選択
- クライアント
- クローザー
- コード
- コレクタ
- 集める
- カラー
- COM
- 組み合わせ
- コマンドと
- 伝える
- 通信中
- コミュニケーション
- 通信部
- 説得力のある
- コンポーネント
- コンポーネント
- 構成
- 含む
- 妥協
- 損害を受けた
- コンピュータ
- 導電性
- 講演
- 信頼
- 設定された
- 交流
- からなる
- 接触
- 含む
- 含まれています
- コンテンツ
- コンテキスト
- 連続的な
- コントラスト
- コントロール
- control panel
- 株式会社
- 対応する
- 可能性
- 結合しました
- 作成した
- 作成します。
- 創造
- クリエイター
- 電流プローブ
- 現在
- カスタム
- Customers
- 暗いです
- データ
- 解読する
- デフォルト
- 度
- によっては
- 展開する
- 派生
- 説明する
- 記載された
- 説明
- 細部
- 検出された
- 検出
- 決定
- 発展した
- 開発
- 違い
- 異なります
- 難しい
- 直接
- 発見
- 発見する
- 発見
- 明確な
- 異なる
- ありません
- ドメイン
- ドント
- ドライバー
- ドライブ
- 原因
- デュレーション
- 間に
- ダイナミック
- 動的に
- 各
- 東
- 東の
- 効果的に
- どちら
- 高い
- 埋め込まれた
- エミレーツ航空
- 採用
- 従業員
- 有効にする
- 含む
- では使用できません
- 暗号化
- エンドポイント
- エンドポイントのセキュリティ
- 確実に
- エンティティ
- エントリ
- 環境
- 環境の
- 環境
- エラー
- ESETリサーチ
- スパイ
- 確立する
- 確立
- 推定
- エーテル(ETH)
- イベント
- 証拠
- 明らか
- 検査
- 例
- 特別
- 実行します
- 実行された
- 実行する
- 実行
- 実行
- 流出
- 展示
- 存在
- 終了
- 専門知識
- export
- 広範囲
- エクステント
- 容易にする
- 促進された
- 実際
- 不良解析
- ファルコン
- 特徴
- 特徴
- 少数の
- フィギュア
- File
- 最後に
- 調査結果
- 名
- 五
- フォーカス
- フォロー中
- フォーム
- 形式でアーカイブしたプロジェクトを保存します.
- 前者
- 発見
- 第4
- 分数
- フレームワーク
- フレームワーク
- から
- フル
- function
- 機能性
- 機能
- さらに
- さらに
- 生成された
- 世代
- 取得する
- 政府の
- ギリシャ語
- 陸上
- グループ
- 持っていました
- ハンド
- 起こる
- ハッシュ
- ハッシュ化
- ハッシュ
- 持ってる
- 持って
- こちら
- HEX
- ハイ
- 人目を引く
- 特徴
- 邪魔する
- フック
- host
- ホスティング
- 時間
- HOURS
- HTTP
- HTTPS
- ID
- 同一の
- 特定され
- 識別する
- アイドル
- if
- 画像
- 直ちに
- 実装
- 実装
- 実装する
- import
- 重要
- in
- その他の
- 綿密な
- アクセスできない
- 含まれました
- 含ま
- 含めて
- 包含
- 独立しました
- 示す
- info
- 情報
- インフラ
- 本質的に
- 初期
- イニシアチブ
- お問い合わせ
- インストール
- を取得する必要がある者
- インテリジェンス
- インテリジェント-
- 意図された
- 興味深い
- インタフェース
- 中間の
- 内部で
- 世界全体
- インターネット
- インターネット・アクセス
- に
- 興味をそそる
- 導入
- 調査
- 関係する
- 関与
- 発行済み
- IT
- ITS
- 自体
- 1月
- ジャーナリスト
- カスペルスキー
- キー
- キー
- 知っている
- 知識
- 既知の
- 言語
- ESL, ビジネスESL <br> 中国語/フランス語、その他
- 発射
- 層
- つながる
- ツェッペリン
- 左
- 長さ
- 手紙
- レバレッジ
- 図書館
- ような
- 尤度
- 可能性が高い
- LIMIT
- 限定的
- LINE
- LINK
- リンク
- リスト
- リスト
- 負荷
- ローダ
- ローディング
- 負荷
- ローカル
- 位置して
- ロジック
- より長いです
- 見て
- 失う
- 最低
- メイン
- make
- 作る
- マルウェア
- 管理します
- マネージド
- 管理
- 方法
- 多くの
- 地図
- 一致
- 五月..
- 意味した
- だけど
- メカニズム
- メカニズム
- メモリ
- 方法
- Microsoft
- 真ん中
- 中東
- かもしれない
- 分
- 混合
- 修正する
- モジュール
- モジュール
- モニタリング
- モニター
- 他には?
- さらに
- の試合に
- 名
- 名前付き
- 名
- ネイティブ
- ナビゲート
- 必要
- net
- ネットワーク
- 新作
- 最新
- 新しく
- いいえ
- 注目すべき
- 特に
- 注意
- 今
- 数
- 入手する
- 得
- 発生する
- of
- 提供
- オファー
- 頻繁に
- on
- ONE
- もの
- の
- 動作
- オペレーティング
- 操作
- 業務執行統括
- 演算子
- or
- オリジナル
- OS
- その他
- さもないと
- 私たちの
- でる
- Outlook
- 出力
- が
- 概要
- 自分の
- P&E
- ページ
- パネル
- パラメータ
- 部
- 部品
- パス
- パッチ
- 補修
- path
- パターン
- ペンディング
- 割合
- 実行
- periodic
- 持続性
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- お願いします
- までご連絡ください
- ポイント
- ポイント
- 政治的
- ポスト
- 潜在的な
- :
- 正確な
- プレゼンス
- 現在
- PLM platform.
- 防ぐ
- を防止
- 前に
- 主要な
- 優先順位
- プライベート
- 特権
- 多分
- 進む
- プロセス
- 処理されました
- ラボレーション
- プログラミング
- プログラミング言語
- プロジェクト
- 適切な
- 提供します
- 提供
- プロバイダ
- は、大阪で
- 代理
- 公共
- 公表
- 目的
- 目的
- カタール
- クエリ
- ランダム
- ランダム化
- ランダム
- 範囲
- むしろ
- 原子炉
- リーダー
- リーディング
- 受け
- 受け取り
- 軽減
- 参照
- 言及
- 地域
- 登録された
- レジストリ
- 関連する
- 残る
- 残り
- 残っている
- 除去
- レポート
- 表し
- 評判
- 要求
- リクエスト
- 必要
- 研究
- 解像度
- リソースを追加する。
- リソース
- 責任
- REST
- 結果
- 結果として
- return
- 収益
- ロイター通信社
- 明らかにする
- 職種
- ルート
- ルーチン
- ランニング
- 実行
- s
- 安全性
- 同じ
- サン
- 見ました
- スキャン
- スキャニング
- 二番
- 秒
- セクション
- セクション
- セキュリティ
- セキュリティソフトウェア
- 送信
- 送る
- センス
- 送信
- 別
- 9月
- 役立つ
- 仕える
- サービス
- サービス
- セッションに
- セット
- 設定
- いくつかの
- シェアリング
- 示す
- 署名されました
- 署名
- 同様の
- 同様に
- から
- サイズ
- 空
- 小さい
- So
- ソフトウェア
- 溶液
- ソリューション
- 一部
- 何か
- 洗練された
- 洗練された
- 特別に
- 特に
- 指定の
- スパイウェア
- ステージ
- 開始
- 都道府県
- Stealth
- 保存され
- 店舗
- 文字列
- 構造
- テーマ
- 購読
- それに続きます
- 続いて
- そのような
- 提案する
- 適当
- 供給
- サポート
- 凌駕する
- サスペンド
- 疑わしい
- システム
- テーブル
- 取る
- 取得
- ターゲット
- 対象となります
- ターゲット
- ターゲット
- 仕事
- タスク
- 技術的
- テクニカル分析
- テクニック
- より
- それ
- アプリ環境に合わせて
- それら
- その後
- そこ。
- ボーマン
- 彼ら
- 三番
- この
- それらの
- 脅威
- 脅威
- 三
- しきい値
- 介して
- 時間
- タイムスタンプ
- 役職
- 〜へ
- トークン
- 豊富なツール群
- トータル
- に向かって
- 伝統的な
- 転送
- 転送
- 治療
- トリガ
- true
- 順番
- 2
- type
- 一般的に
- できません
- 下
- 被災者
- ユニコード
- ユニーク
- ユニークな機能
- ユナイテッド
- アラブ首長国連邦
- 未知の
- アンロック
- 名前なし
- まで
- 珍しいです
- 不要な
- 更新しました
- 更新版
- アップロード
- に
- URL
- us
- 使用法
- つかいます
- 中古
- ユーザー
- users
- 使用されます
- 活用する
- 利用
- 値
- 価値観
- 多様
- さまざまな
- 変化する
- バージョン
- 非常に
- 、
- 被害者
- バーチャル
- 訪問
- 視覚的に
- wait
- 待っています
- ました
- we
- ウェブ
- した
- この試験は
- いつ
- かどうか
- which
- while
- Wikipedia
- ウィンドウズ
- 以内
- 無し
- XML
- 年
- はい
- まだ
- ゼファーネット