Skip to content

📡 Banner Grabbing

Su objetivo principal es obtener datos detallados sobre:

  • El sistema operativo del equipo objetivo (en algunos casos)
  • Los servicios que están ejecutándose en los puertos abiertos
  • La versión exacta de cada servicio

Conocer la versión del software es clave, porque muchas vulnerabilidades (CVEs) están asociadas a versiones concretas de un programa.

¿Por qué es importante?

Si descubrimos, por ejemplo, que en el puerto 22 corre OpenSSH 7.4p1, ya podemos buscar vulnerabilidades conocidas para esa versión específica y comprobar si el sistema es vulnerable.

Principales formas de realizar Banner Grabbing

1. NMAP

Algunos ejemplos usando nmap:

python
# Detección de versión de servicios (la más usada)
nmap -sV <IP>

# Versión + detección de sistema operativo
nmap -sV -O <IP>

# Solo versión en puertos específicos
nmap -sV -p 22,80,443,445 10.10.10.10

# Usando el script "banner"
nmap --script banner <IP>

Ejemplo de salida usando -sV

python
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))

2. Netcat (nc)

Conexión directa para capturar el banner crudo que envía el servicio:

bash
# Sintaxis
nc IP Puerto

# Ejemplos para SSH, TCP, SMTP y Telnet
nc 10.10.10.10 22
SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u2

nc 10.10.10.10 21
220 (vsFTPd 3.0.5)

nc 10.10.10.10 25
220 mail.example.com ESMTP Postfix (Ubuntu)

nc 10.10.10.10 23
Debian GNU/Linux 12 \n \l

3. Manual / Interactivo

Interactuar con el servicio directamente enviando comandos o peticiones para ver de primera mano el banner:

bash
# Telnet - Simplemente conectar y observar
telnet 10.10.10.10 23
# o con nc
nc 10.10.10.10 23

# SSH - Usar cliente ssh para ver banner completo
ssh -v 10.10.10.10

Sin copyright ni nada. Ház lo que quieras con todo esto.