Whatweb es una herramienta desarrollada en Ruby que identifica sitios web. Su objetivo es responder a las preguntas:
- ¿De qué está hecha esta web?
- ¿Qué tecnologías utiliza esta web?
Whatweb es una herramienta de hacking que se encuadra dentro del subgrupo de fingerprinting o podríamos decir en castellano de identificación y recopilación de información sobre los objetivos a atacar. Es decir, si yo me planteo por ejemplo, atacar un sitio web para echarlo abajo, lo primero que tendré que hacer es recopilar información sobre ese objetivo para establecer una estrategia de ataque. En ese sentido, whatweb proporciona un montón de información sobre las tecnologías implementadas en el objetivo a atacar.
La página web oficial de la utilidad es:
https://morningstarsecurity.com/
Whatweb identifica las tecnologías presentes en el sitio web objetivo. Esto lo hace utilizando unas subrutinas llamadas plugins tal que cada una hace una cosa distinta y descubre una tecnología diferente. Actualmente hay 1827 plugins instalados.
Las tecnologías e información que puede descubrir Whatweb son, entre otras:
- IP
- versión PHP
- Subdominios
- Servidor HTTP
- País donde está alojada la web
- Título
- Versión de WordPress
- Foros
- Google Analitycs
- CMS
- Librería JavaScript
- Cookies
- Blogs
- Links
Y muchas mas.
La última versión en el momento de escribir este post es la 0.5.5. Existen versiones para Windows y android, pero esta herramienta donde de verdad se usa es en Linux. Está incluida por defecto en las distribuciones de Linux Parrot y Kali Linux.
Whatweb es una herramienta similar a Wappalyzer y hay autores que opinan que es mejor esta última, Wappalyzer.
La instalación de la última versión de Whatweb en Linux se hace de la siguiente manera:
sudo apt-get update
sudo apt-get -y install whatweb
Si queremos desinstalar Whatweb:
>sudo apt-get remove whatweb
Si queremos desinstalar whatweb con datos y configuraciones:
>sudo apt-get -y purge whatweb
Si queremos desinstalar whatweb con datos, configuraciones y todas las dependencias:
sudo apt-get -y autoremove --purge whatweb
Y esto os puede valer para cualquier paquete basado en Debian.
Una vez instalada si no la tenemos, podemos arrancar la aplicación, abriendo un terminal y tecleando: whatweb:
Como se puede ver es una herramienta del terminal y simplemente lo que sale es un pequeño manual con la sintaxis de las instrucciones, luego hay que conocer bien la herramienta y cómo funciona y qué es lo que hace para poder usarla, aún así como veremos el uso es muy sencillo y la propia herramienta nos enseña muchas cosas.
En los sistemas Linux, Parrot y Kali que tenemos instalados en nuestro laboratorio ya viene whatweb instalado y sólo hay que buscarlo en los correspondientes menús. No haría falta instalarlo. En post anteriores voy explicando como montar el laboratorio de aprendizaje que usamos en esta web.
Cuando instalamos un paquete en Linux, si es un Linux basado en Debian. es muy útil ir al sitio oficial de los paquetes Debian. Allí podemos ver una información de mucha utilidad sobre cómo está montado una aplicación en el sistema Linux. En el caso de Whatweb, visitaremos:
https://packages.debian.org/bullseye/all/whatweb/filelist
Y ahí podemos ver en qué carpetas del sistema Linux se instala la última versión de whatweb. Esto es muy útil en primer lugar porque debemos de saber siempre donde están instaladas las cosas que tenemos en nuestro sistema. Nosotros somos profesionales y no simples usuarios.
Y en el caso concreto de whatweb por lo siguiente. Si observáis, los plugins, que son las subrutinas que descubren las tecnologías de las webs que analizamos, están en la carpeta:
/usr/share/whatweb/plugins/
Los plugins en whatweb pueden utilizarse de forma individual o por agrupados por carpetas. Además de esos 1827 plugins existen otros 30 que se guardan en una carpeta llamada:
plugins-disabled
Estos plugins pueden ser interesantes pero no vienen en la versión 0.5.5 aunque si vienen en la versión 0.5.0
Esto plantea varios problemas, que no son propiamente de seguridad informática, pero sí de conocimiento del sistema Linux, que todo buen hacker debe de conocer como el padrenuestro
En primer lugar hay que hacerse con una versión 0.5.0. Pues no la hay en la página oficial. Solución, buscarla por internet. No ha sido fácil dar con ella pero la tengo disponible para su descarga aquí. Después hay que instalar esta versión en nuestro sistema Linux.
En nuestro caso lo que vamos a hacer, es copiar el archivo
en nuestra carpeta personal:
/home/juan/whatweb
previamente me he creado una carpeta que se llama whatweb
copio allí el archivo: WhatWeb-0.5.0.tar.gz
Y una vez copiado, me sitúo en el, botón derecho y selecciono: «extraer aquí», lo cual me genera la carpeta:
/home/juan/whatweb/WhatWeb-0.5.0
Si entro en dicha carpeta, observo que existe una carpeta que se llama:
plugins-disabled
que es la que yo quiero añadir a los plugins de la última versión que ya tengo instalada en el Parrot o en el Kali. Y esto es tan fácil como copiar esa carpeta al sitio donde está instalado la versión última, en este caso la 0.5.5, ¿y donde está instalada esa versión?, pues como hemos visto en la página:
https://packages.debian.org/bullseye/all/whatweb/filelist
los plugins están instalados en las carpetas:
/usr/share/whatweb/my-plugins/
/usr/share/whatweb/plugins/
/usr/share/whatweb/plugins-disabled/
En my-plugins tenemos los plugins que nosotros mismos podemos crear. En plugins, tenemos los plugins actualmente vigentes en la versión instalada, y en plugins-disabled, tenemos la carpeta de plugins de la versión 0.5.0 que acabo de copiar.
Fijaros que todo este rollo no viene en ningún sitio de internet, y sin embargo es imprescindible para conocer bien la herramienta que vamos a utilizar. No presupone saber nada de hacking, pero sí de manejo del sistema Linux.
Como acabo de decir, efectivamente es posible construirnos nuestros propios plugins, si sabemos programar en Ruby y tenemos una guía de cómo hacerlo. El sitio de referencia para saber cómo hacer esto y que además tienen ejemplos es:
https://github.com/urbanadventurer/WhatWeb/wiki/How-to-develop-WhatWeb-plugins
Ahora que ya tenemos todo listo, y que sabemos como instalar el aplicativo, dónde están situados los ficheros, como brujuleamos con las versiones, etc, llega la fase de utilizar esta herramienta para detectar o descubrir las tecnologías empleadas en una web.
Por lo que he podido ver de esta herramienta, tienen 2 posibles usos. Uno muy sencillo, pero muy rápido y eficaz que hace exactamente lo que buscamos: descubrir las tecnologías de una web. Desde nuestra máquina atacante Linux Parrot, abrimos un terminal y tecleamos:
whatweb -a 1 +plugins-disabled lamasiadechencho.com
Esto nos dará el resultado que queremos utilizando los plugins de la versión 0.5.
Si queremos utilizar todos los plugins de la última versión instalada, teclearemos:
whatweb -a 1 lamasiadechencho.com
Como siempre podemos llevarnos el resultado a un fichero de texto:
whatweb -a 1 lamasiadechencho.com>resultado.txt
Y finalmente, podemos hacer un uso mucho mas avanzado de esta utilidad. Las posibilidades son inmensas, y para ver unos ejemplos de esas posibilidades y después de buscar mucho por internet, la mejor web es:
https://hacksheets.in/all-categories/web-application-main/whatweb/
Por ejemplo se pueden hacer descubrimientos de subdominios, de captcha, de vulnerabilidades, etc. Es cuestión de ir probando. La verdad es que no hay una documentación muy extensa ni muchos ejemplos operativos.