1。ユーザーアカウントコントロールの紹介(UAC)
この記事では、ユーザーアカウントコントロール、つまりUACを簡単に紹介します。また、マルウェアから潜在的に保護し、UACのプロンプトがシステムに引き起こす可能性のある問題のいくつかを無視できる方法を検討します。
1.ユーザーアカウントコントロール(UAC)とは何ですか?
MicrosoftのWindows Vista and Windows Server 2008オペレーティングシステムは、予測可能で少量の操作のみを必要とするシステム全体の予期しない変更を防ぐために、優れたユーザーアカウント制御アーキテクチャを導入します。
言い換えれば、これはWindowsのセキュリティ機能であり、オペレーティングシステムの不正な変更を防ぐことをサポートするものであり、UACは、管理者が許可した場合にのみ特定の変更が行われることを保証します。管理者が変更を許可しない場合、これらの変更は実行されず、Windowsシステムは同じままです。
2. UACはどのように機能しますか?
UACは、システムの変更/特定のタスクを含むタスクの実行をプログラムにブロックすることにより実行されます。これらの操作を実行しようとするプロセスが管理者の特権で実行されない限り、これらの操作は実行されません。管理者としてプログラムを実行すると、管理者として実行されるプログラムの代わりに「昇格」になるため、より多くの権限があります。
管理者の特権なしでは完了できないいくつかの操作:
レジストリの変更(レジストリキーがhkey_local_machineの下にある場合(複数のユーザーに影響するため)、読み取り専用になります)
デバイスドライバーのロード
DLL注射
システム時間(クロック)を変更する
ユーザーアカウント制御設定を変更する(この設定はレジストリを介して有効/無効にすることができますが、これを行うには正しいアクセス許可が必要です)
保護されたディレクトリ(Windowsフォルダー、プログラムファイルなど)を変更する
スケジュールされたタスク(たとえば、管理者の特権から自動的に開始)
UACはマルウェアを自動的にブロックするわけではなく、その目的はプログラムがマルウェアであるかどうかを判断することではありません。また、ユーザーに依存します。プログラムが管理者の特権で実行される場合、ユーザーは思い出され、ユーザーは確認する必要があります。
https://malwaretips.com/threads/why-uac-is-important-and-how-it-can-protect-you.47157/
2。 UACをバイパスする方法
最初に、Exploreを通じてターゲットホストのメーターを取得します。 MeterPreterセッション1を取得した後、次のコマンドを入力して、システムの許可があるかどうかを確認します。
GetSystem
getuid
システム/管理者の権限がない場合。次に、ターゲットシステムのUAC保護をバイパスする必要があります。
1。方法1:Windowsの許可アップグレードバイパスUAC保護
このモジュールは、プロセスインジェクションを通じて信頼できるパブリッシャー証明書を使用してWindows UACをバイパスします。 UACフラグを閉じる2番目のシェルが生成されます。
msfuseexploit/windows/local/bypassuac
msfexploitWindows/local/bypassuac)setSession1
msfexploit(Windows/Local/Bypassuac)エクスプロイト
指定されたMeterPreterから、MeterPreterセッション2が開いていることがわかります。これは、次のコマンドがシステムの許可権を決定することです。
GetSystem
getuid
非常に良い、ここではNT Authority \ Systemの許可を取得します。「Shell」コマンドを入力すると、管理者の許可を使用してコマンドプロンプトが表示されます。
2。方法2:Windows Permissions Enhancement Bypass UAC保護(メモリインジェクション)
このモジュールは、プロセスインジェクションを通じて信頼できるパブリッシャー証明書を使用してWindows UACをバイパスします。 UACフラグを閉じる2番目のシェルが生成されます。一般的なテクノロジーでは、モジュールは反射DLLインジェクションテクノロジーを使用し、3つの個別のバイナリファイルではなく、DLLペイロードバイナリのみを削除します。ただし、正しいアーキテクチャを選択する必要があります(x64はSyswow64システムにも使用されます)。 exe:customが指定されている場合、別のプロセスでペイロードを開始した後、exitprocess()を呼び出す必要があります。
msfuseexploit/windows/local/bypassuac_injection
msfexploit(Windows/local/bypassuac_injection)setSession1
msfexploit(Windows/local/bypassuac_injection)エクスプロイト
指定されたMeterPreterから、MeterPreterセッション2が開いていることがわかります。次のコマンドを入力して、システム許可権を決定します。
GetSystem
getuid
最後に、NT Authority \ Systemの許可を取得し、「シェル」コマンドを入力すると、管理者の権限を使用してコマンドプロンプトが表示されます。
3。方法3:Windows UAC保護をバイパス(Fodhelperレジストリキーを介して)
このモジュールは、現在のユーザーハイブの下でレジストリの特別なキーをハイジャックすることにより、Windows 10 UACをバイパスし、Windows fodhelper.exeアプリケーションを開始するときに呼び出されるカスタムコマンドを挿入します。 UACフラグを閉じる2番目のシェルが生成されます。このモジュールはレジストリキーを変更しますが、ペイロードを呼び出すとキーをクリアします。このモジュールでは、ペイロードアーキテクチャとオペレーティングシステムのマッチングは必要ありません。 exe:customが指定されている場合、別のプロセスでペイロードを開始した後、exitprocess()を呼び出す必要があります。
msfuseexploit/windows/local/bypassuac_fodhelper
msfexploit(Windows/local/bypassuac_fodhelper)setSession1
msfexploit(Windows/local/bypassuac_fodhelper)エクスプロイト
指定されたMeterPreterから、MeterPreterセッション2が開いていることがわかります。次のコマンドを入力して、システム許可権を決定します。
GetSystem
getuid
非常に良い、ここではNT Authority \ Systemの許可を取得します。「Shell」コマンドを入力すると、管理者の許可を使用してコマンドプロンプトが表示されます。
4。方法4:Windowsの許可アップグレードバイパスUAC保護(EventVWRレジストリキーを介して)
このモジュールは、現在のユーザーハイブの下でレジストリの特別なキーをハイジャックし、Windowsイベントビューアーを起動するときに呼び出されるカスタムコマンドを挿入することにより、Windows UACをバイパスします。 UACフラグを閉じる2番目のシェルが生成されます。このモジュールはレジストリキーを変更しますが、ペイロードを呼び出すとキーをクリアします。このモジュールでは、ペイロードアーキテクチャとオペレーティングシステムのマッチングは必要ありません。 exe :Customが指定されている場合、別のプロセスでペイロードを開始した後、ExitProcess()を呼び出す必要があります。
msfuseexploit/windows/local/bypassuac_eventvwr
msfexploit(Windows/local/bypassuac_eventvwr)setSession1
msfexploit(Windows/local/bypassuac_eventvwr)エクスプロイト
指定されたMeterPreterから、MeterPreterセッション2が開いていることがわかります。次のコマンドを入力して、システム許可権を決定します。
GetSystem
getuid
再びNT Authority \ Systemの許可を取得します。
5。方法5:Windowsの許可アップグレードバイパスUAC保護(comハンドラーを介してハイジャック)
このモジュールは、HKCUハイブにCOMハンドラーレジストリキーを作成することにより、Windows UACをバイパスします。いくつかのより高い整合性レベルプロセスがロードされると、これらのレジストリエントリが参照され、プロセスがユーザー制御DLLをロードします。これらのDLLには、セッション権限の上昇をもたらすペイロードが含まれています。このモジュールはレジストリキーを変更しますが、ペイロードを呼び出すとキーをクリアします。このモジュールでは、オペレーティングシステムに合わせてペイロードアーキテクチャを必要としますが、現在の低主種のメータープレーターセッションアーキテクチャでは異なる場合があります。 exe:カスタムが指定されている場合、別のプロセスでPayloaを開始した後、exitprocess()を呼び出す必要があります。このモジュールは、ターゲット上のCMD.exeを介してターゲットバイナリを呼び出します。したがって、CMD.exeアクセスが制限されている場合、このモジュールは適切に機能しません。
msfuseexploit/windows/local/bypassuac_comhijack
msfexploit(Windows/local/bypassuac_comhijack)setSession1
msfexploit(Windows/local/bypassuac_comhijack)エクスプロイト
指定されたMeterPreterから、MeterPreterセッション2が開いていることがわかります。次のコマンドを入力して、システム許可権を決定します。
GetSystem
getuid
最後に、NT Authority \ System Permissionsを取得し、「シェル」コマンドを再度実行すると、管理者の特権を使用してコマンドプロンプトアクセスを取得するため、MetaSploitを介してExploit Exploitsを活用してUAC保護をバイパスできます。
Recommended Comments