Identificar tecnologías con WhatWeb

 

https://www.onlinetis.com

Identificar tecnologías con WhatWeb

WhatWeb es una de las herramientas de reconocimiento más utilizadas en Kali Linux. Su función principal es identificar las tecnologías que utiliza un sitio web (el sistema de gestión de contenidos o CMS, librerías de JavaScript, el tipo de servidor web, plugins, correos electrónicos expuestos y más).

En pocas palabras: te dice "qué es" esa web sin necesidad de interactuar a fondo con ella de forma manual.

¿Cómo se usa? (Comandos principales)

WhatWeb ya viene preinstalado en Kali Linux. Solo tienes que abrir tu terminal y empezar a lanzar comandos. Aquí tienes los más comunes:

1. Escaneo básico

Es la forma más rápida. Te dará una línea con un resumen de las tecnologías detectadas.

Bash
whatweb google.com

2. Escaneo detallado (Modo Verbose)

Te muestra la misma información pero explicada de forma extendida, separando cada tecnología por módulos y detallando versiones.

Bash
whatweb -v google.com

3. Ajustar el nivel de agresividad (-a)

WhatWeb tiene 4 niveles de agresividad (del 1 al 4). Por defecto usa el nivel 1.

  • Nivel 1 (Pasivo): Hace una sola petición HTTP normal a la web, es rápido y no levanta sospechas.

  • Nivel 3 (Agresivo): Empieza a profundizar de forma automática en los directorios de la web para rascar más información (ideal si quieres saber la versión exacta de un WordPress).

Bash
whatweb -a 3 objetivo.com

4. Escanear múltiples objetivos

Si tienes una lista de páginas web que auditar, puedes meterlas todas en un archivo de texto (por ejemplo, webs.txt) y procesarlas a la vez:

Bash
whatweb -i webs.txt

5. Exportar los resultados

Si estás haciendo una auditoría y necesitas guardar lo que has encontrado, puedes exportarlo en diferentes formatos (como un archivo de texto limpio o formato JSON):

Bash
whatweb objetivo.com --log-brief=resultado.txt

💡 Nota de seguridad: Aunque el nivel pasivo (-a 1) equivale a una visita normal que cualquiera haría con un navegador, los niveles agresivos (-a 3 o -a 4) realizan múltiples peticiones automatizadas. Úsalo siempre bajo tu propio entorno o con la autorización correspondiente.


Cuando lanzas un escaneo básico con WhatWeb, la herramienta condensa toda la información en una sola línea (o unas pocas si detecta redirecciones).

Aquí tienes un ejemplo real de cómo se ve el resultado en la terminal al escanear un sitio web ficticio basado en WordPress:

Plaintext
http://ejemplo.com [200 OK] Apache[2.4.52], Country[ES][Spain], HTML5, HTTPServer[Ubuntu Linux][Apache/2.4.52], IP[192.168.1.45], JQuery[3.6.0], MetaGenerator[WordPress 6.4.2], PHP[8.1.2], Title[Blog de Pruebas], WordPress[6.4.2]

¿Qué significa cada parte?

