Ciberseguridad y hacking con Whatweb
WhatWeb es una herramienta de código abierto para realizar fingerprinting o huella digital de sitios web. Su principal función es identificar las tecnologías, aplicaciones, servidores y otras configuraciones que se utilizan en una página web. Es muy popular en el ámbito de la ciberseguridad, especialmente en la fase de reconocimiento de una auditoría de seguridad o un test de penetración.
¿Cómo funciona WhatWeb?
WhatWeb opera analizando una página web en busca de "firmas" o patrones que revelan la tecnología subyacente. En lugar de ser un escáner de vulnerabilidades completo, se centra en la recopilación de información.
Para ello, examina diversos elementos del sitio web, incluyendo:
Encabezados HTTP: Analiza las respuestas del servidor para identificar el tipo de servidor web (como Apache o Nginx), el lenguaje de programación (PHP, ASP.NET), o la versión.
Código HTML y JavaScript: Busca cadenas de texto, nombres de archivos, comentarios o scripts específicos que son característicos de ciertos CMS, frameworks, o bibliotecas.
Archivos y rutas: Detecta la presencia de archivos comunes como
wp-content
(WordPress) ojoomla.xml
(Joomla), lo que le permite identificar el sistema de gestión de contenido.Errores y configuraciones: Puede detectar versiones obsoletas de software, configuraciones inseguras u otros detalles que son valiosos para un analista de seguridad.
WhatWeb cuenta con más de 900 plugins que le permiten reconocer una amplia variedad de tecnologías, lo que lo hace más preciso y completo que otras herramientas similares.
¿Para qué se utiliza WhatWeb?
La información que WhatWeb recopila es fundamental para varias tareas en el campo de la seguridad informática y la gestión de infraestructuras web:
Auditorías de seguridad: Los pentesters utilizan WhatWeb para obtener una visión inicial del entorno web. Al conocer las tecnologías en uso, pueden enfocar sus pruebas de seguridad en vulnerabilidades conocidas de esas tecnologías específicas. Por ejemplo, si WhatWeb detecta que un sitio usa una versión antigua de WordPress, el analista puede investigar si esa versión tiene fallas de seguridad publicadas.
Análisis de infraestructura: Ayuda a los administradores de sistemas a identificar rápidamente qué tecnologías están corriendo en sus servidores, lo que es útil para el mantenimiento, las actualizaciones y la planificación.
Recopilación de información (Information Gathering): Es una herramienta clave en la fase inicial de reconocimiento de cualquier test de intrusión. Su capacidad para escanear múltiples sitios a la vez y su naturaleza de código abierto la convierten en una opción versátil para profesionales de la ciberseguridad.
WhatWeb es una herramienta de línea de comandos, por lo que su uso se basa en ejecutar comandos en un terminal. Aquí tienes una guía sobre cómo utilizarlo, desde lo más básico hasta ejemplos más avanzados.
1. Sintaxis Básica
La sintaxis más simple para usar WhatWeb es:
Bashwhatweb [URL]
Simplemente reemplaza
[URL]
con la dirección del sitio web que deseas escanear.Ejemplo:
Bashwhatweb https://www.ejemplo.com
Salida esperada:
La salida de este comando te mostrará una lista de tecnologías detectadas en el sitio, como el servidor web (Nginx, Apache), el CMS (WordPress, Joomla), el framework de JavaScript (jQuery, React), y más.
2. Opciones y Comandos Comunes
WhatWeb tiene muchas opciones para ajustar el escaneo. Aquí están algunas de las más útiles:
Aumentar el nivel de detalle (
-v
)La opción
-v
(verbose) te proporciona una salida más detallada, incluyendo descripciones de los plugins y las versiones detectadas.Bashwhatweb -v https://www.ejemplo.com
Escanear múltiples sitios
Puedes escanear varios sitios a la vez simplemente separando las URLs con un espacio.
Bashwhatweb https://www.ejemplo1.com https://www.ejemplo2.com
Escanear desde un archivo de texto (
-i
)Si tienes una larga lista de sitios para escanear, puedes guardarlos en un archivo de texto (una URL por línea) y usar la opción
-i
.Bash# contenido de targets.txt # https://www.ejemplo.com # https://www.sitio-web.org # http://192.168.1.10 whatweb -i targets.txt
Ajustar la agresividad (
-a
)El nivel de agresividad controla el número de peticiones HTTP que WhatWeb realiza por sitio. Un nivel de agresividad más alto puede detectar más información, pero también es más "ruidoso" y podría ser detectado por sistemas de seguridad.
whatweb -a 1
: Nivel por defecto, realiza una sola petición HTTP.whatweb -a 3
: Nivel agresivo, puede realizar varias peticiones para obtener más información.
Bashwhatweb -a 3 https://www.ejemplo.com
Seleccionar plugins específicos (
-p
)WhatWeb tiene cientos de plugins para detectar tecnologías específicas. Si solo te interesa saber si un sitio utiliza WordPress, puedes usar la opción
-p
para buscar ese plugin en particular.Bashwhatweb -p wordpress https://www.ejemplo.com
También puedes listar todos los plugins disponibles con el siguiente comando:
Bashwhatweb --list-plugins
Usar un proxy (
--proxy
)Si quieres ocultar tu dirección IP o enrutar el tráfico a través de un servidor proxy, usa la opción
--proxy
.Bashwhatweb --proxy http://127.0.0.1:8080 https://www.ejemplo.com
3. Consideraciones Importantes
Responsabilidad Ética: Utiliza WhatWeb de forma responsable y ética. No escanees sitios web sin el permiso expreso del propietario. El escaneo de sitios sin autorización puede ser ilegal en muchas jurisdicciones.
Instalación: WhatWeb suele venir preinstalado en distribuciones de seguridad como Kali Linux. Si no lo tienes, puedes instalarlo a través del gestor de paquetes de tu sistema operativo (por ejemplo,
sudo apt install whatweb
en Debian/Ubuntu).Documentación: Para una lista completa de todas las opciones, siempre puedes consultar el manual de WhatWeb en tu terminal:
Bashwhatweb --help