mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/windows-hardening/active-directory-methodology/TimeRoas
This commit is contained in:
parent
8db7b12c0b
commit
203651eb80
BIN
src/images/Pasted image 20250709114508.png
Normal file
BIN
src/images/Pasted image 20250709114508.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 103 KiB |
BIN
src/images/Pasted image 20250709115757.png
Normal file
BIN
src/images/Pasted image 20250709115757.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 147 KiB |
@ -0,0 +1,36 @@
|
||||
## TimeRoasting
|
||||
|
||||
timeRoastingの主な原因は、MicrosoftがNTPサーバーへの拡張で残した古い認証メカニズム、MS-SNTPとして知られるものです。このメカニズムでは、クライアントは任意のコンピュータアカウントの相対識別子(RID)を直接使用でき、ドメインコントローラーはコンピュータアカウントのNTLMハッシュ(MD4によって生成された)をキーとして、応答パケットの**メッセージ認証コード(MAC)**を生成します。
|
||||
|
||||
攻撃者はこのメカニズムを利用して、認証なしで任意のコンピュータアカウントの同等のハッシュ値を取得できます。明らかに、Hashcatのようなツールを使用してブルートフォース攻撃を行うことができます。
|
||||
|
||||
具体的なメカニズムは、[MS-SNTPプロトコルの公式Windowsドキュメント](https://winprotocoldoc.z19.web.core.windows.net/MS-SNTP/%5bMS-SNTP%5d.pdf)のセクション3.1.5.1「認証要求の動作」で確認できます。
|
||||
|
||||
ドキュメントのセクション3.1.5.1では、認証要求の動作について説明しています。
|
||||

|
||||
ExtendedAuthenticatorSupported ADM要素が`false`に設定されている場合、元のMarkdown形式が保持されることがわかります。
|
||||
|
||||
>元の記事からの引用:
|
||||
>>ExtendedAuthenticatorSupported ADM要素がfalseの場合、クライアントはクライアントNTPリクエストメッセージを構築しなければなりません。クライアントNTPリクエストメッセージの長さは68バイトです。クライアントは、セクション2.2.1で説明されているように、クライアントNTPリクエストメッセージの認証子フィールドを設定し、RID値の最下位31ビットを認証子のキー識別子サブフィールドの最下位31ビットに書き込み、その後、キーセレクタ値をキー識別子サブフィールドの最上位ビットに書き込みます。
|
||||
|
||||
ドキュメントのセクション4 プロトコル例のポイント3
|
||||
|
||||
>元の記事からの引用:
|
||||
>>3. リクエストを受信した後、サーバーは受信したメッセージのサイズが68バイトであることを確認します。そうでない場合、サーバーはリクエストを破棄するか(メッセージサイズが48バイトでない場合)、未認証リクエストとして扱います(メッセージサイズが48バイトの場合)。受信したメッセージのサイズが68バイトであると仮定すると、サーバーは受信したメッセージからRIDを抽出します。サーバーはそれを使用して、NetrLogonComputeServerDigestメソッド([MS-NRPC]セクション3.5.4.8.2で指定)を呼び出し、暗号チェックサムを計算し、受信したメッセージのキー識別子サブフィールドの最上位ビットに基づいて暗号チェックサムを選択します(セクション3.2.5で指定)。その後、サーバーはクライアントに応答を送り、キー識別子フィールドを0に設定し、暗号チェックサムフィールドを計算された暗号チェックサムに設定します。
|
||||
|
||||
上記のMicrosoft公式ドキュメントの説明によれば、ユーザーは認証を必要とせず、RIDを入力するだけでリクエストを開始でき、その後、暗号チェックサムを取得できます。暗号チェックサムは、ドキュメントのセクション3.2.5.1.1で説明されています。
|
||||
|
||||
>元の記事からの引用:
|
||||
>>サーバーは、クライアントNTPリクエストメッセージの認証子フィールドのキー識別子サブフィールドの最下位31ビットからRIDを取得します。サーバーは、NetrLogonComputeServerDigestメソッド([MS-NRPC]セクション3.5.4.8.2で指定)を使用して、次の入力パラメータで暗号チェックサムを計算します:
|
||||
>>>
|
||||
|
||||
暗号チェックサムはMD5を使用して計算され、具体的なプロセスはドキュメントの内容を参照できます。これにより、ロースティング攻撃を実行する機会が得られます。
|
||||
|
||||
## how to attack
|
||||
|
||||
Quote to https://swisskyrepo.github.io/InternalAllTheThings/active-directory/ad-roasting-timeroasting/
|
||||
|
||||
[SecuraBV/Timeroast](https://github.com/SecuraBV/Timeroast) - Timeroasting scripts by Tom Tervoort
|
||||
```
|
||||
sudo ./timeroast.py 10.0.0.42 | tee ntp-hashes.txt
|
||||
hashcat -m 31300 ntp-hashes.txt
|
Loading…
x
Reference in New Issue
Block a user