Translated ['src/windows-hardening/active-directory-methodology/TimeRoas

This commit is contained in:
Translator 2025-07-09 16:59:09 +00:00
parent 16a7506d63
commit 18f1d85756

View File

@ -11,20 +11,20 @@ timeRoasting主要原因是微软在其对NTP服务器的扩展中留下的
可以看出当ExtendedAuthenticatorSupported ADM元素设置为`false`原始Markdown格式得以保留。
>原文引用:
>>如果ExtendedAuthenticatorSupported ADM元素为false客户端必须构造一个客户端NTP请求消息。客户端NTP请求消息的长度为68字节。客户端按照2.2.1节的描述设置客户端NTP请求消息的认证字段将RID值的最低有效31位写入认证的密钥标识符子字段的最低有效31位然后将密钥选择器值写入密钥标识符子字段的最高有效位。
>>如果ExtendedAuthenticatorSupported ADM元素为false客户端必须构造一个客户端NTP请求消息。客户端NTP请求消息的长度为68字节。客户端按照2.2.1节的描述设置客户端NTP请求消息的认证字段将RID值的最低有效31位写入认证的密钥标识符子字段的最低有效31位然后将密钥选择器值写入密钥标识符子字段的最高有效位。
在文档第4节协议示例第3点
在文档第4节协议示例第3点
>原文引用:
>>3. 在接收到请求后服务器验证接收到的消息大小为68字节。如果不是服务器要么丢弃请求如果消息大小不等于48字节要么将其视为未认证请求如果消息大小为48字节。假设接收到的消息大小为68字节服务器从接收到的消息中提取RID。服务器使用它调用NetrLogonComputeServerDigest方法如[MS-NRPC]第3.5.4.8.2节所来计算加密校验和并根据接收到的消息中密钥标识符子字段的最高有效位选择加密校验和如3.2.5节所规定。然后服务器向客户端发送响应将密钥标识符字段设置为0将加密校验和字段设置为计算出的加密校验和。
>>3. 在接收到请求后服务器验证接收到的消息大小为68字节。如果不是服务器要么丢弃请求如果消息大小不等于48字节要么将其视为未认证请求如果消息大小为48字节。假设接收到的消息大小为68字节服务器从接收到的消息中提取RID。服务器使用它调用NetrLogonComputeServerDigest方法如[MS-NRPC]第3.5.4.8.2节所来计算加密校验和并根据接收到的消息中密钥标识符子字段的最高有效位选择加密校验和如3.2.5节所。然后服务器向客户端发送响应将密钥标识符字段设置为0将加密校验和字段设置为计算出的加密校验和。
根据上述微软官方文档的描述用户不需要任何身份验证他们只需填写RID以发起请求然后就可以获得加密校验和。加密校验和在文档的3.2.5.1.1节中进行了说明。
>原文引用:
>>服务器从客户端NTP请求消息的认证字段的密钥标识符子字段的最低有效31位中检索RID。服务器使用NetrLogonComputeServerDigest方法如[MS-NRPC]第3.5.4.8.2节所规定)计算加密校验和,输入参数如下
>>服务器从客户端NTP请求消息的认证字段的密钥标识符子字段的最低有效31位中检索RID。服务器使用NetrLogonComputeServerDigest方法如[MS-NRPC]第3.5.4.8.2节所指定)使用以下输入参数计算加密校验和
>>>![](../../images/Pasted%20image%2020250709115757.png)
加密校验和使用MD5计算具体过程可以参考文档内容。这为我们执行烤制攻击提供了机会。
加密校验和使用MD5计算,具体过程可以参考文档内容。这为我们执行烤制攻击提供了机会。
## how to attack
@ -34,3 +34,5 @@ timeRoasting主要原因是微软在其对NTP服务器的扩展中留下的
```
sudo ./timeroast.py 10.0.0.42 | tee ntp-hashes.txt
hashcat -m 31300 ntp-hashes.txt
```