WhatWeb organiza la respuesta utilizando corchetes [...] para cada tecnología o dato detectado. Vamos a destripar el ejemplo de izquierda a derecha:

  • [http://ejemplo.com](http://ejemplo.com): Es la URL del objetivo que has escaneado.

  • [200 OK]: Es el código de estado HTTP. Significa que la página web está activa y respondió correctamente a la solicitud. (Si pusiera [301 Moved Permanently], significaría que la web te está redirigiendo a otra URL).

  • Apache[2.4.52]: Identifica el servidor web que aloja la página. En este caso, no solo sabe que es Apache, sino que ha logrado extraer la versión exacta (2.4.52), algo crucial para buscar vulnerabilidades específicas.

  • Country[ES][Spain]: Geolocalización del servidor. Te dice que la dirección IP de la máquina está físicamente ubicada en España.

  • HTML5: Indica el estándar de código web con el que está construida la estructura de la página.

  • HTTPServer[Ubuntu Linux][Apache/2.4.52]: Es la firma completa del servidor (el banner). Esto nos revela información extra muy valiosa: el sistema operativo del servidor es Ubuntu Linux.

  • IP[192.168.1.45]: La dirección IP pública (o local, en este ejemplo) del servidor donde se hospeda la web.

  • JQuery[3.6.0]: Detectó que la web utiliza la librería de JavaScript llamada jQuery en su versión 3.6.0.

  • MetaGenerator[WordPress 6.4.2]: El código fuente de la página tiene una etiqueta oculta (<meta name="generator"...>) que confiesa de forma automática qué sistema y qué versión generaron la web.

  • PHP[8.1.2]: El lenguaje de programación que corre en el servidor. Te da la versión exacta (8.1.2).

  • Title[Blog de Pruebas]: Es el título de la página web, el texto que verías arriba en la pestaña de tu navegador.

  • WordPress[6.4.2]: Confirma al 100% que el sitio es un CMS WordPress en su versión 6.4.2.

🛠️ El dato clave para auditorías: Lo más valioso de este output son los números de versión (como WordPress[6.4.2] o Apache[2.4.52]). Con estos datos, un auditor de seguridad puede ir a bases de datos de vulnerabilidades (como Exploit-DB o CVE) y comprobar si ese sitio web tiene fallos conocidos que requieran ser parcheados.


Ocultar las versiones y los "banners" de tu infraestructura es una de las prácticas básicas de fortalecimiento de servidores (Server Hardening). En ciberseguridad, esto se conoce como reducir la superficie de ataque mediante el principio de seguridad por oscuridad: no evita que te ataquen, pero le pone las cosas mucho más difíciles a los escáneres automáticos como WhatWeb al no dejarles claro qué vulnerabilidades específicas buscar.

A continuación, te muestro cómo ocultar estos datos en los tres componentes que mencionas.

1. Apache: Ocultar el Server Banner y el OS

Por defecto, Apache le dice al mundo no solo su versión, sino también el sistema operativo (por ejemplo, Apache/2.4.52 (Ubuntu)). Para cambiar esto:

  1. Abre el archivo de configuración de seguridad de Apache (en sistemas basados en Debian/Ubuntu suele ser /etc/apache2/conf-available/security.conf, en RHEL/CentOS suele estar en /etc/httpd/conf/httpd.conf).

  2. Busca y modifica las siguientes directivas para que queden exactamente así:

Apache
ServerTokens ProductOnly
ServerSignature Off
  • ServerTokens ProductOnly: Hace que Apache solo responda Server: Apache en las cabeceras HTTP, eliminando el número de versión y el sistema operativo.

  • ServerSignature Off: Elimina la línea de pie de página que genera Apache en las páginas de error (como el típico error 404).

  1. Reinicia el servicio para aplicar los cambios:

Bash
sudo systemctl restart apache2 # O httpd en RHEL

2. PHP: Ocultar la cabecera X-Powered-By

PHP añade por defecto una cabecera en cada respuesta HTTP que dice algo como X-Powered-By: PHP/8.1.2. Puedes desactivarla directamente desde su archivo de configuración.

  1. Edita tu archivo php.ini (la ruta varía según la versión, por ejemplo: /etc/php/8.1/apache2/php.ini o /etc/php/8.1/fpm/php.ini).

  2. Busca la línea expose_php y cámbiala a Off:

Ini, TOML
expose_php = Off
  1. Reinicia tu servidor web o el servicio de PHP-FPM:

Bash
sudo systemctl restart apache2
# o si usas FPM: sudo systemctl restart php8.1-fpm

3. WordPress: Eliminar el Meta Generator y scripts

WordPress es bastante "chivato" por defecto. WhatWeb suele detectar su versión a través de la etiqueta meta generator en el HTML y por las cadenas de versión (?ver=x.x.x) añadidas al final de los archivos CSS y JavaScript.

Para eliminar estas firmas sin instalar plugins pesados, puedes añadir las siguientes líneas al final del archivo functions.php de tu tema activo (o usar un plugin de snippets de código):

PHP
<?php
// 1. Eliminar la etiqueta meta generator del HTML
remove_action('wp_head', 'wp_generator');

// 2. Eliminar las versiones de los archivos CSS y JS que carga WordPress
function quitar_version_css_js($src) {
    if (strpos($src, 'ver=' . get_bloginfo('version'))) {
        $src = remove_query_arg('ver', $src);
    }
    return $src;
}
add_filter('style_loader_src', 'quitar_version_css_js', 9999);
add_filter('script_loader_src', 'quitar_version_css_js', 9999);

⚠️ Un detalle importante: Aunque apliques estas medidas y logres que WhatWeb ya no muestre los números de versión, los atacantes avanzados o herramientas más intrusivas aún podrían deducir qué tecnologías usas analizando el comportamiento del servidor, las cookies (como PHPSESSID) o las rutas exclusivas de WordPress (como /wp-content/). Por ello, ocultar información es un gran complemento, pero nunca sustituye a mantener el software siempre actualizado.

https://www.onlinetis.com

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux