ホームページ 運用・保守 安全性 Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

Nov 26, 2019 am 10:02 AM
マトリックス

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

Mitre ATT&CK マトリックスには、クラシック プロセス インジェクション、プロセス ホロイング、および プロセス ドッペルゲンジングという 3 つのプロセス インジェクション手法があります。

プロセス インジェクションを使用するマルウェアの主な目的は、通常、ウイルス対策ソフトウェアによる検出を回避するか、権限昇格操作を実行することです。ここでは、主に最初の 3 つの方法について詳しく説明します。

1: 古典的なプロセス インジェクション (DLL インジェクション)

これは最も古典的な方法であり、プロセスも非常にシンプルかつ明確です:

OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

#2: プロセス空洞化

##これは非常に古いメソッドであり、一般的に中国語では「操り人形プロセスの作成」と訳されます。このメソッドを使用して作成されたプロセスは、IE などの合法的なプロセスに偽装することができ、そのアイコン リソースと説明は、プロセス ハッカーを使用して表示できます。メモリ、デジタル署名はすべて IE 値です。これは、緊急対応者が調査中に発見するのが難しい場合があります。

このメソッドを簡潔な言葉で要約します。つまり、悪意のあるプロセスは、まず一時停止状態のプロセスを作成し、次に元のメモリ マッピングをキャンセルして、事前に準備された悪意のあるコードに置き換えてから、そのプロセスに対して操作を実行します。変更されたイメージ ファイル。リダイレクト後にプロセスの実行状態を復元します。

実装アイデア:

1. CreateProcess を通じてターゲット プロセスを作成し、パラメーター CREATE_SUSPENDED を渡してプロセスを一時停止します

1 (2).jpg

2 . NtQueryProcessInformation を通じて、対象プロセスのメモリ内のイメージ ファイルのベース アドレスを取得します。 (PEB ブロック データ構造)

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

3. NtUnmapViewOfSection を通じてターゲット プロセスのメモリ データ (セクション) をクリアします。入力パラメータは、プロセス ハンドルとプロセスのベース アドレスです。イメージ ファイル


Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

4. VirtualAllocEx を通じて新しいメモリを申請します (開始アドレスは前のイメージ ファイルのベース アドレス、サイズはイメージ ファイルのサイズです) payload)

5. WriteProcessMemory

6 を通じてペイロードをメモリに書き込み、メモリに書き込まれたペイロードのベース アドレスをリダイレクトします

7、 GetThreadContext を介してターゲット スレッドを取得し、コンテキストの eax レジスタを修正してコード エントリ ポイントを修正します

8。SetThreadContext

9 を介してエントリ ポイントを設定します。ResumeThread を介してプロセスを起動し、ペイロードを実行します

対立アイデア:

実装から ステップ 1、4、5、6、7、8、および 9 は、プロセスを作成して注入する従来の方法であることがわかります。それは自分自身です。ステップ 2 と 3 だけが特別です。フックキー機能など従来の検出方法で検出可能です。

3: プロセス ドッペルゲンギング

これは、2017 年のヨーロッパ ブラック ハット カンファレンスで最初に提案された、比較的新しい注入方法です。この手法は、プロセス ホローイングと原理も性能も似ており、プロセス ドッペルゲンギングで作成されたプロセスをプロセス ハッカーでメモリ上に表示すると、そのアイコン リソース、説明、デジタル署名はすべて指定されたターゲット プログラムになります。

この方法は、Windows トランザクション (TxF) の特性を利用し、悪意のあるファイルを使用してトランザクション内の正当なファイルを上書きします。この時点では、トランザクションは送信されません (つまり、上書きは行われません)。ディスク)、次にセクション (現在のトランザクションのコピー)。セクション ハンドルを取得した後、トランザクションはロールバックされ、悪意のあるファイルがディスク上の正当なファイルを実際に上書きするのを防ぎます。その後、メモリ内のセクションのハンドルを使用してプロセスが作成されます。作成されたプロセスには、合法的な実行可能ファイルに関する情報が含まれています。

ご覧のとおり、トランザクションでファイルを上書きする必要があるため、このメソッドでは対象ファイルに対する書き込み権限が必要です。

実装アイデア:

1. TxF トランザクション オブジェクト (NtCreateTransaction) を作成します

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

#2. トランザクション API を使用して正当な実行可能ファイルを開きます。つまり、ファイルをトランザクション オブジェクトに追加します (CreateFileTransacted)

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

3. 悪意のあるファイルを開き、そのファイルにメモリ領域を割り当てます (CreateFile、GetFileSizeEx -> NtAllocateVirtualMemory -> ; ReadFile)

4. トランザクション内の正規の実行可能ファイルをメモリ内の悪意のあるファイルで上書きします (WriteFile)

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

5. のセクションを作成します。現在のトランザクション (NtCreateSection)

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

6. トランザクションをロールバックし、上書きされたばかりのファイルを正当な実行可能ファイル (NtRollbackTransaction) に復元します

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

7. メモリ内のセクションを使用してプロセスを作成しますオブジェクト (NtCreateProcessEx )

Mitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法

8. 悪意のあるファイルのエントリ ポイントを取得し、プロセス パラメーター ブロックを作成し、そのプロセス ブロックをプロセス メモリに書き込みます (NtQueryInformationProcess -> ; RtlInitUnicodeString -> RtlCreateProcessParametersEx)

9. PEB 内のプロセス パラメーター ブロックを更新し、対象のプロセス オブジェクトのスレッドを作成し、悪意のあるコードを実行します (NtCreateThreadEx)

対策:

手順よりフック この手法は、主要な関数 (NtCreateThreadEx など) を判断することで検出できます。

要約

上記 3 つの手法の進化から、いくつかの傾向がわかります。

第一点は、メモリの隠蔽能力がますます強くなっているということで、当初は全く隠蔽していなかったものが、今では法的プログラムに沿ってメモリ上で動作するようになりました。

2 番目のポイントは、ペイロードがメモリに解放される手段の検出がますます困難になっているということです。当初、ペイロードはメモリに直接コピーされていました。現在、攻撃者はいくつかの機能 (TxF など) を使用できるようになりました。 ) リリースプロセスをさらに隠蔽します。

3点目は、最終段階の主要な関数はほとんど変更がなく、ペイロードの解放がどんどん隠蔽されていく場合でも、メモリ上に解放されて実行が呼び出されることになります。限られた数の主要な関数をフックすることで、最終的なペイロードをダンプする必要があります。

その他の関連チュートリアルの推奨事項: Web サーバーのセキュリティ

以上がMitre ATT&CK マトリックスの 3 つのプロセス インジェクション手法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

人工知能の歴史とマトリックスを探る: 人工知能チュートリアル (2) 人工知能の歴史とマトリックスを探る: 人工知能チュートリアル (2) Nov 20, 2023 pm 05:25 PM

このシリーズの最初の記事では、人工知能、機械学習、深層学習、データ サイエンスなどのつながりと違いについて説明しました。また、シリーズ全体で使用するプログラミング言語やツールなどについても、いくつかの難しい選択をしました。最後に、行列の知識も少し紹介しました。この記事では、人工知能の中核であるマトリックスについて詳しく説明します。その前に、まず人工知能の歴史を理解しましょう。なぜ人工知能の歴史を理解する必要があるのでしょうか?歴史上何度もAIブームはありましたが、多くの場合、AIの可能性に対する大きな期待は実現しませんでした。人工知能の歴史を理解すると、この人工知能の波が奇跡を起こすのか、それともはじけようとしている単なるバブルなのかを知ることができます。私たち

行列の右対角要素の合計を計算する Python プログラム 行列の右対角要素の合計を計算する Python プログラム Aug 19, 2023 am 11:29 AM

人気のある汎用プログラミング言語は Python です。デスクトップ アプリケーション、Web 開発、機械学習など、さまざまな業界で使用されています。幸いなことに、Python には初心者に適したシンプルで理解しやすい構文があります。この記事では、Python を使用して行列の右対角の合計を計算します。マトリックスとは何ですか?数学では、数学的オブジェクトまたはそのプロパティを記述するために長方形の配列または行列を使用します。これは、行と列に配置された数値、記号、または式を含む長方形の配列または表です。例: -234512367574 したがって、これは 3 行 4 列の行列であり、3*4 行列として表されます。さて、行列には​​ 2 つの対角線、主対角線と副対角線があります。

Pythonでnumpyを使用して行列またはndArrayの行列式を計算するにはどうすればよいですか? Pythonでnumpyを使用して行列またはndArrayの行列式を計算するにはどうすればよいですか? Aug 18, 2023 pm 11:57 PM

この記事では、Python の numpy ライブラリを使用して行列の行列式を計算する方法を学びます。行列の行列式は、行列をコンパクトな形式で表現できるスカラー値です。これは線形代数で有用な量であり、物理学、工学、コンピューターサイエンスなどのさまざまな分野で数多くの応用があります。この記事では、まず行列式の定義と性質について説明します。次に、numpy を使用して行列の行列式を計算する方法を学び、いくつかの例を通して実際にどのように使用されるかを見ていきます。マトリクスの行列式は、プロパティを記述するために使用できるスカラー値です。

多次元配列を使用して 2 つの行列を乗算する Python プログラム 多次元配列を使用して 2 つの行列を乗算する Python プログラム Sep 11, 2023 pm 05:09 PM

行列は、行と列に配置された一連の数値です。 m 行 n 列の行列は mXn 行列と呼ばれ、m と n はその次元と呼ばれます。行列は、リストまたは NumPy 配列を使用して Python で作成された 2 次元配列です。一般に、行列の乗算は、最初の行列の行と 2 番目の行列の列を乗算することで実行できます。ここで、最初の行列の列数は 2 番目の行列の行数と等しくなければなりません。入力シナリオと出力シナリオ 2 つの行列 A と B があるとします。これら 2 つの行列の次元は、それぞれ 2X3 と 3X2 です。乗算後の結果の行列は 2 行 1 列になります。 [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

2 つの行列が等しいかどうかを比較する C プログラム 2 つの行列が等しいかどうかを比較する C プログラム Aug 31, 2023 pm 01:13 PM

ユーザーは、2 つの行列の順序と両方の行列の要素を入力する必要があります。次に、2 つの行列を比較します。行列の要素とサイズが両方とも等しい場合、2 つの行列は等しいと見なされます。行列のサイズは等しいが要素が等しくない場合、行列は比較可能ですが等しくないと示されます。サイズと要素が一致しない場合、表示マトリックスを比較することはできません。次のプログラムは C プログラムで、2 つの行列が等しいかどうかを比較するために使用されます。#include<stdio.h>#include<conio.h>main(){ intA[10][10],B[10][10] ; で

Python プログラム: 行列の最初と最後の要素の位置を列間で交換します。 Python プログラム: 行列の最初と最後の要素の位置を列間で交換します。 Sep 08, 2023 pm 04:29 PM

行列は、行と列に配置された数値の 2 次元配列です。 Python には行列を表すデータ型がありませんが、ネストされたリストまたは NumPy 配列を行列として使用できます。行列の最初と最後の列要素を交換する方法については、次の入力シナリオと出力シナリオを参照してください。入出力シナリオ リストのリストを使用して表現された 3X3 行列があると仮定します。出力行列は、最初と最後の列要素を交換した結果の行列になります。入力行列:[1,3,4][4,5,6][7,8,3]出力行列:[4,3,1][4,5,6][3,8,7]別の行列を考えてみましょう行と列が等しくない行列。入力行列:

マトリックスの勘定を元に戻すにはどうすればよいですか?逆行列とはどういう意味ですか? マトリックスの勘定を元に戻すにはどうすればよいですか?逆行列とはどういう意味ですか? Mar 27, 2024 pm 12:16 PM

ソーシャル メディア運用では、マトリックス アカウントのバックフローが一般的な戦略であり、異なるアカウント間でトラフィックを誘導することで、ファンが相互に補完し合い、アクティビティを増やすことができます。マトリックス口座間の逆流には慎重な計画と実行が必要であり、簡単なことではありません。この記事では、異なるアカウント間の反転を実装する方法と反転行列の重要性について詳しく説明します。 1. マトリックスの勘定を元に戻すにはどうすればよいですか?マトリックス アカウントの中で、主要なトラフィック ソースおよびコア コンテンツを公開するプラットフォームとなるメイン アカウントを選択することが重要です。コンテンツ計画とは、一貫したコンテンツの品質とスタイルを確保するために、アカウントの特性とターゲット視聴者に基づいて対応するコンテンツ計画を策定することです。 3. お互いを勧めたり、いいねしたりする: マトリックス アカウント間でお互いを宣伝したり、いいねしたりし、ファンを合理的なレイアウトや配置でガイドします。

Douyin アカウント マトリックスを設定するにはどうすればよいですか?マトリックスを行うときにアカウントの問題を解決するにはどうすればよいですか? Douyin アカウント マトリックスを設定するにはどうすればよいですか?マトリックスを行うときにアカウントの問題を解決するにはどうすればよいですか? Mar 25, 2024 pm 11:01 PM

ショートビデオ業界の急速な発展に伴い、Douyin は中国で最も人気のあるショートビデオ プラットフォームの 1 つになりました。多くの企業や自営業者は、Douyin アカウント マトリックスを構築することで影響力を拡大したいと考えています。では、適切なDouyinアカウントマトリックスを構築するにはどうすればよいでしょうか?この記事ではこの疑問に答え、アカウントの問題を解決する方法を紹介します。 1.Douyin アカウント マトリックスを設定するにはどうすればよいですか? Douyin アカウント マトリックスを確立する際の最初のタスクは、各アカウントの位置付けを正確に決定することです。ブランドや個人の特性に合わせて、各アカウントのテーマやスタイルを明確にし、ターゲット層を惹きつける。コンテンツのトピック、公開頻度、撮影テクニックなど、コンテンツ戦略を決定することが重要です。これらの手順は、アカウント マトリックスの有効性を最大限に活用するのに役立ちます。 3. アカウント間のインタラクション: 各アカウント間に良好な関係を確立します。

See all articles