> 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/descripcion-general-del-analisis-de-vulnerabilidades/escaneo-de-vulnerabilidades/captura-de-banners.md).

# Captura de banners

## 🎯 ¿Qué es el Banner Grabbing?

El **banner grabbing** es una técnica utilizada para obtener información acerca del sistema operativo del objetivo y de los servicios que se están ejecutando en sus puertos abiertos. Esta técnica consiste en conectarse a un puerto abierto y recuperar el **banner** que el servicio expone, el cual puede contener detalles como:

* Nombre del servicio
* Versión
* Sistema operativo subyacente
* Información de compilación

> **Ejemplo:** Un banner de Apache puede revelar que se trata de `Apache/2.4.29 (Ubuntu)`, lo cual permite identificar tanto el software como el sistema operativo.

***

## 🔍 ¿Para qué sirve?

El objetivo principal del banner grabbing es **identificar los servicios activos y sus versiones**, lo cual es crucial para determinar posibles vulnerabilidades explotables.

Una vez identificado un servicio, se puede buscar en bases de datos como CVE, Exploit-DB o Vulners para ver si existen vulnerabilidades asociadas a esa versión específica.

***

## 🧪 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 a explorar la captura de banners, deberá obtener la dirección IP del sistema de destino dentro del entorno de laboratorio. Esto se debe a que las direcciones IP y las subredes correspondientes cambian al iniciar un laboratorio.

Para identificar la dirección IP de destino, deberá ejecutar el siguiente comando en el sistema Kali Linux que se le proporcionó:

**Dominio:**

```
ifconfig
```

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

Como se muestra en la captura de pantalla anterior, identifique la dirección IP de Kali Linux asociada a la interfaz eth1. La dirección IP de destino siempre es la siguiente IP dentro de la subred. En este caso, la IP de destino es:

```
192.8.94.3
```

**Nota:** En su caso, esto será diferente, así que asegúrese de sustituir la dirección IP con la de su laboratorio.

**Paso 3:** Identificar los servicios que se ejecutan en el sistema de destino

Ahora que hemos identificado la dirección IP del objetivo, podemos realizar un escaneo rápido de detección de la versión del servicio Nmap para identificar los puertos abiertos que se ejecutan en el objetivo y los servicios correspondientes.

Esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
nmap -sV -O 192.8.94.3
```

Como se muestra en la siguiente captura de pantalla, este escaneo revela que el objetivo solo tiene el puerto 22 abierto ejecutando SSH.

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

**Paso 4:** Captura de banners con scripts de Nmap

En ciertos casos, un análisis de detección de versión de servicio Nmap tradicional puede no revelar información precisa sobre la versión exacta de un servicio que se ejecuta en un sistema de destino.

Como resultado, es posible que deba interactuar manualmente con un puerto para identificar la versión exacta del servicio.

La captura de banners se puede automatizar mediante un script de Nmap. En este caso, usaremos el script **banner.nse** .

Puede ejecutar el script Nmap al realizar un escaneo de Nmap en el sistema de destino ejecutando el siguiente comando:

**Dominio:**

```
nmap -sV --script=banner 192.8.94.3
```

Como se muestra en la siguiente captura de pantalla, el script **banner.nse** no revela ninguna información nueva sobre la versión de OpenSSH que se ejecuta en el puerto 22.

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

Si bien la captura de banners puede no revelar ninguna información nueva acerca de un servicio que se ejecuta en un objetivo, en ciertos casos donde Nmap no puede detectar la versión exacta de un servicio que se ejecuta en un puerto, deberá volver a la captura de banners manual.

**Paso 5:** Captura de banners con Netcat

Netcat se puede utilizar para capturar banners de forma manual en un puerto conectándose directamente a él.

Esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
nc 192.8.94.3 22
```

Netcat se conectará al puerto y mostrará el banner del servicio que se ejecuta en ese puerto.

Como se muestra en la siguiente captura de pantalla, podemos confirmar que **OpenSSH 7.2p2** se está ejecutando en el puerto 22 del destino.

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

### Conclusión

En este laboratorio, hemos visto cómo capturar banners con un script de Nmap y Netcat. ¿Por qué es importante? Para identificar exploits en servicios que se ejecutan en un objetivo, un dato clave es la versión exacta del servicio. Si bien Nmap obtiene esta información fácilmente, en algunos casos puede no ser capaz de identificar el servicio o su versión en un puerto abierto. Por lo tanto, será necesario capturar banners manualmente para obtener la información necesaria.
