Conoce WhatWeb!
Cuando hablamos de Ciberseguridad, tocamos muchos temas de referencia, uno de ellos es la importancia de conocer y proteger nuestra infraestructura, nuestros servicios que ofrecemos y para ello debemos conocer toda la información posible de nuestras tecnologías.
Sitio web: https://morningstarsecurity.com/research/whatweb
WhatWeb
Esta herramienta nos permite identificar un sitio web, ya que su objetivo es responder una pregunta en concreto “que es este sitio web”, esto significa que nos ayuda a reconocer que tecnologías esta utilizando un sitio web incluyendo diferentes tipos de CMS, bibliotecas de JavaScript, y en general tiene mas de 1800 plugins integrados para realizar todo este procedimiento de obtener información de un sitio web
SELECCIÓN DE OBJETIVOS
<TARGETs> Ingrese URLs, nombres de host, direcciones IP, nombres de archivo o
rangos de IP en formato CIDR, x.x.x-x, o x.x.x.x-x.x.x.x.
--input-file=FILE, -i Leer objetivos de un archivo. Puedes pasar nombres de host o URLs
directamente con -i /dev/stdin.
MODIFICACIÓN DE OBJETIVOS
--url-prefix Agregar un prefijo a las URLs objetivo.
--url-suffix Agregar un sufijo a las URLs objetivo.
--url-pattern Insertar los objetivos en una URL.
e.g. example.com/%insert%/robots.txt
AGRESIÓN
El nivel de agresión controla el equilibrio entre velocidad/discreción y
fiabilidad.
--aggression, -a=LEVEL Establecer el nivel de agresión. Predeterminado: 1.
1. Stealthy Hace una solicitud HTTP por objetivo y también
sigue redireccionamientos.
3. Aggressive Si un plugin de nivel 1 es detectado, se harán
solicitudes adicionales.
4. Heavy Hace muchas solicitudes HTTP por objetivo. Se intentan
URLs de todos los plugins.
OPCIONES HTTP
--user-agent, -U=AGENT Identificarse como AGENT en lugar de WhatWeb/0.5.5.
--header, -H Agregar un encabezado HTTP. ej. "Foo:Bar". Especificar un
encabezado predeterminado lo reemplazará. Especificar un
valor vacío, ej. "User-Agent:" lo eliminará.
--follow-redirect=WHEN Controlar cuándo seguir redireccionamientos. WHEN puede ser
`never', `http-only', `meta-only', `same-site', o `always'.
Predeterminado: always.
--max-redirects=NUM Número máximo de redireccionamientos. Predeterminado: 10.
AUTENTICACIÓN
--user, -u=<user:password> Autenticación básica HTTP.
--cookie, -c=COOKIES Usar cookies, ej. 'name=value; name2=value2'.
--cookie-jar=FILE Leer cookies de un archivo.
PROXY
--proxy <hostname[:port]> Establecer el nombre de host y puerto del proxy.
Predeterminado: 8080.
--proxy-user <username:password> Establecer el usuario y la contraseña del proxy.
PLUGINS
--list-plugins, -l Listar todos los plugins.
--info-plugins, -I=[SEARCH] Listar todos los plugins con información detallada.
Opcionalmente buscar con palabras clave en una lista separada por comas.
--search-plugins=STRING Buscar plugins por una palabra clave.
--plugins, -p=LIST Seleccionar plugins. LIST es un conjunto separado por comas
de plugins seleccionados. El predeterminado es todos.
Cada elemento puede ser un directorio, archivo o nombre de plugin
y puede tener opcionalmente un modificador, +/-.
Ejemplos: +/tmp/moo.rb,+/tmp/foo.rb
title,md5,+./plugins-disabled/
./plugins-disabled,-md5
-p + es un atajo para -p +plugins-disabled.
--grep, -g=STRING|REGEXP Buscar STRING o una Expresión Regular. Muestra
solo los resultados que coinciden.
Ejemplos: --grep "hello"
--grep "/he[l]*o/"
--custom-plugin=DEFINITION Definir un plugin personalizado llamado Custom-Plugin,
Ejemplos: ":text=>'powered by abc'"
":version=>/powered[ ]?by ab[0-9]/"
":ghdb=>'intitle:abc \"powered by abc\"'"
":md5=>'8666257030b94d3bdb46e05945f60b42'"
"{:text=>'powered by abc'}"
--dorks=PLUGIN Listar Google dorks para el plugin seleccionado.
SALIDA (OUTPUT)
--verbose, -v La salida detallada incluye descripciones de plugins.
Usar dos veces para depuración.
--colour,--color=WHEN Controlar si se usa color. WHEN puede ser
`never', `always', o `auto'.
--quiet, -q No mostrar el registro breve en STDOUT.
--no-errors Suprimir mensajes de error.
LOG (REGISTRO)
--log-brief=FILE Registrar salida breve, de una línea.
--log-verbose=FILE Registrar salida detallada.
--log-errors=FILE Registrar errores.
--log-xml=FILE Registrar en formato XML.
--log-json=FILE Registrar en formato JSON.
--log-sql=FILE Registrar sentencias SQL INSERT.
--log-sql-create=FILE Crear tablas de base de datos SQL.
--log-json-verbose=FILE Registrar en formato JSON Detallado.
--log-magictree=FILE Registrar en formato XML de MagicTree.
--log-object=FILE Registrar inspección de objetos Ruby.
--log-mongo-database Nombre de la base de datos MongoDB.
--log-mongo-collection Nombre de la colección MongoDB.
Predeterminado: whatweb.
--log-mongo-host Nombre de host o dirección IP de MongoDB.
Predeterminado: 0.0.0.0.
--log-mongo-username Nombre de usuario de MongoDB. Predeterminado: nil.
--log-mongo-password Contraseña de MongoDB. Predeterminado: nil.
--log-elastic-index Nombre del índice para almacenar resultados. Predeterminado: whatweb
--log-elastic-host Host:puerto de la interfaz http de Elasticsearch. Predeterminado: 127.0.0.1:9200
RENDIMIENTO Y ESTABILIDAD
--max-threads, -t Número de hilos simultáneos. Predeterminado: 25.
--open-timeout Tiempo en segundos. Predeterminado: 15.
--read-timeout Tiempo en segundos. Predeterminado: 30.
--wait=SECONDS Esperar SECONDS entre conexiones.
Esto es útil cuando se usa un solo hilo.
AYUDA Y VARIOS
--short-help Ayuda de uso breve.
--help, -h Ayuda de uso completa.
--debug Elevar errores en plugins.
--version Mostrar información de la versión.
Ejemplos prácticos
Los siguientes ejemplos que se muestran algunos ejemplos con fines educativos:
Escaneo simple
Escanear usando una lista
Usar módulos específicos
Tener un registro en formato JSON
Conclusiones
WhatWeb es una herramienta esencial para identificar las tecnologías utilizadas en sitios web. Su capacidad para detectar CMS, servidores web y bibliotecas JavaScript, junto con su extensibilidad mediante plugins, la hace imprescindible para profesionales de la seguridad y administradores de sistemas.
WhatWeb permite realizar análisis rápidos y detallados, mejorando la comprensión de la infraestructura tecnológica y facilitando la auditoría de seguridad y el reconocimiento web.