> 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/enumeracion-de-servidores-web-80.md).

# Enumeración de servidores web (80)

## 🌐 Enumeración de Servidores Web

* Un **servidor web** es un software utilizado para **servir datos de sitios web** en Internet o una red local.
* Los servidores web utilizan el **protocolo HTTP (Hypertext Transfer Protocol)** para facilitar la comunicación entre los clientes (navegadores, herramientas, etc.) y el servidor web.
* HTTP es un protocolo de **capa de aplicación** que por defecto utiliza el **puerto TCP 80** para las comunicaciones.
* Durante la enumeración de un servidor web, se puede:
  * Identificar la **versión del servidor web**.
  * Inspeccionar las **cabeceras HTTP**.
  * Realizar **fuerza bruta de directorios** y archivos ocultos.
  * Detectar posibles configuraciones incorrectas o información sensible expuesta.
* Ejemplos de **servidores web populares** incluyen:

  * **Apache HTTP Server**
  * **Nginx**
  * **Microsoft IIS (Internet Information Services)**

***

## <sup>🧪Laboratorio Práctico</sup>

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

<figure><img src="/files/72BxXudrcO8PdSdXvidM" alt=""><figcaption></figcaption></figure>

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

**Dominio:**

```
ping -c 5 victim-1
```

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

El objetivo es alcanzable.

**Paso 3:** Abra la consola del marco Metasploit.

**Dominio:**

```
msfconsole -q
```

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

**Paso 4:** Ejecute los módulos auxiliares de Metasploit contra el objetivo uno por uno.

**Módulo 1:** auxiliar/escáner/http/http\_version

**Comandos:**

```
use auxiliary/scanner/http/http_version
set RHOSTS victim-1
run
```

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

**Módulo 2:** auxiliar/escáner/http/robots\_txt

**Comandos:**

```
use auxiliary/scanner/http/robots_txt
set RHOSTS victim-1
run
```

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

**Módulo 3:** auxiliar/escáner/http/http\_header

**Comandos:**

```
use auxiliary/scanner/http/http_header
set RHOSTS victim-1
run
```

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

**Comandos:**

```
use auxiliary/scanner/http/http_header
set RHOSTS victim-1
set TARGETURI /secure
run
```

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

**Módulo 4:** auxiliar/scanner/http/brute\_dirs

**Comandos:**

```
use auxiliary/scanner/http/brute_dirs
set RHOSTS victim-1
run
```

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

**Módulo 5:** auxiliar/scanner/http/dir\_scanner

**Comandos:**

```
use auxiliary/scanner/http/dir_scanner
set RHOSTS victim-1
set DICTIONARY /usr/share/metasploit-framework/data/wordlists/directory.txt
run
```

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

**Módulo 6:** auxiliar/escáner/http/listado\_de\_directorios

**Comandos:**

```
use auxiliary/scanner/http/dir_listing
set RHOSTS victim-1
set PATH /data
run
```

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

**Módulo 7:** auxiliar/scanner/http/files\_dir

**Dominio:**

```
use auxiliary/scanner/http/files_dir
set RHOSTS victim-1
set VERBOSE false
run
```

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

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

**Módulo 8:** auxiliar/escáner/http/http\_put

**Comandos:**

```
use auxiliary/scanner/http/http_put
set RHOSTS victim-1
set PATH /data
set FILENAME test.txt
set FILEDATA "Welcome To AttackDefense"
run
```

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

Podemos observar que hemos escrito correctamente un archivo en el servidor de destino. Si el archivo ya existe, se sobrescribirá. Usemos wget para descargar el archivo test.txt y verificarlo.

**Comandos:**

```
wget http://victim-1:80/data/test.txt 
cat test.txt
```

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

Podemos descargar el archivo text.txt y podemos ver su contenido, es decir "Bienvenido a AttackDefense".

Ahora, usemos el método DELETE y eliminemos el archivo de texto.

**Comandos:**

```
use auxiliary/scanner/http/http_put
set RHOSTS victim-1
set PATH /data
set FILENAME test.txt
set ACTION DELETE
run
```

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

Intentemos descargar el mismo archivo desde la misma ruta. Esta vez, deberíamos recibir el error 404 (archivo no encontrado) porque lo hemos eliminado.

**Dominio:**

```
wget http://victim-1:80/data/test.txt 
```

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

**Módulo 9:** auxiliar/escáner/http/http\_login

**Comandos:**

```
use auxiliary/scanner/http/http_login
set RHOSTS victim-1
set AUTH_URI /secure/
set VERBOSE false
run
```

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

**Módulo 10:** auxiliar/escáner/http/apache\_userdir\_enum

**Comandos:**

```
use auxiliary/scanner/http/apache_userdir_enum
set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt
set RHOSTS victim-1
set VERBOSE false
run
```

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

Conclusión

En este laboratorio, aprendimos sobre la enumeración de Apache utilizando los módulos del marco Metasploit.

#### Referencias

1. [Apache](https://httpd.apache.org/)

Metasploit Modules:

1. [http\_version](https://www.rapid7.com/db/modules/auxiliary/scanner/http/http_version)
2. [http\_header](https://www.rapid7.com/db/modules/auxiliary/scanner/http/http_header)
3. [robots\_txt](https://www.rapid7.com/db/modules/auxiliary/scanner/http/robots_txt)
4. [brute\_dirs](https://www.rapid7.com/db/modules/auxiliary/scanner/http/brute_dirs)
5. [dir\_scanner](https://www.rapid7.com/db/modules/auxiliary/scanner/http/dir_scanner)
6. [dir\_listing](https://www.rapid7.com/db/modules/auxiliary/scanner/http/dir_listing)
7. [files\_dir](https://www.rapid7.com/db/modules/auxiliary/scanner/http/files_dir)
8. [http\_put](https://www.rapid7.com/db/modules/auxiliary/scanner/http/http_put)
9. [http\_login](https://www.rapid7.com/db/modules/auxiliary/scanner/http/http_login)
10. [apache\_userdir\_enum](https://www.rapid7.com/db/modules/auxiliary/scanner/http/apache_userdir_enum)
